Tengo un programa que hace un conteo del 0 al 59 y cuando llega a 60 pasa denuevo al 0 y reinicia el ciclo, hasta ahi voy bien, pero no se como hacer que al presionar la tecla "1" se active un retraso y que al presionar "2" se active otro retraso diferente.
En código tengo lo siguiente:
Código
org 100h .model small .stack 100 .data u db 0 d db 0 v db 0 tiempo db 0 .code start: mov cx,00h ; inicializo contador en cero inicio: mov tiempo,cl ;call retraso1s ;salto a retraso de 1s ;call retraso5s ;salto a retraso de 1s ;call retraso10s ; salto a retraso de 10s mov cl,tiempo cmp cl,10 ; compara si en el contador es mayor a 9 jc aumento ;Destino es menor que origen ;jne repite ; sino es verdadera la ultima comparacion regresa a repite jz separar ;Numeros iguales jnz separar ;Destino mayor a origen cmp d,06h jc inicio ;Destino es menor que origen jz start ;Numeros iguales separar: mov al,cl AAM mov u,al mov al,ah AAM mov d,al ;cmp d,06h ;jz salir ;Numeros iguales mov ah,02h mov dl,d add dl,30h int 21h mov ah,02h mov dl,u add dl,30h int 21h inc cl ; incremento el contador en uno jmp inicio ret aumento: mov dl,cl ; muevo el valor del contador a dl para imprimir inc cl ; incremento el contador en uno add dl,30h ; sumo 30h a dl para convertirlo al codigo ascii y poder imprimirlo mov ah,02h ; funcion para imprimir un caracter int 21h ; imprimo jmp inicio ret retraso1s: MOV CX, 0FH MOV DX, 4240H MOV AH, 86H INT 15H ret retraso4s: MOV CX,3aH MOV DX,9680H MOV AH,86H INT 15H ret retraso5s: MOV CX,45H MOV DX,9680H MOV AH,86H INT 15H ret retraso10s: MOV CX, 98H MOV DX, 9680H MOV AH, 86H INT 15H ret salir: .exit end
Espero que me puedan dar una idea de como continuar