您的位置:首页精文荟萃破解文章 → 文本模式下图形字符的显示

文本模式下图形字符的显示

时间:2004/10/15 1:02:00来源:本站整理作者:蓝点我要评论(0)

 

概述:
    在文本显示模式下,常常可以见到一些字符集里没有的字符,如几个汉字,一个电话符号,还有如 Norton 的 NDD,SPEEDISK 内的窗口边框等等。这些字符是用改变系统的显示字符集的办法实现的。具体来说,就是将一些暂时不用的字符的显示点阵换成自己定义的点阵,然后在显示这些字符时,屏幕上出来的就是自己定义的图像。当然,原来的字符将无法显示,所以,被替换的字符往往是一些不常用的制表符等字符。被替换掉的字符集将一直使用到下次用 INT 10H 的 AH=00H 功能重新设置显示模式时。


有关资料:

1.BIOS 中断 10H 的 11H         入口参数: AH = 11H



















功能号 入口参数 出口参数
AL=00H或10H
装用户规定的字模
ES:BP=指定的字符点阵
CX=装入的字符数目
DX=从哪个字符开始装入
BL=要装入的模式
BH=每个字符点阵的数据字节数


汇编编程示例:

;定义字符点阵,下面是一个电话的符号,因为用一个字符的位置显示一个电话是不够的,所以下面是两个字符点阵的数据,要注意前16字节是电话的左半边,后16字节是电话的右半边,你把下面的数据化成二进制一看便知,不过就这32字节可花了我半小时在纸上画框框,打叉叉...
;比如以下的数据是这样得到的

;   ........       0000 0000      00h
;   ..
xxxxxx      0011 1111      3fh
;   .
x......       0100 0000      40h
;   .
x.xxxxx      0101 1111       5fh
;   .
x.x..x.      0101 0010       52h
;   .
xxx.x..      0111 0100       74h
;   ....
x.xx      0000 1011       0bh
;   ...
x.x..      0001 0100       14h
;   ..
x.x..x      0010 1001      29h
;   .
x..x.x.      0100 1010       4ah
;   .
x..x..x      0100 1001      49h
;   .
x...x..      0100 0100       44h
;   .
x....xx      0100 0011       43h
;   ..
xxxxxx       0011 1111      3fh
;   ........      0000 0000       00h
;   ........      0000 0000       00h

CHAR    db     00h,3fh,40h,5fh,52h,74h,0bh,14h         ;left part of phone
        db     29h,4ah,49h,44h,43h,3fh,00h,00h

        db     00h,0f8h,04h,0f4h,094h,5ch,0a0h,50h    ;right part of phone
        db     28h,0a4h,24h,44h,84h,0f8h,00h,00h

STR     db    'This is a phone:',0ceh,0cfh,'$'

        ...

        mov    ax,1100h             ;功能号
        mov    bx,1000h             ;BH=10H,每字符点阵为16字节
        mov    cx,2                 ;共要装入2字节
        mov    dx,00ceh             ;从00CEH开始(00CEH,00CFH)
        mov    es,data_segment
        mov    bp,offset char       ;ES:BP为字符点阵数据地址
        int    10h

        mov    ah,9                 ;把字符 ce,cf显示出来看看,是什么!
        mov    dx,offset str
        int    21h



相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 去除winrar注册框方法

最新文章 比特币病毒怎么破解 比去除winrar注册框方法 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据

人气排行 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程