我试图找出以下代码:
.data
strInput: .space 50
strFOO: .asciiz "foo\n"
strAskInput: .asciiz "input your testable string: "
.text
li $v0, 4
la $a0, strAskInput
syscall
li $v0, 8
la $a0, strInput
li $a1, 50
syscall
la $a0, strFOO
li $a1, 50
la $a0, strInput
la $a1, strFOO
....rest of code
基本上,用户输入一个字符串,然后在其余代码中用字符串Foo检查。
我不明白的是,这段代码会用字符串foo覆盖$ a0(我们输入的字符串),但稍后会把它带回来(整个代码都有效)并正确检查它!
另外,将立即数50加载到$ a1有什么用?
答案 0 :(得分:3)
br
不包含输入的字符串;它包含系统调用写入字符串的地址。而且,正如@Jester评论的那样,wpautop
是为该字符串留出的空间长度。