;画点
_Pixel24TrC proc far
enterw 0,0
push es
push di
mov ax,4f03h
int 10h
pi112: cmp bx,112h
jnz pi115
mov dx,640
jmp write_24t
pi115: cmp bx,115h
jnz pi118
mov dx,800
jmp write_24t
pi118: cmp bx,118h
jnz Tr_exit
mov dx,1024
write_24t: mov ax,0a000h
mov es,ax
mov ax,word ptr [bp+12]
mul dx
mov bx,ax
mov cx,dx
add ax,bx
adc dx,cx
add ax,bx
adc dx,cx
add ax,bx
adc dx,cx
mov bx,word ptr [bp+10]
add bx,word ptr [bp+10]
add bx,word ptr [bp+10]
add bx,word ptr [bp+10]
add ax,bx
adc dx,0
mov di,ax
mov ax,4f05h
mov bx,0
int 10h
mov cx,word ptr [bp+6]
mov word ptr es:[di],cx
add di,2
mov cx,word ptr [bp+8]
mov word ptr es:[di],cx
Tr_exit: pop di
pop es
leavew
ret
_Pixel24TrC endp
_Pixel16HiC proc far
enterw 0,0
push es
push di
mov ax,4f03h
int 10h
pi110: cmp bx,110h
jnz pi111
mov dx,640
jmp write_16h
pi111: cmp bx,111h
jnz pi113
mov dx,640
jmp write_16h
pi113: cmp bx,113h
jnz pi114
mov dx,800
jmp write_16h
pi114: cmp bx,114h
jnz pi116
mov dx,800
jmp write_16h
pi116: cmp bx,116h
jnz pi117
mov dx,1024
jmp write_16h
pi117: cmp bx,117h
jnz Hi_exit
mov dx,1024
write_16h: mov ax,0a000h
mov es,ax
mov ax,word ptr [bp+10]
mul dx
shl ax,1
jc a1
shl dx,1
jmp cont
a1: shl dx,1
inc dx
cont: shl word ptr [bp+8],1
add ax,word ptr [bp+8]
adc dx,0
mov di,ax
mov ax,4f05h
mov bx,0
int 10h
mov cx,word ptr [bp+6]
mov word ptr es:[di],cx
Hi_exit: pop di
pop es
leavew
ret
_Pixel16HiC endp
_Pixel256C proc far
enterw 0,0
push es
push di
mov ax,4f03h
int 10h
pi100: cmp bx,100h
jnz pi101
mov dx,640
jmp write_256
pi101: cmp bx,101h
jnz pi103
mov dx,640
jmp write_256
pi103: cmp bx,103h
jnz pi105
mov dx,800
jmp write_256
pi105: cmp bx,105h
jnz exit_256
mov dx,1024
write_256: mov ax,0a000h
mov es,ax
mov ax,word ptr [bp+10]
mul dx
add ax,word ptr [bp+8]
adc dl,0
mov di,ax
mov ax,4f05h
mov bx,0
int 10h
mov cl,byte ptr [bp+6]
mov byte ptr es:[di],cl
exit_256: pop di
pop es
leavew
ret
_Pixel256C endp
;入口参数: ax=要转换的二进制数
;出口参数 dx:ax=转换十进数
B_O proc near
enterw 5,0
push es
push di
push si
mov bx,10
mov cx,5
mov di,sp
mov ax,ss
mov es,ax
getover: div bx
add dl,30h
mov byte ptr es:[di],dl
dec cx
jz return
inc di
cmp ax,0
jnz getover
mov byte ptr es:[di],dl
return: xor dx,dx
xor ax,ax
std
mov si,di
relod: mov cx,4
lodsb
re: shl dx,1
shl ax,1
jnc d0
inc dx
d0: dec cx
jnz re
cmp si,sp
jnz relod
pop si
pop di
pop es
leavew
ret
B_O endp
_Demo proc far
enterw 0,0
push es
push di
mov ax,0a000h
mov es,ax
mov dx,1024
mov ax,word ptr [bp+12]
mul dx
mov bx,ax
mov cx,dx
add ax,bx
adc dx,cx
add ax,bx
adc dx,cx
add ax,bx
adc dx,cx
mov bx,word ptr [bp+10]
add bx,word ptr [bp+10]
add bx,word ptr [bp+10]
add bx,word ptr [bp+10]
add ax,bx
adc dx,0
; cmp ax,0fffdh
; jnbe exit_Tr
mov di,ax
mov ax,4f05h
mov bx,0
int 10h
mov cx,word ptr [bp+6]
mov word ptr es:[di],cx
add di,2
mov cx,word ptr [bp+8]
mov word ptr es:[di],cx
exit_Tr: pop di
pop es
leavew
ret
_Demo endp
_TEXT ends
_DATA segment use16 byte public 'data'
c@ label byte
db 37
db 63h
db 10
db 0
s@ label byte
db 37
db 73h
db 10
db 0
d@ label byte
相关文章
上一篇文章:DOS可以当积木来砌
下一篇文章:DOS教学应上时代的发展才行
- 推荐阅讯
- Help命令使用说明
- DOS教学应上时代的发展才行
- 让Windows 98自动安装
- 告别黑底白字 打造漂亮的CMD命令行
- 自定义Windows 98的启动方式
- DOS命令 Type
- DOS命令 format
- Windows 95无盘工作站如何上网
- DOS下对系统重新进行分区
- DOS命令 Net start/stop
- 阅读排行
- 1.DOS命令 Copy
- 2.Windows 98的系统设置与优化
- 3.如何在WinNT/2K/XP下启动纯DOS
- 4.操作系统进程描述
- 5.用二种方法打开DOS命令窗口
- 6.DOS命令 cd
- 7.DOS命令 At
- 8.DOS命令 Xcopy
- 9.Windows ME
- 10.给Windows一个绿色文件夹
- 专题教程
- Windows Server-Windows Server文档-Windows Server新闻-Windows Ser PostgreSQL-PostgreSQL文档-PostgreSQL新闻-PostgreSQL专家
- WebLogic-WebLogic文档-WebLogic新闻-WebLogic专家 FreeBSD-FreeBSD文档-FreeBSD新闻-FreeBSD专家
- Linux-内核 GUI KDE Gnome DNS FTP 安全 安装-Linux专区 Windows-AD IIS ServerCore 虚拟化 安全 HPC-Windows专区
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
