Programación General > ASM (Ensamblador)
Una Explicacion Pliss
davolo:
:D
hola tal speor pùeda alguine ayudarme , no entiendo como con esa pekeña rutina puedo salir de cualkier programa en asm presionandop la tecla esc , si alguien me lo pudiera explicar o pasar un link con alguna onformacion sobrte este tema se lo agradeceria
saludos
MOV AH, 1
INT 16h
JZ Sigue
MOV AH, 0
INT 16H
;si presionas eSc finaliza el programa:
CMP AL, 1BH
JNZ Sigue
INT 19h
:lol:
Toph:
--- Cita de: "davolo" ---:D
hola tal speor pùeda alguine ayudarme , no entiendo como con esa pekeña rutina puedo salir de cualkier programa en asm presionandop la tecla esc , si alguien me lo pudiera explicar o pasar un link con alguna onformacion sobrte este tema se lo agradeceria
saludos
--- Fin de la cita ---
Bueno primero que todo, en esta parte lo que hace es:
--- Citar ---MOV AH, 1
INT 16h
JZ Sigue
--- Fin de la cita ---
leer el estado del teclado, si no se ha presionado ninguna tecla la bandera ZF esta puesta por lo que se hace esa comparacion JZ,si la bandera ZF esta puesta salta a sigue
--- Citar ---MOV AH, 0
INT 16H
--- Fin de la cita ---
pero si no esta puesta es que hay una tecla por lo que luego se lee con la int 16H y AH=0, la tecla presionada queda en AL
--- Citar ---CMP AL, 1BH
JNZ Sigue
INT 19h
--- Fin de la cita ---
luego se hace una comparacion si AL = 1B, 1B es el codigo ascii hexadecimal de la tecla ESC (checa Tabla Ascii), si no es igual salta a sigue, pero si es igual ejecuta la instruccion 19h que lo que hace es activar la rutina de arranque de la computadora, nunca habia visto que se podia finalizar un programa asi :blink: , generalmente se finaliza con AH=0 e INT 21H, pero bueno
saludos :hola:
Eternal Idol:
MASM style:
--- Código: Text --- Codigo segment 'code'org 100hmain:int 19hCodigo endsend main
Un ejecutable VALIDO (para MS-DOS obviamente) de 2 bytes B)
"... In 16 bit code MASM can produce a 2 byte com file (int 19h) ..."
http://www.masm32.com/masmmyth.htm
davolo:
:D muchas gracias Tania_D y Eternal Idol, ya me kedo muy claro , creo q podria cambiar lo siguiente verdad
int 19 = mov ah, 4ch
int 21h
y debera funcionarme , voy a probar gracias y saludos
Eternal Idol:
--- Cita de: "davolo" --- :D muchas gracias Tania_D y Eternal Idol, ya me kedo muy claro , creo q podria cambiar lo siguiente verdad
int 19 = mov ah, 4ch
int 21h
y debera funcionarme , voy a probar gracias y saludos
--- Fin de la cita ---
Efectivamente, tambien te funcionaria y es lo mas "actual". Con ah a 0 tambien funciona.
Navegación
[#] Página Siguiente
Ir a la versión completa