专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 汇编语言

请教在纯DOS汇编,怎么才能显示汉字

发布时间:2010-06-14 15:51:23 文章来源:www.iduyao.cn 采编人员:星星草
请问在纯DOS汇编,如何才能显示汉字?
请问在纯DOS汇编,如何才能显示汉字?

.model small 
.stack 200h 
.data 
  szMsg db 'Hello World!我是李生',13,10,'$' 
   
.CODE 
START: 
  mov ax,@data 
  mov ds,ax 
  lea dx,szMsg 
  mov ah,9 
  int 21h 
   
  ;暂停,任意键关闭 
  mov ah,1 
  int 21h 
  mov ah,4ch ;结束,可以修改al设置返回码 
  int 21h 
   
END START 

编译之后,这个“我是李生”是乱码,请教如何才能显示汉字?
谢谢先

------解决方案--------------------
系统中断提供的是ascii,要用第三方的库,如c的dos16运行库
------解决方案--------------------
可以使用UCDOS
------解决方案--------------------
C的是有,汇编的没见过

适用于C语言编程中汉字显示程序。以下是使用范例:
http://download.csdn.net/source/604747
------解决方案--------------------
我以前一个同事用turboc在没有中文DOS的情形下显示出有限个的汉字,应该是硬画出来的。
------解决方案--------------------
两种方法:
1. 使用图形模式,逐点画出来。缺点是有点麻烦,但可以显示任意多的汉字。
2. 文本模式,修改EGA/VGA字模,INT 10h Ax=1110h。优点是简单,而且兼容INT 21h、INT 10h的字符输出功能,但是只能(同屏)显示很少的汉字,最多256个吧(实际不可能,因为用单个8x16/9x16的字模显示汉字有点勉强,至少要16x16才能看,这样就只剩下128个,还要保留一部分常用的ASCII符号)。


------解决方案--------------------
你把源程序贴出来看看。
------解决方案--------------------
中文DOS下 (比如CCDOS, TWAY32, UCDOS等), 直接输出字符串(含汉字)即可。
如果你不用中文系统,有两种方式:
一种是文本模式显示汉字,有点复杂,将一个汉字拆分成两个字符并将其字模写入显卡的字符发生器;
另一种简单点,是图形模式下在屏幕上画出汉字的每一点。
------解决方案--------------------
学习了~~~
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: