版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机乘法运算1. 操作数在寄存器中, R0-R72. 操作数在内 RAM 中3. 操作数在外 RAM 中不过都大同小异,以 2 例,是个乘法子程序。入口:乘数 R0,被乘数 R1,字节数 R7,结果在 R0MULN:LCALLN2N;多字节十六进制乘法MULN1:MULN2:N1N:ADDMOVRLCRLCMOVMOVMOVCLRLCALLJNCLCALLDJNZMOVA,R7R0,AAAR3,AA,R5R0,ACRLCNMULN2ADDNR3,MULN1A,R1MOVCLRRRCMOVMOVADDMOVMULN3:DECMOVMOVDJNZMOVMOVA,R7CAR7,AR2,AA,R1R
2、1,ADECR0R1A,R0R1,AR2,MULN3A,R5R0,ARET;RLCN:MOVA,R7;多字节二进制无符号数左移一位RLCN1:MOVR2,APUSHPSWADDA,R0MOVR0,ARLCN2:POPDECMOVRLCMOVDJNZRETPSWR0A,R0AR0,AR2,RLCN2;N2N:MOVA,R7MOVR2,AADDA,R0MOVR6,AMOVA,R0MOVR5,AMOVA,R1MOVR4,AADDA,R7MOVR0,AN2N1:MOVA,R1MOVR0,AINCR0INCR1DJNZR2,N2N1MOVA,R6MOVR0,ALCALL CLRNMOVA,R4MOVR0
3、,ALCALL CLRNMOVA,R4MOVR1,AMOVA,R5MOVR0,AMOVA,R7ADDA,R7MOVR7,ARET;ADDN:MOVA,R7MOVR2,AADDA,R0MOVR0,AMOVA,R7ADDA,R1MOVR1,ACLRCADN1:DECR0DECR1MOVA,R1ADDCA,R0MOVR0,ADJNZR2,ADN1RET;CLRN:MOVA,R7MOVR2,AADDA,R0MOVR0,ACLRACLRN1:DECR0MOVR0,ADJNZR2,CLRN1RET比如你要把 12345678H这个十六进制数乘以87654321H ,那么你可以这样调用:MOVR0, #30
4、H;被乘数区MOVR1, #40H;乘数区MOVR7, #04H;字节数MOV30H, #12H;填充被乘数MOV31H, #34HMOV32H, #56HMOV33H, #78HMOV40H, #87H;填充乘数MOV41H, #65HMOV42H, #43HMOV43H, #21HCALLMULN这时的结果在R0;调用所指的数据区,即30H-37H共八个字节。当然你是 3 字节乘法的话,把 R7 改成 03H 就可以了,结果为 6 个字节,高字节在前,低字节在后。一定要注意把R0 所指的区留出存放结果的空间。比如3 字节乘法,你要留出 6 个字节空间, 5 字节乘法要留出10 个字节的空间
5、。反正很灵活的。想做多少字节乘法都可以。这是除法子程序,入口、字节数、出口和乘法一样,不过有个限制:只限于被除数小于除数,结果为纯小数。不知老兄是否适用。DIVN:LCALLDIV0;多字节 16 进制除法子程序JCDIVN1SETBOVRETDIVN1:MOVA, R0MOVR4, AADDA, R7MOVR5, AMOVA, R7MOVB, #08HMULABMOVR3, ADIVN4:LCALLDIVN8JCDIVN5LCALLADDNCLRCDIVN5:MOVA, R5MOVR0, ALCALLRLCNDJNZR3,DIVN4LCALLDIVN8JNCDIVN6MOVA, R5MOVR
6、0, ALCALLINCNDIVN6:MOVA, R1PUSHACCMOVA, R7MOVR2, AADDA, R4MOVR0, AADDA, R7MOVR1, ADIVN7:DECR0DECR1MOVA, R1MOVR0, ADJNZR2,DIVN7POPACCMOVR1, ACLROVRET;DIVN8:MOVA,R4MOVR0,ACLRCLCALLRLCNMOV2FH.4,CLCALLSUBNANLC,/2FH.4CPLCRET;DIV0: MOVA,R7MOVR2,AADDA,R1MOVR1,AMOVA,R7ADDA,R0MOVR0,ACLRCDIV01:DECR0DECR1MOVA,
7、R0SUBBA,R1DJNZR2,DIV01RET;ADDN:MOVA,R7MOVR2,AADDA,R0MOVR0,AMOVA,R7ADDA,R1MOVR1,ACLRCADN1:DECR0DECR1MOVA,R1ADDCA,R0MOVR0,ADJNZR2,ADN1RET;INCN:MOVA,R7INCN1:MOVR2,AADDA,R0MOVR0,ASETBCINCN2:CLRADDCMOVDJNZDECR0AA,R0R0,AR2,INCN2RET;RLCN: RLCN1: PUSH ADD MOV POP RLCN2: MOV RLC MOV DJNZMOVA,R7MOVR2,APSWA,R0R0,APSWDECR0A,R0AR0,AR2,RLCN2R
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年中考道德与法治(福建)第三次模拟考试(含答案)
- 浙江中考科学试卷及答案
- 环卫安全考题题库及答案
- 辽宁干部在线试题及答案
- 科四考题奇葩题库及答案
- 2025年职业技能教学题库及答案
- 河南机电职测题库及答案
- 比亚迪卖货合同范本
- 会所店面转让合同范本
- 社区护理中风患者心理支持
- 洁净工作台性能参数校准规范
- 如果历史是一群喵16
- 赫兹伯格-双因素理论
- 华为HCIA存储H13-611认证培训考试题库(汇总)
- 社会主义发展史知到章节答案智慧树2023年齐鲁师范学院
- 美国史智慧树知到答案章节测试2023年东北师范大学
- GB/T 15924-2010锡矿石化学分析方法锡量测定
- GB/T 14525-2010波纹金属软管通用技术条件
- GB/T 11343-2008无损检测接触式超声斜射检测方法
- GB/T 1040.3-2006塑料拉伸性能的测定第3部分:薄膜和薄片的试验条件
- 教师晋级专业知识和能力证明材料
评论
0/150
提交评论