2013-05-20 129 views
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 

對不起,我的語言不好,感謝您的幫忙!

+0

能否請您顯示輸出和系統的詳細信息 – Deepu

+0

它的輸出:「Podaj pierwsza liczbe:Podaj druga liczbe:Wiekszažtych liczb開玩笑liczba - 程序完成運行 - 「我有一個WIN XP,我使用MARS 4.3運行.asm文件。 – user2316721

回答

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