SoloCodigo
Programación General => ASM (Ensamblador) => Mensaje iniciado por: cahp21 en Martes 8 de Marzo de 2005, 16:54
-
Hola a todos :alien: mi problema es que tengo un curso nuevo, en el que se ve el codigo assembler y no lo conosco mucho :blink: y tengo que hacer un programa que mande una salida al puerto paralelo segun las teclas de direccion del teclado hacia un circuito que encienda unos led.
Es decir si oprimo la tecla de flecha hacia la derecha --> los led se tienen que encender hacia la derecha. si oprimo hacia la Izquierda <-- los led se encienden hacia la izquierda :comp: .
les agradeceria si me ayudan con mi problema, se los agradeceria mucho. Gracias
-
hola primero que nada solo debes verificar que tecla es, no me acuerdo q valor hexa es para derecha o izq, pero porque no lo pruebas con la funcion 0 de la int 16 yverificas que valor tiene :) ahora para dar salida por el puerto lo haces de la siguiente manera: (esta es una macro que hice)
enviadatos macro tecla
MOV DX,378
MOV AX,[tecla]
OUT DX,AX
endm
espero haberte ayudado en algo, bye ;) :kicking:
-
Que tal cahp21:
Deberias utilizar retardos, y la sentencia que ArKaNtOs puso,
añadiendo los siguientes detalles a su codigo
MOV DX,378H ; ya que es una direccion representada en hex
MOV AL,[tecla]; el 378h tiene un bus de datos del tamaño de un byte
OUT DX,AL
Saludos
-
Para u pregunta de la flechas <-- y --> en ensamblador no lo he probado, pero en C la flechas ponen dos valores en el buffer del teclado Y y X
si Y=224 y
si X=75 <--
si X=77 -->
si X=80 (abajo)
si X=72 (arriba)
si X=133 F11
si x=134 F12
si Y=0
si X =59 F1
.
.
.
si X=68 F10
Espero que te sirva de algo