输出中文

程序运行:

代码:

daones segmentfull_name              db 0,1,2,3,4,5
full_name_length       dw $-full_name
start_char             db 0
change_char_count      dw 6color                  db 1
x                      dw 40
y                      dw 10
direction              dw 2 sceen_start_width      dw 0
sceen_width            dw 80 sceen_start_height     dw 0
sceen_height           dw 25;------以下为孙悟空 16X16 字模点阵数据 db字母开头补充0-----------
buffer  db 00H,7EH,02H,04H,08H,0AH,0CH,39H        ;孙db 0C9H,0AH,0CH,08H,08H,08H,28H,10Hdb 20H,20H,20H,20H,20H,0B0H,0A8H,24Hdb 26H,22H,20H,20H,20H,20H,0A0H,40Hdb 10H,13H,10H,10H,59H,54H,51H,91H        ;悟db 17H,10H,11H,11H,11H,11H,11H,11Hdb 08H,0FCH,80H,88H,0FCH,88H,08H,08Hdb 0FEH,08H,0FCH,08H,08H,08H,0F8H,08Hdb 02H,01H,7FH,40H,84H,0CH,10H,20H        ;空db 00H,3FH,01H,01H,01H,01H,0FFH,00Hdb 00H,00H,0FEH,02H,44H,30H,18H,08Hdb 00H,0F8H,00H,00H,00H,04H,0FEH,00Hdaones ends codes segmentassume cs:codes, ds:daones
main proc farpush ds mov ax,0 push ax mov ax,daonesmov ds, axmov es, axmov ax,12hint 10H     ;置图形模式mov ax, 3int 10H     ;置文本模式;-----从显示字库start_char处替换为“雷正宇”字模-----lea bp, buffer                  ;取字模首址mov dl, start_char              ;从显示字库start_char处替换mov dh, 0mov cx, change_char_count       ;换change_char_count个字mov bx, 1000hmov ax, 1100h ;装入用户字体int 10hcall dealret
main endp deal proc near mov ax,0b800hmov es,ax next:call print_namemov ah,1int 16h          ;有按键按下吗?jz no_check_key     call press_keycmp cx,1234h jz exitno_check_key:call sleepmov dx,xadd dx,direction           ;移一个位置mov x,dxcmp dx,sceen_start_width        ;已到最左边了吗?jz change_direction  mov ax,sceen_widthsub ax,full_name_lengthcmp dx,ax        ;已到最右边了吗?jz change_directionjmp undochange_direction:neg direction    undo:jmp next                ;在新位置重新显示exit:ret deal endpprint_name proc near   uses ax cx si di  cld                       ;正序显示mov ax,y                  ;找到字符串所在显存的地址mul sceen_widthadd ax,xadd ax,axmov di,ax           mov ah,color                ;设置前景色cmp ah,7jz  resetinc ahjmp continuereset:      mov ah,1    continue:mov color,ahlea si,full_name            ;指向串首mov cx,full_name_length     ;full_name_length个字符call clear_screen           ;清屏show:lodsb                      ;取一字stosw                      ;存入显存loop show                  ;显示下一字ret
print_name endp press_key proc near  uses ax bx  mov cx,0 mov ah,0int 16h          ;取其键值cmp al,0dh       ;是回车吗?jnz has_keymov cx,1234hjmp exithas_key:  cmp ah,80jnz no_VK_DOWNmov bx,sceen_heightdec bxcmp y,bxjae no_VK_DOWNinc yjmp exitno_VK_DOWN:     cmp ah,72jnz exitmov bx,sceen_start_heightcmp y,bx jz exitdec yexit:ret
press_key endp    clear_screen proc near  uses ax bx cx dx mov ah,6            ;清屏mov al,0 mov bh,7 mov ch,0 mov cl,0 mov dh,24 mov dl,79 int 10h ret clear_screen endp sleep proc  uses ax cx dx mov cx,10delay:mov dx,3dahone:in al,dxtest al,8jnz onetwo:in al,dxtest al,8jz twoloop delayret
sleep endpcodes endsend main

左边框里面竖着读一个字节长度数据作为存储子模,读两列。由于汉字是由两个字母位置组成的

注:16点阵字库的字模提取软件

