汇编语言(三十四)之输出中文

输出中文

程序运行:

代码:

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点阵字库的字模提取软件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/323807.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue使用element ui实现下拉列表分页的功能!!!

“大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。”前几天做了个功能,需求是使用利用element ui如何给下拉列表分页,经过网上查找,自己摸索,已经完成,今天来记录一下吧。实现的…

ASP.NET Core 运行原理解剖[2]:Hosting补充之配置介绍

在上一章ASP.NET Core 运行原理解剖[1]:Hosting中,我们介绍了 ASP.NET Core 的启动过程,主要是对 WebHost 源码的探索。而本文则是对上文的一个补充,更加偏向于实战,详细的介绍一下我们在实际开发中需要对 Hosting 做一些配置时经…

汇编语言(三十五)之输入字符串以$结束然后输出字母个数

输入字符串以$结束然后输出字母个数 程序运行: 代码: datas segment buff db 100h dup(?)letter_count dw 0nextline db 0dh,0ah,$datas ends codes segment assume cs:codes,ds:datas main proc far push dsmov ax,0push ax mov ax,datasmov ds,ax…

vue中如何使用vi-for限制遍历的条数?只查询前三条、查询4-6条怎么实现?

“大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。”前言今天整理个简单的功能,vue中的v-for如何限制遍历输出的数据,比如我想在一个存放10条数据的集合中只输出3条怎么写?只想从第四条开始输出到第10条…

编译原理(一)之词法分析

词法分析 (1)参考附录1设计一个简单语言的词法分析程序,要求能够处理注释、换行回车、部分复合运算符(如>)。 (2)设计并实现含多条简单赋值语句的语法分析程序,要求有一定的出错提示与错误恢复功能。 (参考附录2) 附录1:…

粗略使用.NetCore2.0自带授权登陆Authorize

上篇Linux.NetCoreNginx搭建集群 有朋友提及到如果nginx做集群后应该还会有下一篇文章主讲session控制,一般来说就是登陆;本篇分享的内容不是关于分布式session内容,而是netcore自带的授权Authorize,Authorize粗略的用法&#xff…

vue中如何在地图中标点…

“大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。”前言昨天分享了下vue中v-for的一些特殊用法,料想标题给写成了vi-for…太粗心了。文章连接在这里:vue中如何使用v-for限制遍历的条数?只查询前三条、…

被黑客盯上了…数据都给打包带走了…

“大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。”前言在创建数据库的时候,突然之间,发现创建的表通过select * from 表名 查询不到了,于是就开始检查是不是sql语句写错了,检查半天&#…

编译原理(二)之语法分析

采用实验1的简单语言,设计并实现含多条简单赋值语句的语法分析程序,要求采用算符优先的分析算法。 注意与实验1、2的衔接。 using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using Syste…

ASP.Net Core Razor 页面路由

在服务器端 Web 应用程序框架中,其中非常重要的设计是开发人员如何将URL与服务器上的资源进行匹配,以便正确的处理请求。最简单的方法是将 URL 映射到磁盘上的物理文件,在 Razor 页面框架中,ASP.NET团队就是这样实现的。 关于 Ra…

vue实现下拉列表远程搜索示例(根据关键词模糊搜索)

“大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂”前言昨天的链接没有放上去……大家访问新站的时候,可以在浏览器地址栏中输入:www.穆雄雄.com或者www.muxiongxiong.cn都可以。今天分享的效果如下:ima…

编译原理(三)之语义分析

采用实验1的简单语言,设计并实现含多条简单赋值语句的语法语义分析程序,要求采用递归下降翻译法。 注意与实验1、2的衔接。 using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.T…

活动: 北京Xamarin分享会第6期(2017年9月9日)

每月第二个周六,北京丹棱街5号微软大厦,有什么活动?对, BXUG线下分享活动又来啦! 本次分享嘉宾阵容庞大,在金秋凉爽的季节,期待与大家面对面的交流。内容预告: 案例分享:某大型国企IT项目如何采…

捡到东西说给钱才给东西?算不算敲诈勒索……

“大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂”前言前两天,将一个那天急要但是后来就不重要的东西,放在车筐里面,结果到目的地一看,没了……椅子还没坐热,有人打来电话了“你…

编译原理(四)之解析语言翻译成三地址代码

选择部分C语言的语法成分,设计其词法语法语义分析程序。 设计并实现一个一遍扫描的词法语法语义分析程序,将部分C语言的语法成分翻译成三地址代码,要求有一定的出错提示和错误恢复功能。 例如简单赋值语句: area3.14*a*a; s 2*…

[北京微软技术直通车]前端 Visual Studio Code 开发 Angular 与亿级 SQL Servern

微软技术直通车第一期将于2017年9月9日与大家见面,本次邀请华北区微软技术专家和大家一起交流前端工具与技术, Visual Studio Code,TypeScript 与 Anuglar 项目开发和亿级数据库运维的最佳实践,分享相关技术的发展前景和从业经验&…

vue中如何实现全全全屏和退出全屏?

“大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂”最近总有人给我说ta有社恐,明明是有社牛好不好……前言在做大屏界面的时候,客户有个要求,一进去登录成功之后,要有全屏的功能,…

【深圳】掌通宝科技有限公司技术总监(兼架构师),约吗

技术总监(兼架构师) 岗位职责: 1、主持研发中心日常管理工作,负责公司O2O平台,SaaS平台管理; 2、负责公司.net后台,Android客户端、IOS客户端、WEB平台等架构设计; 4、解决开发中的技术问题…

树层级处理上万条数据优化!

“大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。”前言项目中,部门数超万,导致页面加载价卡顿怎么办?使用若依自带解析树的方法在本地运行没有任何问题,但是一发布到服务器上就显示加载超…

Orleans解决并发之痛(三):集群

Orleans本身的设计是一个分布式的框架,多个Silo构成集群,Grains分布在多个Silo中。一旦一个Silo挂了,原来归属这个Silo的Grains会自动在其他Silo中激活。生产环境下还是需要以集群方式来部署。 cluster 在Orleans解决并发之痛(二…