




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
汇编语言数制显示的数制形式
如果我们正在解决一个与数字相关的问题,我们应该直观地显示数值。根据不同的需求,数据的显示形式不同,如二进制、进士制、十六进制等。计算机上的数据存储模式由“0”和“1”组成。对于显示数据,通常需要将其转换为相应的ascii代码,以便在表达语言环境中执行显示功能。此外,根据不同的数制参数要求,首先要完成数制参数之间的转换。然后,我们讨论了如何编程计数,并根据二进制、十分制和十六进制的数制形式显示在计算机屏幕上。1进制的范围以一个16位二进制整数为例,假设此数放在BX寄存器中,它的二进制表示范围是0至1111111111111111B;十进制的范围是0至65535D;十六进制表示范围是0至0FFFFH.为方便说明,下面介绍按不同进制形式显示的编程思路和算法.1.1循环体的判断方法二进制只有“0”和“1”两个数字,它们的ASCII码分别是30H和31H.此时,只要逐位判断是“0”还是“1”,然后转换成对应的ASCII码显示即可.实际编程时,对于BX中的十六位二进制数,首先设置一个循环次数为16的循环体.方法一:首先使用向左移位的指令,然后判断显示使用向左的移位指令(ROL)把BX中的数左移一位,接着通过CPU标志寄存器中的CF标志,判断是否有进位.若有进位(CF=1),说明BX左移之前最高位是1,则显示字符‘1’;反之,显示字符‘0’.每次都是通过这种方式由高位到低位逐位判断、逐位取ASCII码值、逐位显示.方法二:首先判断显示,然后使用向左移位的指令通过CPU标志寄存器中的SF标志,判断最高有效位是否为1,若SF=1,则显示字符‘1’;反之,显示字符‘0’.然后再使用向左的移位指令(ROL)把BX中的数左移一位.每次都是通过这种方式由高位到低位逐位判断、逐位取ASCII码值、逐位显示.1.2个转换成ascii码把待转换的数(在BX中)除以10,得到第一个商和余数,此时的第一个余数就是所要输出十进制数的个位;再用第一个商除以10,得到第二个商和余数,此时的第二个余数就是所要输出十进制数的十位;重复这一过程直至商为0,此时的余数就是所要输出十进制数的最高位.然后在内存中分配一缓冲区,用来存放以上分离出来的十进制数的每一位,再逐个转换成ASCII码.转换成ASCII码的过程很简单,就是给每个十进制位加上30H即可;最后送显示器输出.从转换的过程可以看出,先分离出来的是十进制数的低位,要后显示;后分离出来的是十进制数的高位,应该先显示.因此在编程时,我们可以利用堆栈操作中“先进后出、后进先出”的特性,当分离出各十进制位时依次入栈,当需要逐个转换成ASCII码并且显示在屏幕上时依次出栈.方法二:以字符串的形式存储输出此方法中,分离每一位的算法同方法一,而分配缓冲区时,是先定义一个保存余数的字符串STRING,每次得到的余数在字符串中依次倒序存放.完成分离操作后,再调用系统显示功能把该字符串显示出来.方法三:把变化的除数组成数组把待转换的数(在BX中)相继除以10000,1000,100,10,1,所得到的商就是十进制数的每一位.为了便于操作,把这5个数组成一个除数的字数组DIVARRAY,采用被除数(32位2进制数,保存在DX:AX中)除以除数(16位2进制数,保存在SI中)的方法实现.这样,每完成一次除法操作后,就把得到的数值转换成相应的ASCII码值并且显示出来.1.3对应关系中所含的同化码如:20h,32h,32h对应数字af十六进制与二进制有很好的对应关系(每4位二进制数就对应1位十六进制数),显示时只需将原二进制数(在BX中)的每4位划成一组,按组求对应的ASCII码送显示器即可.ASCII码与十六进制数字的对应关系为:30H~39H对应数字0~9,41H~46H对应数字A~F.需要注意的一点,从数字9到A,其ASCII码间隔了7H.为使一个十六进制数能按高位到低位依次显示,实际编程中,我们对BX中的数每次循环左移一组(4位二进制),然后屏蔽掉当前高12位,对当前余下的4位(即1位十六进制数)求其ASCII码,要判断它是0~9还是A~F,是前者则加30H得对应的ASCII码,后者则要加37H才行,最后送显示器输出.以上步骤重复4次,就可以完成BX中数以4位十六进制的形式显示出来.当然,我们还可以对BX中数的低4位判断输出,然后再循环右移一组(4位二进制).2语言源程序的例子假设要将BX寄存器中的数分别按无符号二进制、十进制和十六进制显示在屏幕上,下面给出实现的汇编源程序,均为子程序方式.2.1基于二进制的形式2.1.1sp1movdMOVBX,NMOVCX,16;循环次数DISP0:ROLBX,1JCDISP1MOVDL,30H;显示字符“0”JMPOUTPDISP1:MOVDL,31H;显示字符“1”OUTP:MOVAH,2INT21HLOOPDISP0;循环次数判定MOVDL,“B”;显示字母“B”MOVAH,2INT21H……2.1.2tpdisp1mov采用b显示生成改进形式MOVBX,NMOVCX,16;循环次数DISP0:MOVDX,BXJSDISP1MOVDL,30H;显示字符“0”JMPOUTPDISP1:MOVDL,31H;显示字符“1”OUTP:MOVAH,2INT21HROLBX,1LOOPDISP0;循环次数判定MOVDL,“B”;显示字母“B”MOVAH,2INT21H……此程序的显示格式固定为16位,最后加上字母“B”表示为二进制形式.若(BX)=8080H,则显示结果为1000000010000000B;若(BX)=00FFH,则显示结果为0000000011111111B.2.2按10进制形式2.2.1ascii码值MOVSI,10MOVCX,5;循环次数MOVAX,BXPUSHALL:XORDX,DX;被除数为32位2进制数DIVSI;除数为16位2进制数PUSHDX;余数入栈LOOPPUSHALLMOVCX,5POPALL:POPDXADDDL,30H;数值转换为ASCII码值MOVAH,2INT21HLOOPPOPALLMOVDL,“D”;显示字母“D”MOVAH,2INT21H……2.2.2movhasdilitSTRINGDB5DUP(?),20H,“$”……MOVSI,10MOVCX,5MOVAX,BXMOVDI,OFFSETSTRING+4SAVEALL:XORDX,DX;被除数为32位2进制数DIVSI;除数为16位2进制数ADDDL,30HMOV[DI],DLDECDILOOPSAVEALLLEADX,STRING;显示字符串MOVAH,9INT21HMOVDL,“D”;显示字母“D”MOVAH,2INT21H……2.2.3生产型确证DIVARRAYDW10000,1000,100,10,1……MOVCX,5MOVAX,BXMOVDI,OFFSETDIVARRAYDIVALL:XORDX,DX;被除数为32位2进制数DIVWORDPTR[DI];除数为16位2进制数PUSHDXADDAL,30HMOVDL,ALMOVAH,2INT21HINCDIINCDIPOPAXLOOPDIVALLMOVDL,“D”;显示字母“D”MOVAH,2INT21H……此程序的显示格式固定为5位,最后加上字母“D”表示为十进制形式.若(BX)=8080H,则显示结果为32896D;若(BX)=00FFH,则显示结果为00255D.2.3显示字符“h”的格式MOVCL,4MOVCH,4NEXT:ROLBX,CLMOVAL,BLANDAL,0FHADDAL,30HCMPAL,3AHJLOUTPADDAL,07H;是A~F,要多加7OUTP:MOVDL,ALMOVAH,02HINT21HDECCHCMPCH,0JANEXTMOVDL,’H’;显示字母“H”MOVAH
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 清朝服饰简介
- 德育与养成教育融合实施方案
- 作文教学效果及教师成长研讨总结
- 电子商务客户评价管理策略
- 清徐电吹管基础知识培训课件
- 在线客服系统效率提升方案
- 养护员工作总结
- 合作协议书模板集锦6篇
- 深林里的绅士课件
- 绿色建筑认证体系在我国2025年绿色建筑行业绿色建筑人才培养与评价报告
- 网络攻防原理与技术 第3版 教案 -第12讲 网络防火墙
- 2024年新课标培训2022年小学英语新课标学习培训课件
- 2024小学语文教学及说课课件:二年级上册《田家四季歌》
- 2024至2030年中国聚脲涂料行业市场发展调研及投资前景分析报告
- 1.1 鸦片战争 课件 2024-2025学年统编版八年级历史上册
- 2024至2030年中国演播室行业市场调查研究及发展战略规划报告
- DB11∕T 420-2019 电梯安装、改造、重大修理和维护保养自检规则
- 国旗台施工合同
- 总代理授权书
- 越剧《梁山伯与祝英台》剧本
- 医疗器械售后服务能力证明资料模板
评论
0/150
提交评论