모음의 수를 MIPS 단위로 계산하는 프로그램을 작성해야합니다. 현재 코드가 QtSPim에서 한계를 벗어난 메모리를 제공합니다. MIPS의 초급 단계에 있으므로 도움이 될 것입니다. 지금까지 코드 : 게시 된 코드가 없는지 등을 라벨을 가지고 있기 때문에주어진 문자열에서 모음 수 찾기 MIPS
이.data
str: .space 20
my_chars: .space 20
vow1: .byte 'a'
vow2: .byte 'e'
vow3: .byte 'i'
vow4: .byte 'o'
vow5: .byte 'u'
.text
main:
li $s0,0 #initilaze loop var1
li $t0,20 #initialize loop var2
li $s1,0 #initialize counter
la $t1, my_chars # base address of array
li $a1,20 #max input to be read
li $a0,8
syscall
loop:
beq $s0, $t0, exit
la $t2, str #string into t2
lb $v0, 0($t2) #access first index
lb $t9, vow1
beq $v0, $t9, then #comparing to a
then:
addi $s1, $s1, 1
lb $t8, vow2
beq $v0, $t8, then1 #comparing to e
then1:
addi $s1, $s1, 1
lb $t7, vow3
beq $v0, $t7, then2 #comparing to i
then2:
addi $s1, $s1, 1
lb $t6, vow4
beq $v0, $t6, then3 #comparing to o
then3:
addi $s1, $s1, 1
lb $t5, vow5
beq $v0, $t5, then4 #comparing to u
then4:
addi $s1, $s1, 1
addi $t1, $t1,1 #increment base address
addi $s0, $s0,1 #increment loop variable
j L1
syscall
: 이것은 또한 필요한 레지스터의 수는
내가 [무상 스타일의 정리를 용서하십시오] 누락 된 상용구/콜을 추가 (즉, 복잡성 감소) 감소 , 그리고 오류가 참조하는 코드 행. – Michael메시지를 볼 수있는 범위 밖의 메시지를 표시합니다. –
내가 말했듯이 ** 정확한 **, ** 완료 ** 메시지를 게시하고 오류 메시지가 표시된 코드 줄을 지적해야합니다 을 참고하여. – Michael