Advertisement
nRikee

Canvia un caracter de una cadena de caracter | MIPS R2000

Oct 22nd, 2012
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .data 0x10000000
  2.     impr: .asciiz "Caracter a canviar:"
  3.     impr2: .asciiz "Cadena a analitzar:"
  4.     cadena: .space 100
  5.     cadena1: .space 100
  6.    
  7. .globl __start
  8. .text 0x00400000
  9.  
  10. __start:
  11.     li $v0,4            # printf("%s",impr)
  12.     la $a0,impr         #
  13.     syscall             #
  14.    
  15.     li $v0,12           # scanf("%c",$s0)
  16.     syscall             #
  17.     add $t3,$zero,$v0       #
  18.    
  19.     li $v0,4            # printf("%s",impr2)
  20.     la $t0,impr2            #
  21.     add $a0,$zero,$t0       #
  22.     syscall             #
  23.    
  24.     li $v0,8            # scanf("%s",cadena)
  25.     la $a0,cadena           #
  26.     li $a1,79           # Maxim 79 caràcters
  27.     syscall             #
  28.     add $s0,$zero,$v0       #
  29.    
  30.     la $a0, cadena      # analitza(cadena)
  31.     add $a1,$zero,$t3   #
  32.     jal analitza        #
  33.    
  34.     li $v0,4                # printf("%s",cadena2)
  35.     la $a0,cadena1              #
  36.     syscall                 #
  37.    
  38.     li $v0,10               # exit()
  39.     syscall                 #
  40.    
  41. analitza:   add $a3,$zero,$a1   #
  42.         la $a0,cadena       #
  43.         la $a1,cadena1      #
  44.         li $a2,'*'      #
  45.            
  46.            
  47.     buc:    lbu $t0,0($a0)      # $t0=cadena[x];
  48.         beq $t0,$zero,final # if(cadena[x]==0) goto final;
  49.         beq $t0,$a3,dif     # if(cadena[x]!=caracter) goto dif;
  50.         sb $t0,0($a1)       # guarda '*' en la memòria
  51.     dif:    sb $a2,0($a1)       # guarda cadena[x] en la memòria
  52.     nog:    addi $a0,$a0,1      # Avança una posició en la cadena
  53.         addi $a1,$a1,1      # Avança una posició en la cadena1
  54.         j buc           # bucle
  55.            
  56.     final:  j $ra
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement