【发布时间】:2015-12-02 21:50:20
【问题描述】:
如何在不硬编码 $t0 的值的情况下循环直到文件结尾
addi $t0, $t0,1000
loop: beq $t0, $0, loopend
#this code reads in a character from the file
jal readchar
#print the character to the console
li $v0,11
move $a0,$t1
syscall
addi $t0,$t0,-1
j loop
loopend:
readchar: li $v0,14
move $a0,$s6
la $a1,inchar
li $a2,1
syscall
lb $t1,inchar
jr $ra
因为当我使用 $a2 时它不起作用,但这里显示 http://courses.missouristate.edu/kenvollmar/mars/help/syscallhelp.html
那个 从文件中读取
li $v0,14
$a0 = 文件描述符
$a1 = 输入缓冲区的地址
$a2 = 要读取的最大字符数 $v0 包含的字符数
当我用它代替硬编码时 ($ addi $t0, $t0,1000) $a2 仍然是 0
li $v0,14
move $t0,$a2
sycall
谢谢!
【问题讨论】:
标签: assembly mips mars-simulator