目录 上一页 下一页 下一章

-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

目录 上一页 下一页 下一章