标准书号48-49 308-04807 第三章新.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机原理及应用 作者:徐新民 3 .5 逻辑运算和移位指令 1 .循环移位指令(4 条) 这4 条指令的作用是将累加器中的内容循环左移或右移一位,后两条指令是连同进位位CY一起移位。 RL  A ;累加器A中的内容左移一位,如图3-12 。 RR  A ;累加器A中的内容右移一位,如图3-12 。 RLC  A ;累加器A中的内容连同进位位CY 左移一位,如图3-12 所示。 RRC  A ;累加器A中的内容连同进位位CY 右移一位,如图3-12 所示。 图3-12   循环移位指令 这四条指令和前面讲过的SWAP A 指令构成了MCS-51单片机对累加器A 中数据进行移位操作的指令,但已足够能处理所有移位问题。 循环移位指令通常用于位测试、位统计、乘2、除2等操作。 2 .求反指令(1 条) 这条指令将累加器中的内容按位取反。 CPL A;累加器中的内容按位取反. 该条指令十分有用,常用于对某个存储单元或某个存储区域中带符号数的求补。 3 .清零指令(1 条) 这条指令将累加器中的内容清0 。 CLR A ;0 → (A) ,累加器中的内容清0 。 4 .逻辑与操作指令(6 条) 这组指令的作用是将两个单元中的内容执行逻辑与操作。 如果直接地址是I/O 地址,则为“读— 修改— 写”操作。 ANL A ,direct ;(A) ∧ (direct) → A ANL  direct ,# data ;(direct) ∧ data → direct ANL A ,# data ;(A) ∧ data → A ANL A ,Rn ;(A) ∧ (Rn) → A ANL  direct,A ;(direct) ∧ (A) → direct ANL A ,@ Ri ;(A) ∧ (Ri) → A 这组指令又可分为两类:一类是以累加器A 为目标操作数寄存器的逻辑与指令,该类指令可以把累加器A 和源地址中操作数按位进行逻辑乘操作,并把操作结果送回累加器A ;另一类是以direct为目标地址的逻辑与指令,它们可以把direct 中源操作数和源地址中源操作数进行按位逻辑乘操作,并把操作结果送入direct目标单元。 5 .逻辑或操作指令(6 条) 这组指令的作用是将两个单元中的内容执行逻辑或操作。 如果直接地址是I/O 地址,则为“读— 修改— 写”操作。 ORL A ,direct ;(A)∨ (direct) → A ORL  direct,# data ;(direct)∨ data → direct ORL A ,# data ;(A) ∨ data → A ORL A ,Rn ;(A) ∨ (Rn) → A ORL  direct,A ;(direct) ∨ (A) → direct ORL A ,@ Ri ;(A) ∨ (Ri) → A 这组指令和逻辑与指令类似,只是指令所执行的操作不是逻辑乘而是逻辑或。 逻辑或指令又称逻辑加指令,可以用于对某个存储单元或累加器A 中数据进行交换,使其中的某些位变为“1”而其余位不变。 6 .逻辑异或操作指令(6 条) 3 .6 控制转移指令 1 .无条件转移指令(4 条) 这组指令执行完后,程序就会无条件转移到指令所指向的地址上去。 长转移指令访问的程序存储器空间为16位地址64KB ,绝对转移指令访问的程序存储器空间为11位地址2KB空间。 LJMP  addr16 ;addr16 → PC AJMP  addr11 ;(PC) + 2 → PC ,addr11 → PC10 ~ 0 SJMP  rel ;(PC) + 2 + rel→ PC JMP  @ A+DPTR ;(A) + (DPTR) → PC 2 .条件转移指令(8 条) 程序可利用这组丰富的指令根据当前的条件进行判断,看是否满足某种特定的条件,从而控制程序的转向。 (1)累加器为零(非零)转移指令(2 条) JZ  rel ;A= 0 则转移,执行PC+ 2 + rel→ PC ;A≠ 0 ,程序顺序执行,PC+ 2 → PC JNZ  rel ;A≠ 0 则转移,执行PC+ 2 + rel→ PC ;A= 0 程序顺序执行,PC+ 2 → PC 这两条指令都是双字节转移指令,rel为相对地址偏移量,但rel在程序中也常用标号代替。 (2) 比较条件转移指令(4 条) CJNE A ,direct,re

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档