天津大学课件(第10课时).ppt

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

* 3.3.4 控制转移指令 1. 无条件转移指令 2. 条件转移指令 3. 子程序调用和返回指令 4. 空操作指令 1、无条件转移指令 LJMP addr16 ;PC←addr16 AJMP addr11 ;PC←(PC)+2,PC10~0← addr11 SJMP rel ;PC←(PC)+2+rel JMP @A+DPTR ;PC←(A)+DPTR ①长转移指令(64KB范围内转移) 三字节双周期指令,其指令码为: 操作码 高8位地址 低8位地址 02H addr15~addr8 addr7~addr0 例:已知某单片机监控程序起始地址为A080H,试问用什么办法可使单片机开机后自动执行监控程序。 ②绝对转移指令(2KB范围内转移指令) 双字节双周期指令,11位地址addr11(a10~a0)在指令中的分布是: a10 a9 a8 0 0 0 0 1 a7 a6 a5 a4 a3 a2 a1 a0 其中:00001B是操作码。 ▼绝对转移指令分为两步:第一步是取指令操作,程序计数器PC中内容被加1两次,第二步是把PC加1两次后的高5位地址PC15~PC11和指令码中低11位地址构成目标转移地址: PC15~PC11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0 ▼如果把单片机64KB寻址区划分成32页(每页2KB),则PC15~PC11(00000B~11111B)称为页面地址(即:0页~31页),a10~a0称为页内地址。 注意:AJMP指令的目标转移地址不是与AJMP指令地址在同一个2KB区域,而是应与AJMP指令取出后的PC地址(即:PC+2)在同一个2KB区域。 AJMP addr11 ROM PC PC+1 PC+2 2KB 例:已知如下绝对转移指令: KWR:AJMP addr11 其中:KWR为AJMP addr11指令的标号地址(由该指令在程序存储器中的位置确定),addr11为11位地址。 试分析该指令执行后情况以及指令码的确定方法。 假设KWR=3100H, addr11=10110100101B ③短转移指令(-126~+129范围内转移指令) 短转移指令的功能是先使程序计数器PC加1两次(即取出指令码),然后把加1两次后的地址和rel相加作为目标转移地址。双字节双周期指令。指令码为: 80H rel 操作码 地址偏移量 例:今有如下程序,请计算SJMP START指令码中的rel,并分析目标地址的转移范围。 ORG 1000H 1000H 7401H START: MOV A,#01H ;字位码初值送A 1002H F8H MOV R0,A ;暂存于R0 1003H 90CF01H LOOP: MOV DPTR,#0CF01H ;送端口地址 … … … 1017H 80rel SJMP START ; 转入START … … … END ④变址转移指令 把DPTR中的基地址和累加器A中的地址偏移量相加,以形成目标转移地址送入程序计数器PC。 2、条件转移指令 ①累加器A判零转移指令 JZ rel; 若A=0,则PC←(PC)+2+rel 若A≠0,则PC←(PC)+2 JNZ rel; 若A≠0,则PC←(PC)+2+rel 若A=0,则PC←(PC)+2 例:已知外部RAM中以DATA1(DATA1在0页内)为起始地址的数据块以零为结束标志。试通过编程将之传送到以DATA2为起始地址的内部RAM区。 ②比较条件转移指令 CJNE A,#data,rel ;若(A)=data,则PC←(PC)+3

文档评论(0)

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

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

1亿VIP精品文档

相关文档