第三章 MCS-51单片机指令系统 本章内容 寻址方式 指令的分类、格式及符号说明 分类指令 掌握MCS-51指令系统的各种寻址方式 掌握每条指令的格式、功能及用法 掌握指令的操作过程中操作数的变化情况以及对标志位的影响。 学会正确选用指令完成简单的任务 特点 3、十进制调整指令(1条) 1. BCD加法 DA A 对A中两个压缩BCD数相加之和调整为2位BCD码数。 1)只能用在对BCD码数进行ADD或ADDC操 作后使用。 2)影响标志位:有进位时 C=1。 试编程实现44H+86H的BCD加法程序,并对其工作原理分析。 解:相应BCD加法程序为: MOV A,#44H ;A←44H ADD A,#86H ;A←44+86=0CAH DA A ;A←30H,Cy=1,AC=1 SJMP $ ;结束 例 3.16 A= 0 1 0 0 0 1 0 0 B data=1 0 0 0 0 1 1 0 B 44 86 + ) 0 1 1 0 1 0 0 0 0 B 1 1 0 1 0 0 1 1 0 0 0 0 B 0 1 1 0 0 1 0 1 0 B 130 1 1 0 B 低4位>9, 加6调整 高4位>9, 加6调整 图3.7 BCD加法过程 2.BCD减法 MCS-51单片机中没有十进制减法调整指令,因此,这里的BCD减法运算必须采用BCD补码运算法则。 例 3.17 已知:M1和M2中分别存有被减数80和减数25,试编程求差,并把结果存入M3单元中。 解:根据BCD减法的实施步骤,程序如下: ORG 0100H CLR C ;清Cy MOV A,#9AH ;A←BCD模100 SUBB A, M2 ;A←BCD减数的补数 ADD A, M1 ;A←被减数+减数的补数 DA A ;对A进行加法调整 MOV M3,A ;存入M3 M3←BCD差 CLR C ;清Cy SJMP $ ;停止 两位BCD数的模100 BCD减数 加60调整BCD差 BCD减数 减数的补数 1 0 0 1 1 0 1 0 B 0 0 1 0 0 1 0 1 B 1 1 1 1 0 1 0 1 B 1 1 0 1 0 1 0 1 0 1 0 1 B 0 1 1 1 0 1 0 1 B 1 0 0 0 0 0 0 0 B + + 图3.8 BCD减法过程 4、乘法和除法指令 MUL AB ;A*B=BA ,形成标志 C=0 积255 OV=1 DIV AB ;A÷B=A…B,形成标志 乘法指令 除法指令 C=0 除数=0 OV=1 除数≠0 OV=0 已知:有两个8位无符号数乘数分别放在20H和21H单元中,试编写程序把相乘积的低8位放入22H单元中,积的高8位放入23H单元中。 解:求8位无符号单字节乘法,可直接利用乘法指令来实现,程序为: 例 3.18 ORG 1000H MOV R1 ,#20H ;R1←第一个乘数地址 MOV A ,@R1 ;A←第一个乘数 INC R1 ;修改乘数地址 MOV B ,@R1 ;B←第二个乘数地址 MUL AB ;A*B=BA INC R1 ;修改目标单元地址 MOV @R1 ,A ;22H←积的低8位 INC R1 ;修改目标单元地址 MOV @R1,B ;23H←积的高8位 SJMP $
您可能关注的文档
最近下载
- TIME时代 TDN 5000 全数字气保焊机使用说明书.pdf VIP
- 锂硫电池课件PPT.pptx VIP
- 人教版七年级英语下册全套新测试卷(配2025年春改版教材).pdf
- 2023年国家统一法律职业资格考试客观卷二真题含答案解析.docx VIP
- 大型可变体变构型航天器动力学模型重构方法.pdf VIP
- SMW 工法桩施工技术、质量要点.docx VIP
- 2025年军队文职人员统一招聘面试( 信息保障)预测题及答案.doc VIP
- 中国能源大数据报告(2025).docx VIP
- 政治试卷贵州省贵阳市2026届高三年级质量监测(11.21-11.22).docx VIP
- T_CRHA 073—2024(成人清洁间歇导尿护理).pdf VIP
原创力文档

文档评论(0)