mips - Syscall print int -
i wondering why doesn't work:
print integer: li $v0, 1 li, $a0, $v0 #with $v0 being added value syscall but, works:
print integer: li $v0, 1 li, $a0, 100 syscall is there register can use print integer has been altered algorithm? thought $v0 register stores returns.
first of all, you've got syntax error here:
li, $a0, $v0 there should no comma after li.
secondly, purpose of li pseudo-instruction load immediates (e.g. 1, 0x42, or 12345). if want move (copy) contents of 1 register another, use move (as in move $a0, $v0).
and finally, assigned $v0 value 1 on first line of code, if correctly said move $a0, $v0 you'd $a0 = 1. if want previous value of $v0 have move $a0, $v0 before li $v0, 1.
Comments
Post a Comment