Ensamblador - codigos rastreo

 
Vista:

codigos rastreo

Publicado por jose (3 intervenciones) el 17/03/2007 19:01:31
hola, necesito ayuda para los codigos de rastreo, resulta que tengo d mover un cuadrado de la pantalla con los cursores, y quando pulso un cursor no me coge ninguno mediante comparaciones y los numeros d las flechas estan bien, lo unico que la comparar en el AL pulse la que sea siempre me dice el numero 65 y nse porque. el codigo es el siguiente

mov ah,1
int 21h

IN AL, 60H ; Captamos el codigo de rastreo producido
MOV BL, AL ; por el ultimo evento de teclado, en caso
AND BL, 80H ; de tratarse de un break (tecla soltada)


CMP AL, 31 ;Comparamos si es s per salir
JE FINAL

CMP AL, 72 ; Cambiamos el valor de las coordenadas
JE ABAJO

CMP AL, 80
JE IZQUIERDA

CMP AL, 75
JE DERECHA

CMP AL, 77
JE ARRIBA
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:codigos rastreo

Publicado por Omar Glez (1 intervención) el 23/07/2009 06:55:27
Lo que pasa aqui, es que lo que tu estás queriendo comparar es el codigo ASCII no el código de rastreo de teclado.

Puedes utilizar mejor, la funcion 0 de la interrupcion 16:
mov ah,0
int 16h

quedando en al, el codigo ascii
y en ah el codigo de rastreo

ah = 50h abajo
ah = 48h arriba
ah = 4bh izquierda
ah = 4dh derecha

y puedes emplear las funciones de desenrolle de pantalla para recorrer el cuadro, con la funcion ah,6 y ah,7 de la interrupcion 10h, para desplazar hacia arriba y hacia abajo la pantalla.

Ojalá te sea de ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar