- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3-6布尔操作类指令教程
3-6 布尔操作类指令;指令格式如下:
CLR C ;(C)←(0)
CLR bit ;( bit)←(0)
以上指令可使直接寻址位(bit)或位累加器C清0,不影响其他标志。
例1 片内RAM单元26H的内容为0FFH,执行指令:
CLR 32H
结果:(26H)=0FBH),其中,32H为26H单元第二位的位地址。;指令格式如下:
CPL C ;(C)←(/C)
CPL bit ;(bit)←(/bit)
以上指令把位累加器C或者直接寻址位(bit)内容取反,不影响其他标志位。
例1 执行下面的指令序列:
MOV P1,#2FH ;(P1)←(2FH)
CPL P1.0 ;P1.0位求反
CPL P1.2 ;P1.2位求反
结果:(P1)=2AH)。;指令格式如下:
SETB C ;(C)←1
SETB bit ;(bit)←1
以上指令把进位标志C或者任何可直接寻址位(bit)置1,不影响其他标志位。
例1 假设进位标志C内容为0,输出口P1原来的内容为0FH),则执行下面指令:
SETB C
SETB P1.7
结果:(C)=1,(P1)=8FH)。 ;例1 当位地址(2AH)=1,(32H)=1,同时累加器中(ACC.7)=0时,进位位C=1,否则C清0,可编程序如下:
MOV C, 2AH ;(C)←(2AH)
ANL C, 32H ;(C)←(C)∧(32H)
ANL C, /ACC.7 ;(C)←(C)∧(/ACC.7);指令助记符与功能说明如下:
目的操作数 源操作数 功能说明
ORL C, bit ;(C)←(C)∨(bit)
ORL C, /bit ;(C)←(C)∨(/bit)
位或指令的功能是将直接寻址位的内容或直接寻址位内容取反后(不改变原来位的内容)和位累加器C的内容相或,结果保存在C中。
例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。;图3.5为判C转移指令的执行过程。;JB bit, rel ;若(bit)=1,则(PC)←(PC)+3+rel
;若(bit)=0,则(PC)←(PC)+3
JNB bit, rel ;若(bit)=0,则(PC)←(PC)+3+rel
;若(bit)=1,则(PC)←(PC)+3
JBC bit, rel ;若(bit)=1,则(PC)←(PC)+3+rel,而且(bit)清0
;若(bit)=0,则(PC)←(PC)+3;例1 假设前面的程序段一样,则分别执行下面三段程序。
程序1:
SETB 32H ;(32H)←1
JB 32H, K1 ;(32H)=1转K1处执行
K1: …
程序2:
CLR 32H ;(32H)←0
JNB 32H, K1 ;(32H)=0转K1处执行
K1: …
程序3:
SETB 32H ;(32H)←1
JBC 32H, K1 ;(32H)=1转K1处执行
K1: …
文档评论(0)