viernes, 18 de noviembre de 2011

EXAMEN

GRAPH MACRO    ;iniciamos modo gráfico
      MOV AH,00H
      MOV AL,12H
      INT 10H
   ENDM

PALETA MACRO color   ;Permite definir la paleta
      MOV AH,0BH
      MOV BH,00H
      MOV BL,color
      INT 10H
   ENDM

PUNTO MACRO x,y,color
      MOV AH,0CH
      MOV AL,color   ;Color blanco
      MOV BH,0
      MOV CX,x
      MOV DX,y
      INT 10H
   ENDM

.model small
.stack
.data
   xx dw 1
   yy dw 1
   x dw 320
   y dw 240
.code
.startup

   GRAPH    ;Seteamos modo gráfico 640*480
   PALETA 1 ;Color azul
   PUSH AX
   PUSH BX

   mover:
      PUNTO xx,yy,0
      PUNTO x,y,7

   MOV AH,07H  ;READKEY
   INT 21H     ; 
   CMP AL,56; Caracter '8'
      JE UP
   CMP AL,52; Caracter '4'
      JE LEFT
   CMP AL,54; Caracter '6'
      JE RIGHT
   CMP AL,50; Caracter '2'
      JE DOWN
   CMP AL,27; Salir
      JE SALIR
      JNE mover
  
   ;UP:
   DOWN:
      MOV AX,y
      MOV yy,AX   ;Guardamos posicion anterior
         mov bx,x;X lo movemos a XX
         MOV xx,bx
      INC AX
      MOV y,AX
      JMP mover

   LEFT:
      MOV AX,x
      MOV xx,AX   ;Guardamos posicion anterior
         mov bx,y;X lo movemos a XX
         MOV yy,bx
      DEC AX
      MOV x, AX
      JMP mover 

   RIGHT:
      MOV AX,x
      MOV xx,AX   ;Guardamos posicion anterior
         mov bx,y;X lo movemos a XX
         MOV yy,bx
      INC AX
      MOV X, AX
      JMP mover 

   ;DOWN:
   UP:
      MOV AX,y
      MOV yy,AX   ;Guardamos posicion anterior
         mov bx,x;X lo movemos a XX
         MOV xx,bx
      DEC AX
      MOV y, AX
      JMP mover 

   JMP mover

   MOV AH,07H  ;READKEY
   INT 21H     ;

   SALIR:

   MOV AH,00H
   MOV AL,03H
   INT 10H
.exit
end

nota: el codigo esta bien lo  cual necesita pocesadores que soporte el ejecuatable.

0 comentarios:

Publicar un comentario