Advertisement
kramos966

Attributs

Jan 13th, 2019
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; Provem els tributs
  2. ORG 32000
  3. main:
  4. ;----------------------------------------------------------------------
  5. ; Programa principal
  6. ;----------------------------------------------------------------------
  7.         XOR A                           ; Netegem la pantalla
  8.         CALL clear_screen
  9.  
  10.         LD B, 24                        ; Nombre de files en la pantalla
  11.         LD HL, $5800            ; Apuntem a l'àrea de tributs
  12. bucle_tribut:
  13.         ; Esperem a que es premi una tecla
  14.         PUSH AF
  15.         CALL wait_keypress
  16.         CALL wait_keyrelease
  17.         POP AF
  18.         LD D, B                         ; Guardem el valor de B
  19.         LD B, 32                        ; Bytes per fila, comencem altre bucle
  20.         RLA
  21.         RLA
  22.         RLA                                     ; Col·loquem bits de A en l'àrea BRIGHT+ PAPER
  23. bucle_fila:
  24.         LD (HL), A                      ; Escrivim el tribut
  25.         INC HL
  26.         DJNZ bucle_fila         ; Pintem els 32 bytes de la fila
  27.         LD B, D                         ; Recarreguem B del les files
  28.         RRA
  29.         RRA
  30.         RRA
  31.         INC A                           ; Incrementem el valor de A
  32.         DJNZ bucle_tribut
  33.         RET
  34. wait_keypress:
  35. ;----------------------------------------------------------------------
  36. ; Aquesta rutina espera que premem una tecla per continuar l'execució
  37. ; del programa. No requereix arguments. MODIFICA A
  38. ;----------------------------------------------------------------------
  39.         ; Comencem llegint totes les tecles del teclat
  40.         XOR A                           ; A = 0, llegim totes les files del teclat
  41.         IN A, ($FE)                     ; Llegim el teclat
  42.         OR %111000000           ; Fem els bits alts = 1
  43.         INC A                           ; Si cap tecla premuda, A = 111 111111b
  44.         JR Z, wait_keypress
  45.         RET
  46. wait_keyrelease:
  47. ;----------------------------------------------------------------------
  48. ; Aquesta rutina espera l'alliberament d'una tecla per continuar
  49. ; l'execució del programa. MODIFICA A
  50. ;----------------------------------------------------------------------
  51.         XOR A                           ; A =0, llegim totes les files
  52.         IN A, ($FE)                     ; Llegim el teclat
  53.         OR %111000000           ; Fem els bits alts = 1
  54.         INC A                           ; Si cap tecla premuda, A = 111 111111b
  55.         JR NZ, wait_keyrelease
  56.         RET
  57. clear_screen:
  58. ;------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement