单片机_算术运算类 指令ppt课件.pptVIP

  • 12
  • 0
  • 约1.48千字
  • 约 35页
  • 2018-07-02 发布于贵州
  • 举报
单片机_算术运算类 指令ppt课件

第六课 ;3.4.2 算术运算类指令(24条);;; ;;;例如:;指令的功能是把源操作数与累加器A的内容相加再与进位标志CY的值相加,结果送入目的操作数A中。 加的进位标志CY的值是在该指令执行之前已经存在的进位标志的值,而不是执行该指令过程中产生的进位 。;例1:设(A)=0C3H,(R0)=0AAH, (CY)=1。 执行指令“ADDC A,R0”后的结果及标志位如何?; (31H)(30H) +(41H)(40H) (31H)(30H) ;例3:写指令,完成RAM中(30H)、(31H)、(32H)连加,结果送33H?;指令的功能是把源操作数的内容加 1 ,结果再送回原单元。这些指令仅 INC A 影响P标志。其余指令都不影响标志位的状态。 ;3.4.2 算术运算类指令(24条) ; 指令的功能是对累加器A中刚进行的两个BCD码的加法的结果进行十进制调整。 两个压缩的BCD码按二进制相加后,必须经过调整方能得到正确的压缩BCD码的和。; 调整完成的途径???:;例 若(A)=0101 0110B,表示的BCD码为,(R2)=0110 0111B,表示的BCD码为,(CY)=0。执行以下指令: ADD A,R2 DA A 由于(A)=0010 0011B,即,且(CY)=1,即;CY:差的位7需借位时,(CY)=1;否则,(CY)=0。 AC:差的位3需借位时,(AC)=1;否则,(AC)=0。 OV:若位6有借位而位7无借位或位7有借位而位6无借位时,(OV)=1。 如要用此组指令完成不带借位减法,只需先清CY为 0。;例 若(A)=C9H,(R2)=54H,(CY)=1,执行指令 SUBB A,R2 之后,由于: ;这组指令的功能是把操作数的内容减 1 ,结果再送回原单元。 这组指令仅 DEC A 影响P标志。其余指令都不影响标志位的状态。 与INC比较,少了一种寻址方式。;关于PSW的自动置位,关于CY、OV的解读:; 当进行无符号运算时,CY有意义。 当进行有符号运算时,OV有意义。 CPU的运算器并不区分是有、无符号运算,它进行的是补码运算,由编程者自己解读。; MUL AB ;累加器A与B寄存器相乘 该指令的功能是将累加器A与寄存器B中的无符号8位二进制数相乘 ,乘积的低8位留在累加器A中,高8位存放在寄存器B中。 当乘积大于FFH时,溢出标志位(OV)=1。而标志CY总是被清0。; DIV AB ;累加器A除以寄存器B 该指令的功能是将累加器A中的无符号8位二进制数除以寄存器B中的无符号8位二进制数 ,商的整数部分存放在累加器A中,余数部分存放在寄存器B中。 当除数为0时,则结果的A和B的内容不定,且溢出标志位(OV)=1。而标志CY总是被清0。; 逻辑运算指令可以完成与、或、异或、清0和取反操作,当以累加器A为目的操作数时,对P标志有影响;; ; ; ;前2条指令的功能是把源操作数与直接地址指示的单元内容相或,结果送入直接地址指示的单元。 后4条指令的功能是把源操作数与累加器A的内容相或,结果送入累加器A中。; ; ; ; 有时“累加器A内容乘2”的任务可以利用指令RLC A方便地完成。; 练习: 用移位和加法指令实现R0的内容乘以10,并把结果送R0。(数据较小,结果仍为一个字节);2010-03-25 作业

文档评论(0)

1亿VIP精品文档

相关文档