[英]How to check if register is empty in MIPS assembly?
因此,我正在编写树遍历,将空的$ a0寄存器与$ zero进行比较后,代码将中断。
我不知道为什么,但是我想过,由于null只是0,将其与零进行比较不会给我带来错误
“尝试使用不存在的内存”顺便说一句,我正在递归地遍历。
这是我的代码片段
addi $sp, $sp, -16
sw $ra, 12($sp)
sw $s0, 8($sp) # $a0
sw $s1, 4($sp) # $a1
sw $s2, 0($sp) # $a2
pre:
beq $a0, $zero, done # If null done
move $s0, $a0 # Preserve $a0
jalr $a1 # Print
lw $a0, 4($s0) # Left Node
jal traverse_tree # Recursive call
lw $a0, 8($s0) # Right Node
jal pre # Recursive call
j done # Done
done:
lw $ra, 12($sp)
lw $s0, 8($sp)
lw $s1, 4($sp)
lw $s2, 0($sp)
addi $sp, $sp, 16
jr $ra
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.