Ejecutar un ciclo solo 5 veces antes de terminar
Publicado por Ricardo Zapata (1 intervención) el 13/06/2013 06:34:21
Necesito que este ciclo corra solo 5 veces antes de terminar, o sea, que muestre los 6 estados de los semaforos solo cinco veces sin USAR la instruccion LOOP.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
JMP Start ;instrucción para brincar sobre la data e ir a la primera instrucción
;ejecutable. Ocupa dos bytes de memoria.
DB 84 ;10000100 Primera etapa del semaforo segun las instrucciones
DB 88 ;10001000 Segunda etapa segun ilustrada en las instrucciones
DB 90 ;10010000 Tercera etapa
DB 30 ;00110000 Cuarta etapa
DB 50 ;01010000 Quinta etapa
DB 90 ;10010000 Sexta etapa
Start:
mov cl,02 ;02 es la primera localización de memoria
;en donde tenemos data porque las primeras
;dos están ocupadas por la instrucción
;"JMP Start"
Again:
mov al,[cl] ;Utilizando CL como índice accedemos al
;primer valor de dato (FC) almacenado en
;memoria.
out 01 ;Enviamos el valor de AL al puerto 01 que
;corresponde al controlador de semáforos.
inc cl ;incrementamos cl para apuntar al próximo
;valor en memoria
cmp cl,8 ;cotejamos si CL = 8. Si no ha llegado a
jnz again ;8 continuamos para enviar el próximo
;valor al controlador del semáforo. Se elige 8 porque son 6 ;repeticiones y las primeras direcciones ya estan usadas.
jmp start ;Si CL llegó a 8 entonces brincamos al
;comienzo del programa para empezar
;nuevamente la secuencia
END ;Termina el programa
Valora esta pregunta


0