![]() | 第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 |