| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- .286
- .model small
- .code
- ORG 100h
- start:
- call ggg
- db 'cool3.bmp',0
- ggg: pop dx
- mov ax, 3d00h
- int 21h
- mov bx, ax
- mov ah, 3fh
- mov cx, bmphdr_len
- mov dx, offset cs:bmphdr
- int 21h
- mov ah, 3fh
- mov cx, bmpinfohdr_len
- mov dx, offset cs:bmpinfohdr
- int 21h
- mov ax, 13h
- int 10h
- mov cx, 256
- loadpal:
- push cx
- mov ah, 3fh
- mov dx, offset cs:colortable
- mov cx, clrtab_len
- int 21h
- mov dx, 3c8h
- mov al, col
- out dx, al
- inc col
- mov dx, 3c9h
- mov al, rgbRed
- shr al, 2
- out dx, al
- mov al, rgbGreen
- shr al, 2
- out dx, al
- mov al, rgbBlue
- shr al, 2
- out dx, al
- pop cx
- loop loadpal
- mov cx, 200
- mov ax, 0a000h
- mov ds, ax
- mov di, 320*199
- loadimage:
- push cx
- mov ah, 3fh
- mov cx, 320
- mov dx, di
- int 21h
- sub di, 320
- pop cx
- loop loadimage
- mov ah, 3eh
- int 21h
- mov ah, 08h
- int 21h
- mov ax,3
- int 10h
- int 20h
- ; End of main proc
- ;-------------------------------
- ;-------------------
- ; Bitmap Header!!!
- ;-------------------
- bmphdr:
- bfType dw 0 ; //⨯ ä ©« (¤«ï ¡¨â®¢®£® ®¡à § - BM)
- bfSize dd 0 ; //à §¬¥à ä ©« ¢ dword
- dw 0,0
- bfOffbits dd 0 ; //ᬥ饨¥ ¤ ëå ¡¨â®¢®£® ®¡à § ®â ç « ä ©«
- bmphdr_len EQU $-bfType
- ;-------------------
- ; Bitmap Info Header!!!
- ;-------------------
- bmpinfohdr:
- biSize dd 0 ; //ç¨á«® ¡ ©â, § ¨¬ ¥¬ëå áâàãªâãன
- biWidth dd 0 ; //è¨à¨ ¡¨â®¢®£® ®¡à § ¢ ¯¨ªá¥« å
- biHeight dd 0 ; //¢ëá®â ¡¨â®¢®£® ®¡à § ¢ ¯¨ªá¥« å
- dw 0 ; //ç¨á«® ¡¨â®¢ëå ¯«®áª®á⥩ ãáâனáâ¢
- biBitCount dw 0 ; //ç¨á«® ¡¨â®¢ ¯¨ªá¥«ì
- dd 0 ; biCompression; //⨯ ᦠâ¨ï
- biSizeImage dd 0 ; //à §¬¥à ª à⨪¨ ¢ ¡ ©â å
- dd 0,0 ; biXPelsPerMeter;//£®à¨§®â «ì®¥ à §à¥è¥¨¥ ãáâனá⢠,
- ; biYPelPerMeter; //¢¥à⨪ «ì®¥ à §à¥è¥¨¥ ãáâனá⢠,
- dd 0 ; biClrUsed; //ç¨á«® ¨á¯®«ì§ã¥¬ëå æ¢¥â®¢
- dd 0 ; biClrImportant; //ç¨á«® "¢ ¦ëå" 梥⮢
- bmpinfohdr_len EQU $-biSize
- ;-------------------
- ; Color table
- ;-------------------
- colortable:
- rgbBlue db 0; //¨â¥á¨¢®áâì ªà ᮣ®
- rgbGreen db 0; //¨â¥á¨¢®áâì §¥«¥®£®
- rgbRed db 0; //¨â¥á¨¢®áâì £®«ã¡®£®
- db 0; //¥ ¨á¯®«ì§ã¥âáï
- clrtab_len EQU $-rgbBlue
- col db 0
- end start
|