单片机原理及其应用 第三章.pptVIP

  • 31
  • 0
  • 约2.76万字
  • 约 140页
  • 2016-12-26 发布于贵州
  • 举报
3.7 控制转移类 1、转移类 1)无条件转移指令 2)条件转移指令 2、调用/返回类 1)调用指令 2)返回指令 返回 LCALL addr16 ACALL addr11 LCALL addr16 1、这条指令无条件调用位于 16 位地址addr16的子程序。 2、执行该指令时,先将PC+3以获得下一条指令的首地址, 并把它压入堆栈(先低字节后高字节), SP内容加 2, 然后将 16 位地址放入 PC中, 转去执行以该地址为入口的程序。 3、通常目标地址用标号表示。 4、 LCALL指令可以调用 64 KB范围内任何地方的子程序。 5、指令执行后不影响任何标志。 返回 3.7 控制转移类 1、转移类 1)无条件转移指令 2)条件转移指令 2、调用/返回类 1)调用指令 2)返回指令 返回 ACALL addr11 这是一条 2 KB范围内的子程序调用指令。执行该指令时,先将 PC+2 以获得下一条指令的地址, 然后将 16 位地址压入堆栈(PCL内容先进栈, PCH内容后进栈), SP内容加 2, 最后把 PC的高 5 位PC15~PC11与指令中提供的 11 位地址addr11相连接(PC15~PC11, A10~A0), 形成子程序的入口地址送入PC, 使程序转向子程序执行。所用的子程序的入口地址必须与 ACALL下面一条指令的第一个字节在同一个 2 KB区域的存储器区内。 3.7 控制转移类 1、转移类 1)无条件转移指令 2)条件转移指令 2、调用/返回类 1)调用指令 2)返回指令 返回 RET 这条指令的功能是: 恢复断点, 将调用子程序时压入堆栈的下一条指令的首地址取出送入PC, 使程序返回主程序继续执行。  4. 中断返回指令 RETI 这条指令的功能与RET指令相似, 不同的是它还要清除MCS -51 单片机内部的中断状态标志。 数据传送类指令一览表 数据传送类指令一览表 3.2.3 算术运算类指令 算术运算指令 算术运算指令 逻辑运算指令 控 制 转 移 指 令 3.2.6 位操作类指令 位 操 作 指 令 影响标志位的指令 影响标志位的指令 3、逻辑异或运算 1) XRL A , #data8\data\@Ri\Rn XRL A,#0FH ROM 87H ROM 54H SFR FFH A ⊕ FFH FFH 返回 3、逻辑异或运算 1) XRL A , #data8\data\@Ri\Rn 2) XRL data , #data8\A ROM 87H ROM 54H RAM FFH 30H ⊕ 30H FFH FFH XRL 30H,#0FH 返回 4、移位运算 对累加器A的内容进行移位操作。除了带进位标志位的移位指令外,其它都不影响Cy, AC, OV等标志。 1) RL A ;循环左移 2) RR A ;循环右移 3) RLC A ;带进位循环左移 4) RRC A ;带进位循环右移 返回 4、移位运算 1) RL A ROM 87H FFH ROM 24H 3 0H FFH 3 0H SFR A 1 1 0 1 0 1 0 0 1 1 0 1 0 1 0 0 返回 4、移位运算 1) RL A 2) RR A ROM 87H FFH ROM 24H SFR A 1 1 0 1 0 1 0 0 1 1 0 1 0 1 0 0 返回 0 0 4、移位运算 1) RL A 2) RR A

文档评论(0)

1亿VIP精品文档

相关文档