Hacer un retardo
Hola...estoy empezando con ensamblador y necesito saber como hacer una pausa de tiempo controlado, es decir que dure lo que le pida que dure
Prueba esto para ver si te sirve.
;............................................................................
; PAUSA
; Hace una pausa de Tiempo segundos
; Parametros: Tiempo
;
Pausa macro Tiempo
local xxx
; Hace una pausa de Tiempo segundos (numero Tiempo es 18 cada segundo)
mov ah,0h ; Leer temporizador del reloj
int 1ah ; Servicio de hora BIOS
add dx,Tiempo ; Suma a dx Tiempo
mov bx,dx ; Mueve Tiempo a bx
xxx:
int 1ah ; Servicio de hora BIOS
cmp dx,bx ; Compara dx con Tiempo
jne xxx ; Si no es igual salta a Bucle
endm ; Fin de la macro Pausa
;...................................................................
;............................................................................
; PAUSA
; Hace una pausa de Tiempo segundos
; Parametros: Tiempo
;
Pausa macro Tiempo
local xxx
; Hace una pausa de Tiempo segundos (numero Tiempo es 18 cada segundo)
mov ah,0h ; Leer temporizador del reloj
int 1ah ; Servicio de hora BIOS
add dx,Tiempo ; Suma a dx Tiempo
mov bx,dx ; Mueve Tiempo a bx
xxx:
int 1ah ; Servicio de hora BIOS
cmp dx,bx ; Compara dx con Tiempo
jne xxx ; Si no es igual salta a Bucle
endm ; Fin de la macro Pausa
;...................................................................
