Bienvenido: Ingresar
location: attachment:comp_cadenas_confuncion.s de WebHome/ClasesPracticas

Adjunto 'comp_cadenas_confuncion.s'

Descargar

   1 .arm
   2 .global _start
   3 _start:
   4         b reset
   5         b loop
   6         b loop
   7         b loop
   8         b loop
   9         nop
  10         b loop
  11         b loop
  12 
  13 /* ==============================
  14 *  TEST CODE
  15 *  leer 2 cadenas de texto, devolver en r0 = 1 iguales r0 = 0 distintas
  16 *  ==============================
  17 */
  18 reset:
  19         ldr sp,=STACK
  20 
  21         ldr r0,=VECT1
  22         ldr r1,=VECT2
  23         mov r4, #4
  24         mov r5, #5
  25         mov r6, #6
  26         bl comparar
  27 
  28         cmp r0,#1 
  29         beq iguales 
  30               
  31 iguales:
  32 
  33 loop:   b loop
  34         
  35         .ltorg
  36 
  37 /* ----------------------------------------------------------------------------*/
  38 /* comparar dos cadenas en r1 y r2 terminación nula */
  39 /* ----------------------------------------------------------------------------*/
  40 comparar:
  41 /*
  42         stmdb sp!,{r4,r5,r6,lr}
  43         stmfd sp!,{r4,r5,r6,lr}
  44 */
  45         push {r4,r5,r6,lr}
  46         mov r5,r0
  47         mov r6,r1
  48         ldr r0,=0xffff
  49         
  50 otro:   ldrb r0,[r5],#1
  51         bl amayuscula
  52         mov r4,r0
  53 
  54         ldrb r0,[r6],#1
  55         bl amayuscula
  56         
  57         cmp r0,r4
  58         bne comparar_noigual
  59 
  60         cmp r0,#0
  61         bne otro 
  62         mov r0,#1 /* igual */
  63         b comparar_salir
  64 comparar_noigual:
  65         mov r0,#0 /* distinto */
  66 comparar_salir:
  67 /*
  68         ldmfd sp!,{r4,r5,r6,lr}
  69         ldmia sp!,{r4,r5,r6,lr} 
  70 */
  71         pop {r4,r5,r6,lr}
  72         mov pc,lr
  73 .ltorg
  74 /* fin función */
  75 
  76 /* ----------------------------------------------------------------------------*/
  77 /* cambiar a mayúscula */
  78 /* ----------------------------------------------------------------------------*/
  79 amayuscula:  
  80         cmp r0,#'a'
  81         blo amayuscula_no
  82         cmp r0,#'z'
  83         bhi amayuscula_no
  84         sub r0,#('a' - 'A')
  85 amayuscula_no:
  86         mov pc,lr
  87 /* fin función */
  88 
  89 /* ==============================
  90 *  CONTANTES
  91 *  ==============================
  92 */
  93 VECT1:  .asciz "Hola munDo"
  94 VECT2:  .asciz "HOLa MUndo"
  95         
  96         .balign 4
  97         .space 200
  98 STACK:
  99         .balign 4
 100         .end

Archivos adjuntos

Para referirse a los adjuntos de una página, usa attachment:nombredelarchivo, como se muestra abajo en la lista de archivos. NO uses la URL del enlace [get], ya que puede cambiar fácilmente y dejar de funcionar.
  • [obtener | ver] (2019-09-02 11:56:19, 2.0 KB) [[attachment:comp_cadenas_confuncion.s]]
  • [obtener | ver] (2019-09-02 11:56:19, 1.0 KB) [[attachment:comp_cadenas_sinfuncion.s]]
  • [obtener | ver] (2019-09-02 11:56:19, 0.9 KB) [[attachment:factorial.s]]
  • [obtener | ver] (2019-09-02 11:56:19, 0.6 KB) [[attachment:igualar_mayor.s]]
  • [obtener | ver] (2019-09-02 11:56:19, 1.6 KB) [[attachment:maximaxy.s]]
  • [obtener | ver] (2019-09-02 11:56:19, 0.8 KB) [[attachment:palabra_mas_larga.s]]
  • [obtener | ver] (2019-09-02 11:56:19, 0.7 KB) [[attachment:promedio_vector.s]]
 All files | Selected Files: delete move to page copy to page

No tienes permisos para adjuntar un archivo a esta página.