DEMO 源码系列_海底世界


; File Name   : F:/256B/3D/NJUFNJUF.COM

.386
.model tiny

seg000 segment byte public 'CODE' use16
assume cs:seg000, ds:seg000
org 100h

public start
start proc near
mov ax, 13h
int 10h  ; - VIDEO - SET VIDEO MODE
   ; AL = mode
push 0A000h
pop es
assume es:nothing
mov si, 1F8h
mov di, 0E000h

@10F:
fld dword ptr [si]
fadd dword ptr [si-4]
fst dword ptr [si]
fsin
fmul dword ptr [si-8]
fistp word ptr [di+241Bh]
inc di
inc di
jl short @10F
mov bp, 41Bh
mov cx, 3Fh

@129:
mov dx, 3C8h
mov al, cl
out dx, al
inc dx
xor ax, ax
out dx, al
mov ax, [bp+di]
sar ax, 5
add al, 1Ah
out dx, al
mov ax, [bp+di+3FCh]
sar ax, 5
add al, 1Ah
out dx, al
add di, 7Eh
loop @129

@14A:
add cx, bp
push cx
mov di, 4800h

@150:
and si, 7FFh

@154:
pusha
add si, si
push di
push si
mov bx, di
add bx, cx
add bx, bx
shl si, 2
and bh, 7
and si, 7FEh
mov ax, [bx+41Bh]
imul word ptr [bp+si]
shrd ax, dx, 3
pop si
push si
imul word ptr [si+101Bh]
mov cx, dx
sar cx, 4
add cx, 22h
shr di, 4
add di, di
mov bx, [bp+di]
add bx, dx
pop si
pop di
sub bx, [si+81Bh]
mov ax, [bp+si]
add ax, ax
mov si, 0A0h
imul si
idiv di
xchg ax, bx
imul si
idiv di
add bx, si
add ax, 3Ch
cmp ax, 9Fh
ja short @1C3
mov di, 2

@1AD:
cmp bx, 13Fh
ja short @1BF
imul si, ax, 140h
mov [bx+si+241Bh], cl
mov [bx+si+255Bh], cl

@1BF:
inc bx
dec di
jg short @1AD

@1C3:
popa
mov dx, di
shr dx, 8
sub si, dx
jge short @154
sub di, dx
sub di, dx
cmp di, 258h
jg @150
mov cx, 6360h
mov si, 255Bh
mov di, 1900h
rep movsw
mov ah, 0Bh
int 21h  ; DOS - CHECK STANDARD INPUT STATUS
   ; Return: AL = FFh if character available
   ; 00h if no character
pop cx
test al, al
jz @14A
retn
start endp

db 0, 80h, 0FFh, 43h, 0D8h, 0Fh, 49h, 3Bh
db 4 dup(0), 73h, 71h, 65h, 21h

seg000 ends

end start

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值