Question: I am failing to understand why this mips assembly code is not working. I am using qtspim to run this code and when I try

I am failing to understand why this mips assembly code is not working. I am using qtspim to run this code and when I try to load it qtspim simply stops responding.

.globl main

.data

Name:

.ascii russelltessier .text

lui $sp 0x80000000 #initialize the stack pointer

main:

addiu $sp,$sp,-48

sw $31,44($sp)

sw $fp,40($sp)

move $fp,$sp

li $2,15 # 0xf

sw $2,32($fp)

sw $0,24($fp)

sw $0,28($fp)

$L5:

lw $3,28($fp)

lw $2,32($fp)

nop

slt $2,$3,$2

beq $2,$0,$L4

nop

lui $2,%hi(Name)

addiu $3,$2,%lo(Name)

lw $2,28($fp)

nop

addu $2,$3,$2

lb $2,0($2)

nop

move $4,$2

jal GetNumber(char)

nop

sw $2,36($fp)

lw $3,24($fp)

lw $2,36($fp)

nop

addu $2,$3,$2

sw $2,24($fp)

lw $2,28($fp)

nop

addiu $2,$2,1

sw $2,28($fp)

b $L5

nop

$L4:

lw $2,24($fp)

move $sp,$fp

lw $31,44($sp)

lw $fp,40($sp)

addiu $sp,$sp,48

j $31

nop

GetNumber(char):

addiu $sp,$sp,-24

sw $fp,20($sp)

move $fp,$sp

move $2,$4

sb $2,24($fp)

lb $2,24($fp)

nop

addiu $2,$2,-96

sw $2,8($fp)

lw $2,8($fp)

move $sp,$fp

lw $fp,20($sp)

addiu $sp,$sp,24

j $31

nop

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!