第3章指令系统-3.ppt

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章指令系统-3

REVIEW:算术运算指令(24条) 例1:从(30H)=X7X6X5X4X3X2X1X0中取出高5位,从(31H)=Y7Y6Y5Y4Y3Y2Y1Y0中取出低3位,拼装后存入40H,(40H)=Y2Y1Y0X7X6X5X4X3 ORG 0030H MOV A, 30H SWAP A RL A MOV 40H, A ANL 40H, 例2:设(A)=43H, (CY)=0, 则 执行指令: RL A ; RLC A ; RR A ; RRC A ; 结果为: (A)=86H, (CY)=0 (A)=0CH, (CY)=1 (A)=06H, (CY)=1 (A)=83H, (CY)=0 §3.3.4 控制程序转移类指令 通常情况下,程序的执行是顺序进行的,但也可以根据需要改变程序的执行顺序,这种情况称作程序转移。 控制程序转移类指令(17条) 一、无条件转移指令 (4条) 例:若AJMP指令地址(PC)=2300H。 执行指令: AJMP 0FFH后PC值? (PC) ← (PC)+2=2302H, (PC)10~0← 00011111111 (PC)15~0 =0010000011111111B =20FFH (2) 长转移指令 例:设(PC)= 0123H,标号JMPADR所指的单元3456H。执行指令为 LJMP JMPADR结果是什么? (PC)7~0 ← 56H, (PC)15~8 ← 34H, 执行结果为 (PC)=3456H 所以,程序转向3456H单元执行。 (3) 相对转移(短转移)指令 例:在(PC)=0100H地址单元有条“SJMP rel”指令,若rel=55H,执行该指令后PC转向何处?若rel=F6H ,执行该指令后PC转向何处? (1) 若rel=55H(正数) (PC)+2→PC,(PC)=0102H (PC)+rel→PC,(PC)=0157H (2) 若rel=F6H(负数) (PC)+2→PC,(PC)=0102H (PC)+rel→PC,(PC)=00F8H (4) 间接转移指令 二、条件转移指令 (8条) 例:将外部数据RAM的一个数据块传送到内部数据RAM, 两者的首址分别为DATA1 和 DATA2, 遇到传送的数据为零时停止。 MOV R0, #DATA1 ; 外部数据块首址送R0 MOV R1, #DATA2 ; 内部数据块首址送R1 LOOP1:MOVX A, @R0 ; 取外部RAM数据入A HERE:JZ HERE ; 数据为零则终止传送 MOV @R1, A ; 数据传送至内部RAM单元 INC R0 ; 修改地址指针, INC R1 SJMP LOOP1 ; 循环取数 (2)比较转移指令(4条) 若目的操作数=源操作数, 则 (PC) ← (PC)+3 ; 若目的操作数源操作数, 则 (PC) ← (PC)+3+rel, CY=0; 若目的操作数源操作数, 则 (PC) ← (PC)+3+rel, CY=1; (3)循环转移指令(2条) DJNZ direct, rel ; (direct)← (direct)-1 若(direct)=0, 则(PC) ← (PC)+3 否则, (PC) ← (PC)+3+rel DJNZ Rn, rel ; (Rn) ← (Rn)-1 若(Rn)=0, 则(PC) ← (PC)+2

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档