.model small data segment latabella DB 0,0,0,0,1,1,1,0,2,64,1,0,64,2,1,0 vnumero DB 00001111b vflag DB 00100000b vmina DB 01000000b vvis DB 10000000b nmine DB 2 ncelle DB 16 ncellelib DB 2 nflag DB 2 nrighe DB 4 ncolonne DB 4 data ends .stack .code acapo MACRO n LOCAL ciclo push ax push cx push dx xor cx,cx mov ah,02h mov cl,n ciclo: mov dl,0Dh int 21h loop ciclo mov dl,0ah int 21h pop dx pop cx pop ax ENDM clrscr MACRO ;cancella lo schermo push ax xor ax,ax mov al,03h int 10h pop ax ENDM scrivi MACRO char push ax push dx mov ah,02h mov dl,char int 21h pop dx pop ax terreno MACRO LOCAL ciclo,fineciclo pusha xor si,si xor cx,cx mov cl,ncelle ciclo: mov ah,02h mov dl,latabella[si] mov al,dl and al,vmina jz nomina mov dl, add dl,48 int 21h inc si mov ax,si mov bl,4 div bl cmp ah,0 jne fineciclo acapo 4 fineciclo: loop ciclo popa ENDM ;CHECK THE CODE!!! lea ax,data mov ds,ax ;inizializzazione segmento dati terreno END