Advertisement
chete

practica1241451

Apr 3rd, 2014
380
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .data
  2. cadenainicio: .asciiz "Introduzca una Frase: "
  3. cadenafinal1: .asciiz "La Cadena tiene: "
  4. cadenafinal2: .asciiz "aes"
  5. a: .byte 'a'
  6.  
  7. #Reservamos 100 en memoria, VALE oC !?
  8. cadleida: .space 100
  9.  
  10. ###########################################
  11.  
  12. #1. Imprimir: "Introduzca..."
  13. .globl main
  14. .text
  15. main:
  16. li $v0, 4
  17. la $a0, cadenainicio
  18. syscall
  19.  
  20. #2. Pedir cadena y guardarla en zona de memoria => "cadleida"
  21. li $v0, 8
  22. la $a0, cadleida
  23. li $a1, 100
  24. syscall
  25.  
  26. #3. Llamar a función "contaraes" => 2 Parametros
  27. #   {1. el byte 'a' // 2. la direccion de cadleida.}
  28. lb $a2, a
  29. la $a0, cadleida
  30. li $a1, 0
  31.  
  32. jal contaraes
  33.  
  34. li $v0,4
  35. move $a0, cadenafinal2
  36. syscall
  37.  
  38.  
  39.  
  40.  
  41.  
  42. li $v0, 10
  43. syscall
  44.  
  45. contaraes:
  46.     li $t0,0 #guardar letra
  47.     li $t1, 0 #contador cadena
  48.    
  49.     bucle:
  50.         lb $t0, 0($a0)
  51.         beqz $t0,escero
  52.         beq $t0,$a1,contador
  53.         addi $a0, $a0,1
  54.     j bucle
  55.     contador:
  56.     addi $t1,$t1, 1
  57.     addi $a0,$a0, 1
  58.     j bucle
  59.     escero:
  60.     move $v0,$t1
  61.     jr $ra
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement