湖南工大单片机辅助课件第3章MCS-51系列单片机的指令系统2015.pptVIP

  • 0
  • 0
  • 约1.43万字
  • 约 125页
  • 2017-06-05 发布于四川
  • 举报

湖南工大单片机辅助课件第3章MCS-51系列单片机的指令系统2015.ppt

第三章 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 $

文档评论(0)

1亿VIP精品文档

相关文档