Advertisement
carlosmfp

tablero

Mar 17th, 2024
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MIX Assembler 1.31 KB | Source Code | 0 0
  1. format binary as 'img'
  2. ORG 7C00h
  3.  
  4.   MOV AX, 13h
  5.   INT 10h
  6.  
  7.   MOV AX, 0xA000
  8.   MOV ES, AX
  9.  
  10.   CALL bg_draw
  11.  
  12.   JMP $
  13.  
  14.   bg_draw:
  15.     MOV CX, 64000
  16.     MOV DI, 0
  17.     MOV AL, [verde]
  18.  
  19.     bg_draw_loop:
  20.       MOV [ES:DI], AL
  21.       INC DI
  22.     LOOP bg_draw_loop
  23.  
  24.     CALL tablero
  25.     RET
  26.  
  27.   tablero:
  28.     MOV CX, 5
  29.     cuadrado_filas_loop:  
  30.       XOR AX, AX
  31.       MOV AL, [blanco]
  32.       PUSH CX
  33.       MOV CX, 4
  34.       cuadrado_loop:
  35.         PUSH CX
  36.         MOV DI, [aux]
  37.         CALL cuadrado
  38.         POP CX
  39.         MOV BX, [offset_x]
  40.         ADD [aux], BX
  41.       LOOP cuadrado_loop
  42.      
  43.       ADD [row], 1
  44.  
  45.       MOV AX, [offset_y]
  46.       MOV BX, [row]
  47.       MUL BX
  48.  
  49.       MOV BX, 320
  50.       MUL BX
  51.       MOV [aux], AX
  52.  
  53.       MOV AX, [row]
  54.       AND AX, 00000001b
  55.       JZ par
  56.  
  57.       impar:
  58.         ADD [aux], 40
  59.  
  60.       par:
  61.      
  62.       POP CX
  63.     LOOP cuadrado_filas_loop
  64.     RET
  65.  
  66.   cuadrado:
  67.     MOV CX, [n]
  68.    
  69.     pintar_filas:
  70.       PUSH CX
  71.  
  72.       MOV CX, [n]
  73.       pintar_cols:
  74.         MOV [ES:DI], AL
  75.         INC DI
  76.       LOOP pintar_cols
  77.       ADD DI, 320-40
  78.       POP CX
  79.     LOOP pintar_filas
  80.   RET
  81.  
  82. blanco db 00001111b
  83. negro db 00000000b
  84. verde db 00000010b
  85. n dw 40
  86. offset_x dw 80
  87. offset_y dw 40
  88. aux dw 0
  89. row dw 0
  90.  
  91. times 510-($-$$) db 0
  92.   dw 0xAA55
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement