我正在尝试在MIPS中打印一些字符串,但是当我尝试打印第一条消息时,程序会打印所有这些消息。
.data
first_msg: .ascii "Podaj pierwsza liczbe: "
second_msg: .ascii "Podaj druga liczbe: "
third_msg: .ascii "Wieksza z tych liczb jest liczba "
.text
main:
la $a0, first_msg
li $v0, 4
syscall
li $v0, 10
syscall
抱歉我的语言不好,谢谢你的帮助!
答案 0 :(得分:2)
您不会终止字符串。使用asciiz
代替ascii
。
.ascii str
Store the string in memory, but do not null-terminate it.
.asciiz str
Store the string in memory and null-terminate it.
阅读this。
因此,您的代码变为:
.data
first_msg: .asciiz "Podaj pierwsza liczbe: "
second_msg: .asciiz "Podaj druga liczbe: "
third_msg: .asciiz "Wieksza z tych liczb jest liczba "
.text
main:
la $a0, first_msg
li $v0, 4
syscall
li $v0, 10
syscall