단순히 콘솔의 입력에서 문자열을 읽으려고합니다. xspim을 실행하고 있지만 가상 모드를 사용할 수없는 베어 모드로 실행해야합니다. 온라인에서 찾은 많은 것들이 의사 명령어로 수행하는 방법입니다. 내가 읽는 모든 문서에서 "la"명령어를 사용하여 $ a0에 문자열을 저장한다고했지만, 그 명령어는 사용할 수 없습니다. 나는 그 가르침이 번역되는 것에 대해 읽었고, 효과적으로 "lui"와 "ori"로 바뀌었다. 나를 던지고있는 부분은 첫 번째 데이터 위치 (항상 0x 1000 0000)와 문자열의 첫 번째 바이트 주소 사이의 바이트 수를 입력해야한다는 것입니다. 내 문자열의 첫 번째 바이트가 무엇인지 확실하지 않습니다. RISC 기계맨손으로 실행중인 MIPS에서 정적 데이터 주소를 얻는 방법 (의사 명령어 없음)
.globl main
.globl done
.globl convert
.data
prompt: .asciiz "Enter a decimal number, to quit type 'quit':" #45
result: .asciiz "The number you entered is " #72
input: .space 64
.text
convert:
main: addi $v0, $0, 4 #Print prompt to enter number
lui $a0, 0x1000 #Address of prompt
syscall #Display prompt
addi $v0, $0, 8 #Setting up syscall to read in string
lui $at, 4097
ori $a0, $at, input #Where I want my string to be stored
addi $a1, $0, 64 #How long my string will be
syscall #Syscall to read in string
스택 (입력 버퍼 용)을 사용하여 문제를 해결할 수 있습니다. –