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.No tienes permisos para adjuntar un archivo a esta página.