(2012-3)第三章 指令系统.pptVIP

  1. 1、本文档共81页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 3.5 逻辑运算与循环类指令(24条) 3.5.1 逻辑与 前2条指令的功能是把源操作数与直接地址指示的单元内容相与,结果送入直接地址指示的单元。 后4条指令的功能是把源操作数与累加器A的内容相与,结果送入累加器A中。 例 若(A)=C3H,(R0)=AAH,执行指令 ANL A,R0 之后,(A)=82H。 3.5 逻辑运算与循环类指令(24条) 前2条指令的功能是把源操作数与直接地址指示的单元内容相或,结果送入直接地址指示的单元。 后4条指令的功能是把源操作数与累加器A的内容相或,结果送入累加器A中。 3.5.2 逻辑或 例 若(A)=C3H,(R0)=55H,执行指令ORL A,R0 之后,(A)=D7H。 3.5 逻辑运算与循环类指令(24条) 3.5.3 逻辑异或 前2条指令的功能是把源操作数与直接地址指示的单元内容异或,结果送入直接地址指示的单元。 后4条指令的功能是把源操作数与累加器A的内容异或,结果送入累加器A中。 例 若(A)=C3H,(R0)=AAH,执行指令 XRL A,R0 之后,(A)=69H。 3.5 逻辑运算与循环类指令(24条) 3.5.4 累加器清0和取反 ;A ← 0 ;A ← 这两条指令的功能分别是把累加器A的内容清 0 和取反,结果仍在A中。 例 若(A)=A5H,执行指令 CLR A 之后,(A)=00H。 3.5 逻辑运算与循环类指令(24条) 3.5.5 累加器循环移位 3.5 逻辑运算与循环类指令(24条) 有时“累加器A内容乘2”的任务可以利用指令RLC A方便地完成。 例:若(A)= BDH = 1011 1101B,(CY)=0。执行指令 RLC A 后,(CY)=1,(A)= 0111 1010B = 7AH,(CY)=1。 结果为:17AH(378)=2×BDH(189)。 3.5 逻辑运算与循环类指令(24条) 3.6 控制转移类指令(17条) 通常情况下,程序的执行是顺序进行的,但也可以根据需要改变程序的执行顺序,这种情况称作程序转移。 控制程序的转移要利用转移指令。80C51的转移指令有无条件转移、条件转移及子程序调用与返回等。 3.6 控制转移类指令(17条) 一、 短跳转 3.6.1 无条件转移 AJMP addr11 ; PC ←(PC)+ 2, ; PC10~0 ← addr11 该指令执行时,先将PC的内容加2(这是PC指向的是AJMP的下一条指令),然后把指令中11位地址码传送到PC10~0,而PC15~11保持原内容不变。 在目标地址的11位中,前3位为页地址,后8位为页内地址(每页含256个单元)。 3.6 控制转移类指令(17条) 当前PC的高5位(即下条指令的存储地址的高5位)可以确定32个2KB段之一。所以,AJMP指令的转移范围为包含AJMP下条指令在内的2KB区间。 3.6 控制转移类指令(17条) 二、 长跳转 LJMP addr16 ;PC ← addr16 第一字节为操作码,该指令执行时,将指令的第二、三字节地址码分别装入指令计数器PC的高8位和低8位中,程序无条件地转移到指定的目标地址去执行。 LJMP提供的是16位地址,因此程序可以转向64KB的程序存储器地址空间的任何单元。 例 若标号“NEWADD”表示转移目标地址1234H。执行指令 LJMP NEWADD 时,两字节的目标地址将装入PC中,使程序转向目标地址 1234H 处运行。 3.6 控制转移类指令(17条) 三、 相对转移 SJMP rel ;PC ←(PC)+ 2,PC ←(PC)+ rel 第一字节为操作码,第二字节为相对偏移量 rel,rel 是一个带符号的偏移字节数(补码),取值范围为 -128~+127 (00H~7FH对应表示0 ~ +127,80H~FFH对应表示-128~-1)。负数表示反向转移,正数表示正向转移。 rel 可以是一个转移目标地址的标号,由汇编程序在汇编过程中自动计算偏移地址,并填入指令代码中。在手工汇编时,可用转移目标地址减转移指令所在的源地址,再减转移指令字节数2得到偏移字节数rel。 例 若标号“NE

文档评论(0)

9885fp + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档