MIPS:具有字符串输入设置或变量的内存地址的偏移量?

时间:2013-09-29 08:57:33

标签: memory mips offset

说我有以下内容从用户那里读取字符串:

li $v0,8        
syscall     
add $a0,$v0,$0      
sw $a0,8($s1)

如果$ s1将地址存储在分配的内存块的开头,那么8的偏移量偏移多少呢?它是32字节还是取决于我正在阅读的内容?例如,如果我正在读取每个1字节的字符,那么8实际上代表8个字节?

1 个答案:

答案 0 :(得分:0)

嗯,首先,你使用的是syscall错误。您可以在系统调用here上找到文档,但要解释一下,请将其更改为:

la $a0 buffer #where buffer is the address of a pre-allocated buffer
li $a1 30     #where 30 is the length of said buffer
li $v0 8
syscall #no more than 30 characters now in $a0

其次,关于你的问题,偏移总是以字节为单位。