-240- | PC机汇编语言实战精解 | ![]() |
|||||||||||||||||||
由许多字模数据所组成的文件就是"字模库"。比如UCDOS汉字系统中的文件"HZK16"就是包含了6768个国标汉字字模的一个"库"。当然,描述字形的技术还有其它的,并不是仅此一种,但上述方法在处理时比较简单,十分适合描述较简单的字形。 有了上述这些基础知识,我们现在就可以来具体地研究BIOS提供的图形功能了。如前所述,"点"是构成复杂图形的基本单元,我们现在就来学习如何在屏幕指定位置画上一个点。10H中断提供的0CH功能可用于在图形模式下画点,这个功能的用法如下: |
![]() 图9-2 "A"的构成 |
||||||||||||||||||||
![]() |
功能号:0CH 用 途:在图形屏幕上的指定位置画一个 "点"(像素) 参 数:CX=指定位置的X坐标 DX=指定位置的Y坐标 AL=颜色值 调用:INT 10H 返回:无 |
||||||||||||||||||||
在应用这个功能之前大家先要清楚屏幕坐标是如何规定的。在第六章我们说到过在字符模式下屏幕坐标原点在左上角,X轴方向向右与习惯相同。而Y轴方向向下,正好与习惯相反。在图形模式下屏幕依旧如此,只不过坐标的划分更细了。下面这个程序可在屏幕上画出一个彩色的方块来: | |||||||||||||||||||||
BLOCK.ASM code main l_u r_d start: b_loop1: |
segment assume org proc jmp dw dw mov int mov sub mov |
cs:code,ds:code 100h near short start 20,20 100,150 ax,0004h 10h si,word ptr r_d si,word ptr l_u cx,word ptr l_u |
;跳过数据区 ;方块左上角的(X,Y)坐标 ;方块右下角的(X,Y)坐标 ;设置图形显示模式4 ;右下角的X坐标送入SI寄存器 ;减去左上角的X坐标,计算X方向上的点数 ;左上角X坐标送入CX寄存器 |
||||||||||||||||||
Copyright © 2004-2015 Reanimator | www.cookmoon.org |