2013-05-20 1 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

출력과 시스템을 보여 주 시겠어요 liczba Wieksza Z의 tych의 liczb의 농담 - 프로그램입니다 "나는 승리 한 xp를 가지고 있고 나는 .asm 파일을 실행하기 위해 MARS 4.3을 사용한다. – user2316721

답변

2

문자열을 Null 종료하지 않습니다. ascii 대신 asciiz을 사용하십시오.

.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을 읽으십시오.

그래서, 코드가된다 "Podaj pierwsza liczbe : Podaj druga liczbe :

.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