과제에 대해 이름 배열과 해당 이름의 나이를 나타내는 정수 배열이 제공됩니다 (기본적으로 사전 또는지도). 우리는 사용자로부터 문자열을 읽어야하고, 그 이름이 배열에 있으면 그 사람을 나이로 인쇄합니다. Heres는 지금까지 무엇을 :MIPS : 문자열 배열의 요소에 액세스하여 비교하기
.data
names: .asciiz "steve","john","chelsea","julia","ryan"
ages: .byte 20,25,22,21,23
out1: .asciiz "Please enter a name:"
out2: .asciiz "Age is: "
notfound: .asciiz "Not found!"
input: .asciiz
.text
li $v0, 4
la $a0, out1
syscall #prompts user for name
li $v0, 8
la $a0, input
li $a1, 20
syscall #Reads a name into address "input"
CheckNames: #needs to compare the input string with each element of "names" array and return 1 if they match
la $t0, (names)
la $t1, (input)
beq $t1, $t0, printAge
printAge:
내 CheckNames 기능이 잘못 실현,하지만 난 사용할 수 있기 때문에 각각의 이름이 (크기가 다른 경우 나는 이름의 배열을 반복하는 방법을 모른다
이 답변보기 : http://stackoverflow.com/a/26045398/583570 – markgz