Assembly 比较两个整数并尝试在0x00400058处执行非指令

Assembly 比较两个整数并尝试在0x00400058处执行非指令,assembly,integer,compare,mips,Assembly,Integer,Compare,Mips,我有一个家庭作业问题,比较两个整数,并根据结果进行按摩 但我一直试图在0x00400058消息中执行非指令 .data msg1:.asciiz "Give me the first number:" msg2:.asciiz "Give me the second number:" msg3:.asciiz "The grater number is:" msg4:.asciiz "The smaller number is:" msg5:.asciiz "The two numbers ar

我有一个家庭作业问题,比较两个整数,并根据结果进行按摩

但我一直试图在0x00400058消息中执行非指令

.data
msg1:.asciiz "Give me the first number:"
msg2:.asciiz "Give me the second number:"
msg3:.asciiz "The grater number is:"
msg4:.asciiz "The smaller number is:"
msg5:.asciiz "The two numbers are equal"
msg6:.asciiz "The two numbers are not equal"


.text
.globl main
main:
li $v0,4
la $a0,msg1 
syscall


li $v0,5
syscall
move $t2,$v0


li $v0,4
la $a0,msg2
syscall


li $v0,5
syscall
move $t3,$v0


beq $t2,$t3,numbersEqual
bge $t2,$t3,number1isBigger
bge $t3,$t2,number2isBigger

numbersEqual:
li $v0,4
la $a0,msg5
syscall

move $v0,$t2
li $v0,1
syscall

li $v0,4
la $a0,msg4
syscall

move $v0,$t3
li $v0,1
syscall

nop

number1isBigger:
li $v0,4
la $a0,msg6
syscall

li $v0,4
la $a0,msg3
syscall
move $v0,$t2


li $v0,1
syscall


li $v0,4
la $a0,msg4
syscall
move $v0,$t3


li $v0,1
syscall

nop


number2isBigger:

li $v0,4
la $a0,msg6
syscall

li $v0,4
la $a0,msg3
syscall
move $v0,$t3


li $v0,1
syscall


li $v0,4
la $a0,msg4
syscall
move $v0,$t2


li $v0,1
syscall
nop

exit:
    li      $v0, 10              # syscall 10 terminates program 
    syscall

您为什么体系结构和操作系统编程?无法复制。我看不到QtSPIM或MARS中描述的行为。
nop
的目的是什么(然后进入下一个案例)?也许可以尝试退出。