一二进制数转换为asc码

一二进制数转换为asc码

ID:14139712

大小:52.50 KB

页数:6页

时间:2018-07-26

一二进制数转换为asc码_第1页
一二进制数转换为asc码_第2页
一二进制数转换为asc码_第3页
一二进制数转换为asc码_第4页
一二进制数转换为asc码_第5页
资源描述:

《一二进制数转换为asc码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、一二进制数转换为ASCⅡ码将一个字节的二进制数转换为两位16进制数的ASCⅡ码main:mova,@0x9f;二进制数为0x9fmov0x30,a;二进制数存入0x30mova,@0x02mov0x10,a;0x10中存放转换次数mova,@0x31mov0x04,a;0x04中为转换后数据存放地址mova,0x30B1:anda,@0x0f;取a低4位mov0x00,asuba,@0x09;低4位大于9跳往B2jbs0x03,0jmpB2mova,0x00;低4位不大于9则加0x30adda,@0x30mo

2、v0x00,a;将ASCⅡ码存入0X04所指单元jmpB3B2:mova,0x00;大于9则加0X37adda,@0x37mov0x00,aB3:swapa0x30;将0X30高4位换入A低4位inc0x04;存储地址加1djz0x10;循环次数减1,为0则返回jmpB1;不为0继续转换self:jmpselfeop二多字节二进制加法0X20,0X21中的二进制无符号数与0X22,0X23中的二进制无符号数相加,结果放在0X24,0X25,0X26中,低地址中放低字节数据。Main:mova,@0x78;赋值

3、mov0x20,amova,@0xc6mov0x21,amova,@0x86mov0x22,amova,@0x9emov0x23,amova,@0x0;0x26单元清0mov0x26,amova,0x21adda,0x23mov0x25,a;高字节相加,结果送0x25jbc0x03,0inc0x26;有进位则0x26加1mova,0x20adda,0x22mov0x24,a;低字节相加,结果送0x246jbs0x03,0jmpself;无进位跳selfinc0x25;有进位0x25加1jbc0x03,0inc

4、0x26;有进位0x26加1self:jmpselfeop三多字节二进制减法0x20,0x21中的二进制无符号数减0x22,0x23中的二进制无符号数,低地址中放低字节数据。假设被减数大于减数。注意:(1)sub指令减出结果为正时,c标志置1。(2)sub指令减出结果为0时,c标志也置1。即,sub指令执行后,c标志清0表示结果为负。main:mova,@0x67;赋值mov0x20,amova,@0xffmov0x21,amova,@0xe8mov0x22,amova,@0x44mov0x23,a;高字节相

5、减suba,0x21mov0x25,a;结果存0x25mova,0x22;低字节相减suba,0x20mov0x24,ajbs0x03,0dec0x25;有借位则0x25减1self:jmpselfeop四二进制乘法运算EM78单片机没有乘法指令,所以乘法运算需要转化为加法运算。0X20单元数据乘以0X21单元数据,结果放在0X22,0X23中。main:mova,@0x0;0x22,0x23单元清0mov0x22,amov0x23,amova,@0x3f;赋值mov0x20,amova,@0x22mov0x

6、21,amul1:mova,0x20;0x20与0x22内容相加add0x22,ajbc0x03,0inc0x23;有进位0x23加1djz0x21;0x21中次数减到0则结束jmpmul1;没减到0则继续self:jmpselfeop6五二进制除法运算多字节二进制除法被除数为3个字节,在0x20、0x21、0x22单元中,0x22.7为最高位,0x20.0为最低位。除数为2个字节,在0x30、0x31中。算法:EM78单片机没有除法指令,而且本例中除法为多字节除法,可采用如下算法。将被除数扩充一个字节0X2

7、3,0X23清0。被除数左移1位,0X23、0X22中数据减去0X31、0X30中数据,够减则减且0X20.0置1,减出结果存入0X23、0X22;不够减则0X23、0X22保持不变,0X20.0清0。然后被除数再左移1位,重复上述过程。共循环16次,最后0X23、0X22中得相减余数,0X21、0X20中得商。注意,若被除数左移后C标志为1,则不比较0X23、0X22与0X31、0X30数据大小关系而直接相减。main:mova,@0x55;被除数赋值mov0x20,amov0x21,amov0x22,am

8、ova,@0x0;被除数扩充1字节并清0mov0x23,amova,@0x12;除数赋值mov0x30,amov0x31,amova,@0x10;循环次数为16mov0x32,aagain:callrt_sub;调移位除法子程djz0x32;16次循环完成则结束jmpagain;未完成则继续self:jmpselfrt_sub:bc0x03,0;c标志清0rlc0x20;被除数左移1位rlc0x21

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。