.text
.arm
.global _start
_start:
        b reset
        b loop
        b loop
        b loop
        b loop
        nop
        b loop
        b loop

/* ==============================
*  TEST CODE
*  ==============================
*/
reset:
        mov r1,#VECT
	mov r3,#2
	mov r7,#VECT + ( 51 - 2)  @ verificar un numero mayor a 51 no tiene sentido 

@ crear vector de 99 elementos (2 - 100)
	mov r2,r1
otro1: 	
	strb r3,[r2],#1 
	add r3,r3,#1
	cmp r3,#101
	bne otro1
	
@ busca elemento no borrado y borra sus multiplos 
	mov r2,r1
otro2:	
	ldrb r3,[r2]	   	@ lee de r2 el numero a verificar 

	cmp r3,#0         	@ si es cero busca otro numero
	beq seguir
			  	@ si no es cero borra los multiplos  		
	add r4,r3,r2		@ calcula la posicion del primer nro a borrar
	mov r5,#0
	
borrar:	strb r5,[r4],r3 	@ borra saltando r3 posiciones hasta final de vector 
	cmp r4,#FINVEC
	bls borrar

seguir: add r2,r2,#1
	cmp r2,r7    		@ si llegó a fin de vector sale ( en realidad se realiza el proceso hasta 51)
	bne otro2	
salir:
loop:   b loop

/* ==============================
*  CONTANTES
*  ==============================
*/
VECT:	.space 99 ,0

FINVEC:

PROM:   .hword 0
        .balign 4

        .end

