目录 上一页 下一页 下一章

第9章 图形显示 -241-





b_loop2:


















main
code

mov
sub
mov
mov

mov
int

inc
dec
jnz

inc
dec
jnz

mov
int

mov
int

int
endp
ends
end
di,word ptr r_d+2
di,word ptr l_u+2
dx,word ptr l_u+2
al,2

ah,0ch
10h

dx
di
b_loop2

cx
si
b_loop1

ah,0
16h

ax,0003h
10h

20h


main
;右下角的Y坐标送入DI寄存器
;减去左上角的Y坐标,计算Y方向上的点数
;左上角的Y坐标送入DX寄存器
;选择洋红色

;利用10H中断的0CH功能画点


;Y坐标加1,
;已画完Y方向上所有的点了吗?
;若没画完Y方向上全部点,转B_LOOP2继续

;X坐标加1,准备画下一条竖线
;X方向上所有竖线都画完了吗?
;若未画完全部竖线,转B_LOOP1继续

;等待键盘输入


;设置字符显示模式3


;结束进程



  在第8章我们给出过一个称为STARMAP的程序,这个程序可以从UCDOS的字模库文件HZK16中读出一些数据,加以处理后在字符屏幕上显示出一幅由星号构成的图形。下面这个程序由STARMAP略做修改而成:
DOTMAP.ASM
data

fname
buffer
off

msg
data

code


segment
assume
db
db
dw
dw
db
ends

segment
assume


ds:data
'hzk16',0
32 dup(0)
1520h,0002h,3340h,0001h
18e0h,0000h,74a0h,0002h,
'Press any key to displa



cs:code



;UCDOS汉字系统的显示字模库
;文件缓冲区
;所需数据在字模库中的偏移位置
2520h,0001h
y the next font.',0dh,0ah,24h





Copyright © 2004-2015 Reanimator www.cookmoon.org

目录 上一页 下一页 下一章