Adjunto 'contarrep_ex1.s'
Descargar 1 .text
2 .arm
3 .global _start
4 _start:
5 b reset
6 b loop
7 b loop
8 b loop
9 b loop
10 nop
11 b loop
12 b loop
13
14 /* ==============================
15 * TEST CODE
16 * ==============================
17 */
18 reset:
19 mov r1,#VECT1
20 mov r2,#VECT2
21 mov r9,#0 @ contador
22
23 /* bucle principal
24 * se recorre VEC1 hasta el final y por cada lectura, llama a la funcion comparar
25 */
26 otro:
27 ldrb r4,[r1],#1
28 cmp r4,#0
29 beq salir
30 bl comparar
31 b otro
32
33 /* =========================================================
34 * funcion comparar
35 * compara las cadenas VEC1(comenzando desde la posicion
36 * apuntada por r1-1) y VEC2 hasta el final de VEC2
37 * =========================================================*/
38 comparar:
39 sub r5,r1,#1 @ utiliza como puntero inicial de VEC1 la posicion anterior a r1
40 mov r6,r2 @ el puntero de VEC2 apunta al comienzo del mismo
41 otracmp:
42 ldrb r8,[r6],#1 @ lee VEC2
43
44 cmp r8,#0 @ si VEC2 llega al final, incrementa r9 (son iguales ) y sale
45 addeq r9,r9,#1
46 beq retorno
47
48 ldrb r7,[r5],#1 @ lee VEC1
49 cmp r7,r8
50 beq otracmp @ si son iguales compara siguiente, si son distintos sale
51 retorno:
52 mov pc,lr
53
54 salir:
55 loop: b loop
56
57 /* ==============================
58 * CONTANTES
59 * ==============================
60 */
61 VECT1: .asciz "esto es una prueba de palabras"
62 VECT2: .asciz "es"
63 .balign 4
64
65 .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.