- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一 二进制数转换为ASCⅡ码.doc
一 二进制数转换为ASCⅡ码
将一个字节的二进制数转换为两位16进制数的ASCⅡ码
main: mov a,@0x9f ;二进制数为0x9f
mov 0x30,a ;二进制数存入0x30
mov a,@0x02
mov 0x10,a ;0x10中存放转换次数
mov a,@0x31
mov 0x04,a ;0x04中为转换后数据存放地址
mov a,0x30
B1: and a,@0x0f ;取a低4位
mov 0x00,a
sub a,@0x09 ;低4位大于9跳往B2
jbs 0x03,0
jmp B2
mov a,0x00 ;低4位不大于9则加0x30
add a,@0x30
mov 0x00,a ;将ASCⅡ码存入0X04所指单元
jmp B3
B2: mov a,0x00 ;大于9则加0X37
add a,@0x37
mov 0x00,a
B3: swapa 0x30 ;将0X30高4位换入A低4位
inc 0x04 ;存储地址加1
djz 0x10 ;循环次数减1,为0则返回
jmp B1 ;不为0继续转换
self: jmp self
eop
二 多字节二进制加法
0X20,0X21中的二进制无符号数与0X22,0X23中的二进制无符号数相加,结果放在0X24,0X25,0X26中,低地址中放低字节数据。
Main: mov a,@0x78 ;赋值
mov 0x20,a
mov a,@0xc6
mov 0x21,a
mov a,@0x86
mov 0x22,a
mov a,@0x9e
mov 0x23,a
mov a,@0x0 ;0x26单元清0
mov 0x26,a
mov a,0x21
add a,0x23
mov 0x25,a ;高字节相加,结果送0x25
jbc 0x03,0
inc 0x26 ; 有进位则0x26加1
mov a,0x20
add a,0x22
mov 0x24,a ;低字节相加,结果送0x24
jbs 0x03,0
jmp self ;无进位跳self
inc 0x25 ;有进位0x25加1
jbc 0x03,0
inc 0x26 ; 有进位0x26加1
self: jmp self
eop
三 多字节二进制减法
0x20,0x21中的二进制无符号数减0x22,0x23中的二进制无符号数, 低地址中放低字节数据。假设被减数大于减数。
注意:(1)sub指令减出结果为正时,c标志置1。
(2)sub指令减出结果为0时,c标志也置1。
即,sub指令执行后,c标志清0表示结果为负。
main: mov a,@0x67 ;赋值
mov 0x20,a
mov a,@0xff
mov 0x21,a
mov a,@0xe8
mov 0x22,a
mov a,@0x44
mov 0x23,a ; 高字节相减
sub a,0x21
mov 0x25,a ;结果存0x25
mov a,0x22 ;低字节相减
sub a,0x20
mov 0x24,a
jbs 0x03,0
dec 0x25 ;有借位则0x25减1
self: jmp self
eop
四 二进制乘法运算
EM78单片机没有乘法指令,所以乘法运算需要转化为加法运算。0X20单元数据乘以0X21单元数据,结果放在0X22,0X23中。
main: mov a,@0x0 ;0x22,0x23单元清0
mov 0x22,a
mov 0x23,a
mov a,@0x3f ;赋值
mov 0x20,a
mov a,@0x22
mov 0x21,a
mul1: mov a,0x20 ;0x20与0x22内容相加
add 0x22,a
jbc 0x03,0
inc 0x23 ;有进位0x23加1
djz 0x21 ;0x21中次数减到0则结束
jmp mul1 ;没减到0则继续
self: jmp self
eop
五 二进制除法运算
多字节二进制除法
被除数为3个字节,在0x20、0x21、0x22单元中,0x22.7为最高位,0x20.0为最低位。
除数为2个字节,在0x30、0x31中。
算法:EM78单片机没有除法指令,而且本例中除法为多字节除法,可采用如下算法。
将被除数扩充一个字节0X23,0X23清0。被除数左移1位,0X23、0X22中数据减去0X31、0X30中数据,够减则减且0X20.0置1,减出结果存入0X23、0X22;不够减则0
您可能关注的文档
最近下载
- 组织行为学南开.pptx VIP
- 西北工业大学材料科学基础考研真题及答案.pdf VIP
- 眼科学课件:斜视与弱视.ppt
- 2023年不锈钢管行业市场需求分析报告及未来五至十年行业预测报告.pdf
- 中兴C600 详细资料-ZXA10 C6xx常用命令.docx
- 三 《微写作•表达观点》(教学课件)-【中职专用】高二语文同步精品课堂(高教版2023·职业模块).pptx VIP
- 人教版(2024)英语七年级上册全册教案.DOCX VIP
- [杭州]2023年下半年浙江杭州市上城区编外特定岗位工作人员招聘22人笔试历年高频考点(难、易错点)附带答案详解.docx
- 新世纪研究生英语教材新世纪研究生公共英语教材阅读C课文译文(正确版...pdf VIP
- 安徽省医疗机构药师职业技能大赛模拟试题-3.doc VIP
文档评论(0)