在用MIPS汇编语言进行编程的时候,有时候需要将ascii码转成整数进行操作,比如读取命令行参数的时候。这里给大家提供一个现成的函数供大家使用。
上代码!
toInt: li $t1, 0 #t1:offset, t2:true address, t3:10
li $t3, 10
li $t5, 0 #the sum
li $t6, 0 #the flag of positive
lb $t4, ($t0)
bne $t4, '-', positive
li $t6, 1 #the flag of negative
addi $t1, $t1, 1 #update the offset
add $t2, $t1, $t0 #get true address
lb $t4, ($t2)
positive: addi $t4, $t4, -48 #get the number in int
mult $t5, $t3
mflo $t5 #t5 = t5*10
add $t5, $t5, $t4
addi $t1, $t1, 1 #update the offset
add $t2, $t1, $t0 #get true address
lb $t4, ($t2)
bnez $t4, positive
nop
beqz $t6, saveInt