| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- .286
- .model small
- .code
- org 100h
- ;--------------------
- startx equ 10
- starty equ 10
- sizex equ 10
- sizey equ 10
- ;--------------------
- start:
- mov ax, 13h
- int 10h
- push startx
- push starty
- push offset face
- push sizex
- push sizey
- call WriteSprite
- mov ah, 8h
- int 21h
- mov ax, 3h
- int 10h
- int 20h
- CoolWait proc near
- push bp
- mov bp, sp
- push cx
- mov cx, word ptr [bp+4]
- ggg: push cx
- mov cx, 0
- loop $
- pop cx
- loop ggg
- pop cx
- pop bp
- ret 2
- endp
- WriteSprite proc near ;writesprite(x,y,char *sprt,razmx,razmy)
- push bp
- mov bp,sp
- razmy equ word ptr [bp+4]
- razmx equ word ptr [bp+6]
- sprt equ word ptr [bp+8]
- posy equ word ptr [bp+10]
- posx equ word ptr [bp+12]
- pusha
- push es
- mov ax, 0A000h
- mov es, ax
- mov ax, posy
- mov bx, ax
- shl ax, 8
- shl bx, 6
- add ax, bx
- add ax, posx
- mov di, ax
- mov ax, sprt
- mov si, ax
- mov cx, razmy
- lup:
- push cx
- mov cx, razmx
- repe movsb
- add di, 320
- sub di,razmx
- pop cx
- loop lup
- pop es
- popa
- pop bp
- ret 10
- endp
- ;face db 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0
- ; db 0,1,1,1,1,1,1,1,1,0, 0,2,2,0,0,0,0,2,2,0, 0,0,0,3,3,3,3,3,0,0, 0,4,4,0,0,0,4,4,0,0
- ; db 0,1,1,1,1,1,1,1,1,0, 0,2,2,0,0,0,0,2,2,0, 0,0,3,3,0,0,0,3,3,0, 0,4,4,0,0,4,4,0,0,0
- ; db 0,1,1,0,0,0,0,0,0,0, 0,2,2,0,0,0,0,2,2,0, 0,3,3,0,0,0,0,0,0,0, 0,4,4,0,4,4,0,0,0,0
- ; db 0,1,1,1,1,1,0,0,0,0, 0,2,2,0,0,0,0,2,2,0, 0,3,3,0,0,0,0,0,0,0, 0,4,4,4,4,0,0,0,0,0
- ; db 0,1,1,1,1,1,0,0,0,0, 0,2,2,0,0,0,0,2,2,0, 0,3,3,0,0,0,0,0,0,0, 0,4,4,4,4,0,0,0,0,0
- ; db 0,1,1,0,0,0,0,0,0,0, 0,2,2,0,0,0,0,2,2,0, 0,3,3,0,0,0,0,3,3,0, 0,4,4,0,4,4,0,0,0,0
- ; db 0,1,1,0,0,0,0,0,0,0, 0,0,2,2,0,0,2,2,0,0, 0,0,3,3,0,0,3,3,0,0, 0,4,4,0,0,4,4,0,0,0
- ; db 0,1,1,0,0,0,0,0,0,0, 0,0,0,2,2,2,2,0,0,0, 0,0,0,3,3,3,3,0,0,0, 0,4,4,0,0,0,4,4,0,0
- ; db 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0
- face db 0,0,0,0,0,0,0,0,0,0
- db 0,2,2,2,2,2,2,2,2,0
- db 0,2,0,0,3,3,0,0,2,0
- db 0,2,0,0,3,3,0,0,2,0
- db 0,2,6,6,3,6,6,6,2,0
- db 0,2,6,6,6,3,6,6,2,0
- db 0,2,0,0,3,3,0,0,2,0
- db 0,2,0,0,3,3,0,0,2,0
- db 0,2,2,2,2,2,2,2,2,0
- db 0,0,0,0,0,0,0,0,0,0
- end start
|