课件12 逻辑运算、环移指令和位操作..ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.2.2 位置1指令 SETB C ;C←1 SETB bit ;bit←1 例:设(C)=0,(P1),执行指令 SETB C SETB P1.0 执行结果:(C)=1,(P1) 3.2.3 位取反指令 例:(P1),执行 CPL P1.1 CPL P1.2 执行结果:(P1) CPL C ;C← CPL bit ;bit← 3.3 位变量逻辑操作 这组指令的第一操作数必须是C,两位逻辑运算的结果送C中,式中的斜杠是位取反,但并不影响操作数本身的值。 ANL C,bit ; C←C∧(bit) ANL C,/bit ;C←C∧/(bit) ORL C,bit ;C←C∨(bit) ORL C,/bit ; C←C∨/(bit) 3.3.1位逻辑“与”指令 ANL C, bit ; C ←(C)∧(bit) ANL C, /bit ; C ←(C)∧( ) 例 设P1为输入口,P3.0作输出口,执行下列命令: MOV C, P1.0 ;(P1.0)→C ANL C, P1.1 ;(C)∧(P1.1)→C ANL C, /P1.2 ;(C)∧ →C MOV P3.0, C ;(C)→P3.0 结果:P3.0=(P1.0)∧(P1.1)∧ 3.3.2 位逻辑“或”指令 例1 写出位地址(2AH)=1和(32H)=1、累加器(ACC.7)=0相或的程序: MOV C, 2AH ;(C)←(2AH) ORL C, 32H ;(C)←(C)∨(32H) ORL C, ACC.7 ;(C)←(C)∨(ACC.7) 结果:(C)=1。 ORL C, bit ;C←(C)∨(bit) ORL C, /bit ;C←(C)∨ 逻辑运算、环移指令和位操作 一、逻辑运算 包括对字节操作数和对位操作数(布尔逻辑运算)进行逻辑运算。对字节操作又包括单字节操作数和双字节操作数两类。 对字节操作数进行逻辑运算时,只有RLC A和RRC A两条指令影响标志位C,其余均不影响任何标志位。 1.1 逻辑“与”指令 ANL A, Rn ;A←(A)∧(Rn) ANL A, direct ;A←(A)∧(direct) ANL A, @Ri ;A←(A)∧((Ri)) ANL A, #data ;A←(A)∧#data ANL direct, A ;direct ←(direct) ∧(A) ANL direct, #data ;direct ←(direct) ∧#data ANL指令常用来屏蔽某些不用的位。 例如: ANL P1, 执行结果:将P1口锁存器的第0,3,4,7位的内容屏蔽掉。 1.2 逻辑“或”指令 ORL A, Rn ;A←(A)∨(Rn) ORL A, direct ;A←(A)∨(direct ) ORL A, @Ri ;A←(A)∨((Ri)) ORL A, #data ;A←(A)∨ #data ORL direct, A ; direct ← (direct) ∨ (A) ORL direct, #data ; direct ← (direct) ∨ #data 例题:将累加器A的内容送P1口的低5位,传送时不影响P1口的高3位。 ANL A, ANL P1, ORL P1,A 用ORL指令可对一些指定位置1。 例如:ORL A,#80H 可将A中的最高位置1,其他位保持不变。 1.3 逻辑“异或”指令 XRL A, Rn ;A←(A) (Rn) XRL A, direct ;A←(A) (direct) XRL A, @Ri ;A←(A) ((Ri)) XRL A, #data ;A←(A) #data XRL direct, A ;direct← (direct) (A) XRL direct, #

文档评论(0)

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

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

1亿VIP精品文档

相关文档