【原创】演示文本方式下显示汉字的汇编源程序
2004-12-29 10:22
585 查看
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
;
; 演示文本方式下显示汉字的汇编源程序
;
; 文件名:myname.asm
;
; 作者: 黄志斌 2001年12月4日于广西河池
;
; 说明: 本程序通过调用BIOS 10h替换系统字模来显示汉字
; 入口: ax=1100h
; bh=字模的高度(有效值:0~20h,默认值:10h)
; bl=被替换的字模集代号(有效值:0~7)
; cx=要替换的字模数
; dx=被替换的第一个字模所对应的字符的ASCII
; es:bp=新字模起始地址
; int 10h
; 要恢复系统字符集,可作如下调用:
; ax=1104h
; bl=字模集代号(有效值:0~7)
; int 10h
;
; 使用方法:
; masm myname;;
; link myname;;
; exe2bin myname.exe myname.com
;
; 注意:本程序未按该字的机内码替换字模,因此不能运行在汉字操作系统下
; 也就是说,要想让程序在中英文下都能正常显示汉字,那么就要按汉字的内码进行替换
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@codeseg segment public 'code'
;==============================
org 100h
assume es:codeseg,ss:codeseg
assume cs:codeseg,ds:codeseg,es:codeseg
;-----------------------------
main proc near
mov ax,1100h
mov bh,10h
mov bl,0
mov cx,6
mov dx,200
lea bp,mode
int 10h
mov ah,09h
lea dx,myname
int 21h
mov ah,7
int 21h
mov ax,1104h
mov bl,0
int 10h
mov ax,4c00h
int 21h
;(or int 20h)
main endp
;---------------------
mode db 100B,100B,111111B,100B,100B,11111111B,1B,11111B,10001B,11111B,10001B,11111B,10000B,100B,11000B,1100000B
db 01000000B,01010000B,11111000B,01000000B,01000100B,11111110B,00010000B,11111000B,00010000B,11110000B,00010000B,11110000B,00000000B,01100000B,00011000B,00000100B
db 1B,1B,1B,11111111B,1B,1B,1B,111111B,0B,10B,10001B,1010000B,1010000B,10010000B,1111B,0B
db 00000000B,00000000B,00000100B,11111110B,00000000B,00000000B,00010000B,11111000B,0B,00000000B,10000000B,10000100B,00010010B,00010010B,11110000B,0B
db 0B,100000B,10001B,0B,11111100B,1011B,1001000B,101000B,101001B,10001B,101001B,100101B,1000101B,10000001B,11B,0B
db 10000B,00010000B,11110100B,10010B,00010000B,11111110B,00010000B,01010000B,01010000B,01110000B,01010000B,01001000B,01001000B,01101010B,10000110B,10B
myname db 200,201,202,203,204,205,'$'
;======================
codeseg ends
end main
我用C语言写有一个程序可以直接从ucdos字库中读取指定的汉字的字模,并按汇编或C语言数据格式存放到文件中,将它们放到相应的源程序中就可以了。
;
; 演示文本方式下显示汉字的汇编源程序
;
; 文件名:myname.asm
;
; 作者: 黄志斌 2001年12月4日于广西河池
;
; 说明: 本程序通过调用BIOS 10h替换系统字模来显示汉字
; 入口: ax=1100h
; bh=字模的高度(有效值:0~20h,默认值:10h)
; bl=被替换的字模集代号(有效值:0~7)
; cx=要替换的字模数
; dx=被替换的第一个字模所对应的字符的ASCII
; es:bp=新字模起始地址
; int 10h
; 要恢复系统字符集,可作如下调用:
; ax=1104h
; bl=字模集代号(有效值:0~7)
; int 10h
;
; 使用方法:
; masm myname;;
; link myname;;
; exe2bin myname.exe myname.com
;
; 注意:本程序未按该字的机内码替换字模,因此不能运行在汉字操作系统下
; 也就是说,要想让程序在中英文下都能正常显示汉字,那么就要按汉字的内码进行替换
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@codeseg segment public 'code'
;==============================
org 100h
assume es:codeseg,ss:codeseg
assume cs:codeseg,ds:codeseg,es:codeseg
;-----------------------------
main proc near
mov ax,1100h
mov bh,10h
mov bl,0
mov cx,6
mov dx,200
lea bp,mode
int 10h
mov ah,09h
lea dx,myname
int 21h
mov ah,7
int 21h
mov ax,1104h
mov bl,0
int 10h
mov ax,4c00h
int 21h
;(or int 20h)
main endp
;---------------------
mode db 100B,100B,111111B,100B,100B,11111111B,1B,11111B,10001B,11111B,10001B,11111B,10000B,100B,11000B,1100000B
db 01000000B,01010000B,11111000B,01000000B,01000100B,11111110B,00010000B,11111000B,00010000B,11110000B,00010000B,11110000B,00000000B,01100000B,00011000B,00000100B
db 1B,1B,1B,11111111B,1B,1B,1B,111111B,0B,10B,10001B,1010000B,1010000B,10010000B,1111B,0B
db 00000000B,00000000B,00000100B,11111110B,00000000B,00000000B,00010000B,11111000B,0B,00000000B,10000000B,10000100B,00010010B,00010010B,11110000B,0B
db 0B,100000B,10001B,0B,11111100B,1011B,1001000B,101000B,101001B,10001B,101001B,100101B,1000101B,10000001B,11B,0B
db 10000B,00010000B,11110100B,10010B,00010000B,11111110B,00010000B,01010000B,01010000B,01110000B,01010000B,01001000B,01001000B,01101010B,10000110B,10B
myname db 200,201,202,203,204,205,'$'
;======================
codeseg ends
end main
我用C语言写有一个程序可以直接从ucdos字库中读取指定的汉字的字模,并按汇编或C语言数据格式存放到文件中,将它们放到相应的源程序中就可以了。
相关文章推荐
- 【原创】演示判断一个字符串是否为另一字符串的子串的函数的汇编源程序
- 一行代码,让 UITextField 文本以密码方式显示
- 别人写的UNICODE的文本,汉字字符都可以用记事本查看,注意记事本识别编码的方式为BOM
- [原创]Ext Panel 收缩时显示收缩文本
- 通过CSS显示垂直文本以垂直方式显示文本元素
- 文本模式下汉字不能显示问题
- Source Insight查看ARM汇编源程序 && Source Insight打开project窗口出错 && 高亮显示程序 && 标题栏显示全路径 .
- Source Insight查看ARM汇编源程序 && Source Insight打开project窗口出错 && 高亮显示程序 && 标题栏显示全路径
- C# ASP.NET 获取脚本语句并用文本的方式显示出来
- UILabel上显示过长NSString文本的方式
- SMG12232ZK标准字符点阵型液晶显示模块的演示程序[C51编程语言][MCS51并行接口方式]
- CSS声明之文本格式化、表格样式、定位、列表样式、显示方式、鼠标形状
- 纯汇编NASM源码/显示相关函数/10H中断/纯汇编显示汉字/显示中文
- UITextField的文本框部分文本以*的方式来显示
- 16位汇编显示ASCII码表_源程序
- 《第九周任务二》定义Time类中的<<和>>运算符的重载,实现时间输入输出,改造源程序中对运算结果的显示方式,使程序读起来更自然
- 一个流行且实用的JS表单验证提示,演示了怎么自定义错误信息的显示方式,同时通过写FormValid.showError类方法来实现错误显示方式自定义: errMsg 是一个错误消息的数组,这样方便自定
- (原创)使用AsyncTask(带修改线程池方式)+自定义ImageLoader+LRU算法对图片三级缓存及其显示优化(只有在ListView滑动停止的时候才去网络请求获取图片数据)
- 汉字显示方式一(FontCvt的使用)
- 汇编语言——利用地址显示文本