文本模式下图形字符的显示
概述:
      在文本显示模式下,常常可以见到一些字符集里没有的字符,如几个汉字,一个电话符号,还有如 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