汇编语言(三十四)之输出中文相关推荐

  1. 中文数字转换成阿拉伯数字(一千二百三十四万五千六百七十八-->12345678)

    昨天老大问我又没有写过中文数字转换成阿拉伯数字,我说没有,我说那应该简单啊,就是将中文对应的数字换成阿拉伯数字就好了啊,比如一就换成1,二就换成2-十换成10.可是那么问题来了- 一十二呢-不能是11 ...

  2. [Python人工智能] 三十四.Bert模型 (3)keras-bert库构建Bert模型实现微博情感分析

    从本专栏开始,作者正式研究Python深度学习.神经网络及人工智能相关知识.前一篇文章开启了新的内容--Bert,首先介绍Keras-bert库安装及基础用法及文本分类工作.这篇文章将通过keras- ...

  3. 程序员编程艺术第三十四~三十五章:格子取数问题,完美洗牌算法

    第三十四~三十五章:格子取数,完美洗牌算法 作者:July.caopengcs.绿色夹克衫.致谢:西芹_new,陈利人, Peiyush Jain,白石,zinking. 时间:二零一三年八月二十三日 ...

  4. 程序员编程艺术第三十四 三十五章 格子取数问题,完美洗牌算法

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 第三十四 ...

  5. c语言三级上机题库,2006年9月全国等级考试三级c语言上机题库(三十四)

    ★☆题目34(无忧id 73,102 素数题) 无忧id 102 题提供了求素数isPrime()函数 程序prog1.c的功能是:选出100以上1000之内所有个位数字与十位数字之和被10除所得余数 ...

  6. 【Visual C++】游戏开发笔记三十四 浅墨DirectX提高班之三 起承转合的艺术:Direct3D渲染五步曲...

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接: http://blog.csdn.net/zhmxy555/article/details/8223965 作者:毛星云(浅墨 ...

  7. 【正点原子FPGA连载】第三十四章RGB-LCD触摸屏实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1

    1)实验平台:正点原子新起点V2开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=609758951113 2)全套实验源码+手册+视频下载地址:ht ...

  8. 操作系统真象还原实验记录之实验三十四:实现管道

    操作系统真象还原实验记录之实验三十四:实现管道 1.管道相关知识总结 先说我们操作系统的管道实现: 上述图中,管道缓冲区就是一页内存,这一页内存被我们当成了环形缓冲区结构, 当这页管道被创建出来后,全 ...

  9. 【Visual C++】游戏开发笔记三十四 浅墨DirectX提高班之三 起承转合的艺术:Direct3D渲染五步曲

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接: http://blog.csdn.net/zhmxy555/article/details/8223965 作者:毛星云(浅墨 ...

  10. 现实迷途 第三十四章 响亮一巴(下)

    第三十四章 响亮一巴(下) 注:原创作品,请尊重原作者,未经同意,请勿转载,否则追究责任. 耳边响起的中文或英文的浪漫情歌,闪烁的霓虹灯灯光和点点的蜡烛烛光,精致的生日蛋糕,江北深情清唱的生日歌,以及 ...

最新文章

  1. 【怎样写代码】工厂三兄弟之工厂方法模式(四):工厂方法模式
  2. MyEclipse 中修改JSP模板
  3. 修改 ASP.NET 请求队列的限制
  4. 40亿条/秒!Flink流批一体在阿里双11首次落地的背后
  5. Java语言之数组_java语言之数组-----选择排序
  6. 统计一个数的补码中二进制中1的个数
  7. 直接输出数组的名字不一定是地址值
  8. java.sql.SQLException: ORA-01438: 值大于此列指定的允许精确度
  9. How-to: Build VPP FD.IO development environment with Mellanox DPDK PMD.
  10. linux判断字符串命令行,bash – 将命令行参数与字符串进行比较
  11. DG - 物理Standby角色转换
  12. ubuntu 卸载python_如何在各种环境下正确安装python——Linux
  13. 空间索引之网格与四叉树
  14. Android原生获取经纬度位置信息
  15. hdu 1757【A Simple Math Problem】
  16. 《奋斗》里徐志森的七堂地产财商课
  17. EXCEL10:excel看板
  18. YoMail 隐藏小功能之怎样在yomail里使用石墨文档?
  19. 怎样查看ie浏览器的版本号
  20. 微信开发者工具的使用(一)

热门文章

  1. JVM笔记(JVM内存+垃圾回收器)详解
  2. 二叉树的几道相似简单递归题
  3. 每天一小时python官方文档学习(三)————函数
  4. mysql id 字段类型转换_mysql 数据类型转换
  5. [Redis6]跳跃表(跳表)
  6. AcWing 1230. K倍区间
  7. Calendar Game POJ - 1082(关于日历的博弈问题)
  8. java开发中准则怎么写_Java开发中通用的方法和准则20条
  9. LeetCode动态规划 环形子数组的最大和
  10. P4847 银河英雄传说V2 非旋treap