Username: Password: oppure
BootableDrawing - Quadrato.asm

Quadrato.asm

Caricato da: Fraioveio
Scarica il programma completo

  1. org 0h
  2.  
  3.  
  4. inizio:
  5.         call initgr
  6.  
  7.         mov [px2],10
  8.         mov [py2],10
  9.  
  10.         ciclo:
  11.                 mov ah,00h
  12.                 int 16h
  13.  
  14.                 mov al,4dh      ; Freccia destra
  15.                 cmp ah,al
  16.                 je incx
  17.  
  18.                 mov al,4bh      ; Freccia sinistra
  19.                 cmp ah,al
  20.                 je decx
  21.  
  22.                 mov al,50h      ; Freccia gių
  23.                 cmp ah,al
  24.                 je incy
  25.  
  26.                 mov al,48h      ; Freccia su
  27.                 cmp ah,al
  28.                 je decy
  29.          returnc:
  30.                 call dispx
  31.  
  32.                 jmp ciclo
  33.  
  34.  
  35. ;######## Funzioni #########
  36.  
  37. incx:
  38.         mov ah,[px1]
  39.         mov al,[px2]
  40.         inc ax
  41.         mov [px1],ah
  42.         mov [px2],al
  43.         jmp returnc
  44.  
  45. decx:
  46.         mov ah,[px1]
  47.         mov al,[px2]
  48.         dec ax
  49.         mov [px1],ah
  50.         mov [px2],al
  51.         jmp returnc
  52.  
  53. incy:
  54.         mov ah,[py1]
  55.         mov al,[py2]
  56.         inc ax
  57.         mov [py1],ah
  58.         mov [py2],al
  59.         jmp returnc
  60.  
  61. decy:
  62.         mov ah,[py1]
  63.         mov al,[py2]
  64.         dec ax
  65.         mov [py1],ah
  66.         mov [py2],al
  67.         jmp returnc
  68.  
  69. dispx:
  70.         mov ah,0ch
  71.         mov al,04h      ; Colore Rosso
  72.         mov ch,[px1]
  73.         mov cl,[px2]    ; X
  74.         mov dh,[py1]
  75.         mov dl,[py2]    ; Y
  76.         mov bx,01h      ; Pagina
  77.         int 10h
  78.         ret
  79.  
  80. initgr:
  81.         mov ah,00h
  82.         mov al,10h      ; 640x350
  83.         int 10h
  84.         ret
  85.  
  86. ;######## Variabili #########
  87.  
  88. px1 db 0
  89. px2 db 0
  90. py1 db 0
  91. py2 db 0