간단한 반복 예/아니오 반복문 입력을 읽지 않고 반복 또는 끝내기로 결정하는 이유를 모르겠습니다. 여기 내 코드가 도움이 될 것입니다!MIPS 어셈블리 (MARS)
.data
again:
.asciiz "Again (y or n)? "
answer:
.asciiz " "
.text
.globl main
main:
li $v0, 4
la $a0, again
syscall
la $s4, answer
jal get
beq $v0, 'y', main
beq $v0, 'Y', main
li $v0, 10
syscall
get:
li $v0, 12
li $a1, 2
syscall
jr $ra
MARS에 익숙하지 않지만 'sw $ v0, ($ s4)'는 $ v0에 실제로 문자가 포함되고 _pointer_가 아닌 문자가 포함되어 있습니까? 나는 당신이'대답'에 그 캐릭터를 저장하기 위해'LB' /'SB'를 할 필요가 있다고 생각합니다. –
sw $ v0, ($ s4) ==> 단어 저장 : 유효 단어 메모리 주소에 $ v0 내용 저장 – user2989270
예,하지만 실제로 '답변'에 입력 된 'Y'에 _pointer_를 저장 하시겠습니까? 나중에 캐릭터로 읽으려고하는 것 같습니다. syscall'read string'이 첫 번째 문자의 값이 아니라 문자열에 대한 포인터를 반환한다고 가정합니다. –