0

私は、デフォルトの単語 (この場合、単語は「esame」) が「Esame: Programma di riconoscimento parole, realizzato per l'esame orale di calcolatoriエレトロニチ」。

コードは次のとおりです。

.data                   # 0x10000000 (indirizzo di partenza)

frase:  .asciiz "Esame: Programma di riconoscimento parole, realizzato per l'esame orale di calcolatori elettronici"
param:  .asciiz "esame"
out1:   .asciiz "Programma per il riconoscimento di una parola in una frase \n\n"
out2:   .asciiz "La parola inserita come parametro appare "
out3:   .asciiz " volta/e \n"

.text                    # 0x00400000 (indirizzo di partenza)

la $s0, frase            
la $s1, param           
li $t0, 0x20             # backspace              
li $t8, 0x27             # apostrophe
add $s5, $zero, $zero    

li $v0, 4               
syscall 
la $a0, out1            
syscall                  

car1:   
lbu $t1, 0($s0)          
lbu $t2, 0($s1)         
ori $t1, $t1, 0x20       
ori $t2, $t2, 0x20       
beq $t1, $t2, ok         
bne $t1, $t2, dive       

ok: 
addi $s0, $s0, 1         
addi $s1, $s1, 1         
lbu $t1, 0($s0)          
lbu $t2, 0($s1)          
beq $t1, $zero, stamp    
ori $t1, $t1, 0x20       
beq $t2, $zero, ctrl     
ori $t2, $t2, 0x20       

ctrl:   
beq $t1, $t2, ok        
beq $t1, $t0, risul     
bgt $t1, 0x7a, risul     
blt $t1, 0x61, risul     
bne $t1, $t2, dive       
#beq $t1, $zero, stamp

dive:   
addi $s0, $s0, 1        
lbu $t1, 0($s0)          
beq $t1, $t0, nuova      
beq $t1, $zero, stamp    
beq $t1, $t8, nuova      
j dive                  

nuova:  
la $s1, param            
addi $s0, $s0, 1          
#beq $s0, $s1, stamp     
j car1                   

risul:  
addi $s5, $s5, 1        
j nuova                 

stamp:  
li $v0, 4                
la $a0, out2             
syscall                  

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

li $v0, 4                
la $a0, out3            
syscall                  

j fine                   

fine:   
j fine  

この場合、「えさめ」という単語が文中に 2 回出てきます。ここで、次のようなコントロールを追加したいと思います。デフォルトの単語が es'ame または esame' のようにアポストロフィで形成されている場合、この単語はカウントされません。この 2 番目のケースでは、「esame」という単語は文中に 1 回だけ表示されます。このコントロールを実装するには、どのような指示を書く必要がありますか? ありがとうございました。

4

0 に答える 0