尝试在汇编程序中打印字符串

时间:2013-05-20 11:52:55

标签: string assembly mips

我正在尝试在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

抱歉我的语言不好,谢谢你的帮助!

1 个答案:

答案 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