        assume  cs:cseg, ds:dseg, ss:sseg

        ; code
cseg    segment
start:
        mov  ax,dseg
        mov  ds,ax
        mov  es,ax
        mov    ah,0
        mov    al,0dh
        int    10h
        mov    ah,5
        mov    al,0
        int    10h
        mov    ah,10h
        mov    al,2
        lea    dx,tabl_pal
        int    10h
        mov    cx,16
        mov    dx,25
cycle:  mov   al,cl
        dec   al
        mov   ah,0ch
        int   10h
        loop  cycle
        mov     ah,0
        int     16h
        mov   ah,0
        mov   al,3
        int   10h
        mov     ax, 4C00h
        int     21h
cseg    ends


        ; data
dseg    segment byte
tabl_pal  db    0,1,1,3,4,5,6,7,56,57,58,59,60,61,61,63,40
dseg    ends


        ; stack
sseg    segment stack
        db      100h    dup(?)
sseg    ends
        end start
