Flechas en Emu 8086

.model small .data car DB posx DB 0 posy DB 0 xant DB 0 yant DB 0 0 ;contendr� el caracter ;posicion x actual del curs

Views 92 Downloads 0 File size 18KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

.model small .data car DB posx DB 0 posy DB 0 xant DB 0 yant DB 0

0

;contendr� el caracter ;posicion x actual del cursor ;posicion y actual del cursor ;posicion x anterior del cursor ;posicion y anterior del cursor

.code inicia: MOV INT

AH,1 21H

MOV

car,AL

MOV MOV INT

AH,3 BH,0 10H

;selecciona la pagina activa

MOV MOV DEC

posx,CH posy,DH posx

;guarda las posiciones actuales ;en las variables ;desplaza un lugar a la izquierda

repite: MOV MOV INT

AH,2 DL,0FFH 21H

MOV MOV MOV INT

AH,2 DH,yant DL,xant 10H

MOV MOV MOV INT

AH,2 DH,posy DL,posx 10H

MOV MOV INT

DL,car AH,2 21H

MOV MOV MOV INT

AH,2 DH,posy DL,posx 10H

MOV MOV

xant,DL yant,DH

;restitucion de posiciones

MOV

AH,0

;funci�n 0

INT

16H

izq:

CMP JNZ DEC JMP

AH,75 arr posx repite

;compara ah con el codigo de rastreo de tecla flecha izq ;no corresponde con el codigo? compara el siguiente cod. ;si corresponde, desplaza un lugar a la izquierda ;repite el proceso

arr:

CMP JNZ DEC JMP

AH,72 der posy repite

;compara ah con el codigo de rastreo de tecla flecha arriba ;no corresponde con el codigo? compara el siguiente cod. ;si corresponde, desplaza un lugar hacia abajo ;repite el proceso

der:

CMP JNZ INC JMP

AH,77 aba posx repite

;compara ah con el codigo de rastreo de tecla flecha derecha ;no corresponde con el codigo? compara el siguiente cod. ;si corresponde, desplaza un lugar hacia la derecha ;repite el proceso

aba:

CMP JNZ INC JMP

AH,80 ningun posy repite

;compara ah con el codigo de rastreo de tecla flecha abajo ;no corresponde con el codigo? compara el siguiente cod. ;si corresponde, desplaza un lugar hacia arriba ;repite el proceso

ningun: JZ JMP

fin: .exit

;de la int 16h ;obtiene un caracter del teclado ;ah contiene el codigo de rastreo de la tecla oprimida ;al contiene el caracter de dicha tecla

CMP AH,1 fin repite

;compara ah con el codigo de rastreo de tecla esc ;si corresponde, fin del programa ;no corresponde, repite el proceso sin desplazarse