Adjunto 'criba_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,#VECT
20 mov r3,#2
21 mov r7,#VECT + ( 51 - 2) @ verificar un numero mayor a 51 no tiene sentido
22
23 @ crear vector de 99 elementos (2 - 100)
24 mov r2,r1
25 otro1:
26 strb r3,[r2],#1
27 add r3,r3,#1
28 cmp r3,#101
29 bne otro1
30
31 @ busca elemento no borrado y borra sus multiplos
32 mov r2,r1
33 otro2:
34 ldrb r3,[r2] @ lee de r2 el numero a verificar
35
36 cmp r3,#0 @ si es cero busca otro numero
37 beq seguir
38 @ si no es cero borra los multiplos
39 add r4,r3,r2 @ calcula la posicion del primer nro a borrar
40 mov r5,#0
41
42 borrar: strb r5,[r4],r3 @ borra saltando r3 posiciones hasta final de vector
43 cmp r4,#FINVEC
44 bls borrar
45
46 seguir: add r2,r2,#1
47 cmp r2,r7 @ si llegó a fin de vector sale ( en realidad se realiza el proceso hasta 51)
48 bne otro2
49 salir:
50 loop: b loop
51
52 /* ==============================
53 * CONTANTES
54 * ==============================
55 */
56 VECT: .space 99 ,0
57
58 FINVEC:
59
60 PROM: .hword 0
61 .balign 4
62
63 .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.