1

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

言葉遣いが悪くて申し訳ありません。助けてくれてありがとう!

4

1 に答える 1

2

文字列を null で終了しません。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.

これを読んでください。

したがって、コードは次のようになります。

.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
于 2013-05-20T12:10:06.420 に答える