单片机原理与应用课件作者张东亮第3章节8051单片机指令系统.pptVIP

  • 6
  • 0
  • 约1.25万字
  • 约 71页
  • 2018-05-08 发布于广东
  • 举报

单片机原理与应用课件作者张东亮第3章节8051单片机指令系统.ppt

张东亮 山大控制学院 第3章 8051单片机指令系统 3.1 指令系统概述 3.2 寻址方式 3.3 数据传送类指令 3.4 算术运算类指令 3.5 逻辑运算类指令 3.6 控制转移类指令 3.7 布尔运算类指令 3.1 指令系统概述 3.2 寻址方式 3.3 数据传送类指令 3.4 算术运算类指令 3.5 逻辑运算类指令 3.6 控制转移类指令 3.7 布尔运算类指令 数据传送指令(29条) 算术运算指令可以完成加、减、乘、除及加1和减1等运算。这类指令多数以A为源操作数之一,同时又使A为目的操作数。 进位标志CY为无符号整数的多字节加法、减法、移位等操作提供了方便;溢出标志OV可方便地控制补码运算;辅助进位标志AC用于BCD码运算。算术运算操作将影响PSW中的OV、CY、AC和P等标志。 3.4.1 加法指令 不带进位加 带进位加 ADD A,Rn ;A← A + Rn ADD A,direct ;A← A +(direct) ADD A,@Ri ;A← A +(Ri) ADD A,#data ;A← A + #data ADDC A,Rn ;A← A + Rn + C ADDC A,direct ;A← A +(direct)+ C ADDC A,@Ri ;A← A +(Ri)+ C ADDC A,#data ;A← A + #data + C CY:和的D7位有进位时,CY=1;否则,CY=0。 AC:和的D3位有进位时,AC=1;否则,AC=0。 OV:和的D7、D6位只有一个有进位时,OV=1。溢出表示运算的结果超出了数值所允许的范围。如:两个正数相加结果为负数或两个负数相加结果为正数时属于错误结果,此时OV=1。 P:累加器ACC中“1”的个数为奇数时,P=1;为偶数时,P=0。 例如 MOV A, #87H ;A=87H (-121) ADD A, #99H ;A= 87H+99H(-103) 1000 0111 87H + 1001 1001 99H 1 0010 0000 20H 则 A=20H,CY=1,AC=1,OV=1,P=1。 例如,多字节数相加。被加数与和在内部RAM 20~22H单元,加数在2A~2CH单元,低位在前。 程序如下: MOV R0,#20H ; MOV R1,#2AH ; MOV R7,#03H ; CLR C LOOP: MOV A,@R0 ADDC A,@R1 ;两数的8位相加 MOV @R0,A INC R0 ;R0+1 INC R1 DJNZ R7, LOOP ;循环 CLR A ADDC A,#00 ;处理进位 MOV @R0,A ;存进位 (22H)(21H) (20H) + (2CH)(2BH)(2AH) (22H)(21H)(20H) 3.4.2 减法指令 带借位减指令 (Subtract with borrow) SUBB A,Rn ;A← A - Rn - C SUBB A,direct ;A← A -(direct)- C SUBB A,@Ri ;A← A -(Ri)- C SUBB A,#data ;A← A - #data – C 例如,设A=39H,R0=20H,(20H)=32H,C=1,执行指令 SUBB A,@R0 后,A=06H。 3.4.3 加1指令 (Increment) INC A ;A← A + 1 INC Rn ;Rn← Rn + 1 INC direct ;(direct)← (direct)+ 1 INC @Ri ;(Ri)←(Ri)+ 1 INC DPTR ;DPTR← DPTR + 1 例如,(30H)=22H,执行 INC 30H 后,(30H)=23H。 3.4.4 减1指令 (Decrement) DEC A ;A← A - 1 DEC Rn ;Rn← Rn - 1 DEC direct ;(direct)← (direct)- 1 DEC @Ri ;(Ri)←(Ri)- 1 3.4.5 十进制调整指令 DA A (Decimal Adjust) 计算机完成二进制加法其和也为二进制,如果是十进

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档