MIPS程序集,在字符串中找到字母

时间:2018-03-22 07:33:11

标签: assembly mips

我写了这个程序,找到字母'a','e','i','o'和'u'。写beq $ a0,0x61,...找到字母'a'或者我必须使用beq $ a0,'a',....?

是正确的

另外,我怎样才能找到'à'或'è'?

这是我的程序

.text
.globl main
main:
la $a0, richiesta
li $v0, 4
syscall

la $a0, STRINGA
li $v0,8
syscall

li $s0,0
#la $t0, STRINGA

li $t1, 0               

loop:   lb $a0, STRINGA($t1)
beqz $a0, fine
jal vocale
add $s0,$s0,$v0

addi $t1,$t1,1
j loop

fine:   la $a0, risultato
li $v0, 4
syscall

li $v0,1
move $a0,$s0
syscall

la $a0, spazio
li $v0, 4
syscall

li $v0,10
syscall



vocale: li $v0,0
beq  $a0,0x61,trovata
beq  $a0,'e',trovata
beq  $a0,'i',trovata
beq $a0, 'o',trovata
beq $a0, 'u', trovata
beq  $a0,0xe8,trovata

jr $ra  #return
trovata:li $v0,1
jr $ra  #return



.data
STRINGA:                .space 255
richiesta:              .asciiz "Immetti una stringa: "
spazio:                 .asciiz "\n"
risultato:              .asciiz "\nNumero vocali stringa: "

0 个答案:

没有答案