.model small .code org 100h palgen: jmp body loadpal db 0ebh,1,90h,8dh,36h,15h,1,0bah,0c8h,3,32h,0c0h db 0eeh,42h,0b9h,0,3,0f3h,6eh,0cdh,20h name1 db "Palette.Img",0 name2 db "LoadPal.Com",0 ask db "Vuoi caricare la nuova palette (S/N)?$" error db "File ®Palette.Img¯ non trovato.$" close db 0dh,0ah,24h body proc near cld mov ax,3d00h lea dx,name1 int 21h jnc keep lea dx,error call print lea dx,close call print jmp quit keep: mov si,ax xor cx,cx mov ah,3ch lea dx,name2 int 21h mov di,ax mov ah,40h mov bx,di mov cx,15h lea dx,loadpal int 21h mov ah,3fh mov bx,si mov cx,300h lea dx,endcode int 21h mov ah,3eh int 21h mov ah,40h mov bx,di mov cx,300h lea dx,endcode int 21h mov ah,3eh int 21h lea dx,ask call print mov ah,7 int 21h cmp al,73h jz exe cmp al,53h jnz skip exe: mov ah,4ah mov bx,1000h int 21h lea di,endcode mov si,2ch movsw mov word ptr es:[di],81h mov word ptr es:[di+2],cs mov word ptr es:[di+4],5ch mov word ptr es:[di+6],cs mov word ptr es:[di+8],6ch mov word ptr es:[di+10],cs mov ax,4b00h mov cx,1 lea dx,name2 lea bx,endcode int 21h skip: lea dx,close call print quit: int 20h body endp print proc near mov ah,9 int 21h retn print endp endcode: end palgen