单片机原理及应用 教学课件 作者 孙康岭 刘永海 主编逻辑运算与循环类指令.ppt

单片机原理及应用 教学课件 作者 孙康岭 刘永海 主编逻辑运算与循环类指令.ppt

ID:50166180

大小:215.50 KB

页数:17页

时间:2020-03-09

单片机原理及应用 教学课件 作者 孙康岭 刘永海 主编逻辑运算与循环类指令.ppt_第1页
单片机原理及应用 教学课件 作者 孙康岭 刘永海 主编逻辑运算与循环类指令.ppt_第2页
单片机原理及应用 教学课件 作者 孙康岭 刘永海 主编逻辑运算与循环类指令.ppt_第3页
单片机原理及应用 教学课件 作者 孙康岭 刘永海 主编逻辑运算与循环类指令.ppt_第4页
单片机原理及应用 教学课件 作者 孙康岭 刘永海 主编逻辑运算与循环类指令.ppt_第5页
资源描述:

《单片机原理及应用 教学课件 作者 孙康岭 刘永海 主编逻辑运算与循环类指令.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、3.3.3逻辑运算与循环类指令此类指令共24条,包括或、与、异或、求反、清0、循环移位。其共同特点是当A作目的操作数(第一操作数)时,影响P位;带进位的移位指令影响CY位,其余都不影响PSW。逻辑运算类指令有与、或、异或、清零、取反、移位等24条操作指令:1)逻辑运算指令(20条)a.逻辑与指令(6条)ANLb.逻辑或指令(6条)ORLc.逻辑异或指令(6条)XRLd.累加器A清0和取反指令(2条)CLRCPL2)循环移位指令(4条)RRRRCRLRLC1.逻辑“与”运算指令(6条)这组指令的功能是:将两个操作数的内容按位进行逻辑与操作,并将结果送回

2、目的操作数的单元中。∧--“与”,“有0出0,全1为1”它们都是按位与,其中4条指令的第一操作数为A,两条指令的第一操作数为direct。“与”指令常用于对某位清0(其余位不受影响)。例如,将A中的最高位屏蔽(清零)。ANLA,#7FH;(A)=0×××××××B例:若(A)=3FH,(R1)=68H,执行指令“ANLA,R1”以后,(A)=28H。算式如下:(A)00111111∧(R1)0110100000101000从例中可以看出,若保持某数的低四位不变,可用二进制数1111同该数的低四位相与。例:若(A)=39H,执行指令“ANLA,#0FH

3、”以后,(A)=09H。算式如下:(A)00111001∧0000111100001001从例中可知,若保持某数的低四位不变,高四位全被屏蔽,可用1111与低四位相与,用0000与高四位相与。2.逻辑“或”运算指令(6条)这组指令的功能是:将两个操作数的内容按位进行逻辑或操作,并将结果送回目的操作数的单元中。∨--“或”,“有1出1,全0为0”此类指令都是按位相“或”。其中有4条指令的第一操作数都为A,另外两条指令的第一操作数为direct,不影响PSW。若直接寻址I/O端口时,则进行读—修改—写的逻辑操作,具体是:从该端口锁存器读入原始口数据的值(

4、而不是读引脚状态),经修改后写到该输出口去。“或”指令常用于对某位置1(其余位不受影响)。例如:使P1口的低2位置1,其余位不变,用以下指令实现:ORLP1,#00000011B;(P1)=××××××11B例:若(A)=39H,执行指令“ORLA,#0FH”以后,(A)=3FH。算式如下:(A)00111001∨0000111100111111从上例可知,若保持某数的低四位全被置1,高四位不变,可用1111与低四位相或,用0000与高四位相或。3.逻辑“异或”运算指令(6条)这组指令的功能是:将两个操作数的内容按位进行逻辑异或操作,并将结果送回到目

5、的操作数的单元中。“异或”,“不同出1,相同为0”同上类似,它们都是按位异或,其中4条指令的第一操作数为A,另外两条指令的第一操作数为direct。对I/O端口操作数,进行读—修改—写的逻辑操作。“异或”指令常用于对某位取反(其余位不受影响)。例如:使P1口的低2位为0,高2位取反,其余位不变。ANLP1,#11111100B;先对低2位清0XRLP1,#11000000B;再对高2位取反可见要取反的那些位用“1”相“异或”,维持不变的那些位用“0”相“异或”。例:若(A)=5AH,指令“XRLA,#5AH”执行后,(A)=0,算式如下:010110

6、100101101000000000可以看出,两个相同的数相异或,结果为0。利用这个特性,异或指令可用于判断两个字节中的数据是否相等。例:要求如果(30H)=(50H),将PSW中的F0位置1。程序段如下:CLRF0MOVA,30HXRLA,50HJNZOUTSETBF0例:若(A)=5AH,指令“XRLA,#3CH”执行后,(A)=66H,再执行一次指令“XRLA,#3CH”,(A)=5AH。一个数a(明文)与另一个数b(密钥)相异或得到结果c(密文),这是加密过程,将c与b再进行一次异或所得结果等于a,实现了信息的还原(即解密)。利用这个特点再

7、加上其他的算法,可以实现信息的简单加密与解密。4.累加器A清0和取反指令CLRA;A0CPLA;A逐位取反例:假设(A)=98H=10011000B,在执行指令“CPLA”后,(A)=67H=01100111B。A7A6…...A1A0A7A6……A1A05.循环移位指令(4条)(1)循环左移指令:RLA(2)循环右移指令:RRA例如:若(A)=06H=00000110B,则在执行指令“RLA”后,(A)=0CH=00001100B,相当于A的原值乘以2,前提是A的原值为无符号数且小于80H。若(A)=86H=10000110B,则

8、在执行指令“RLA”后,(A)=0DH=00001101B,结果不是2倍的关系。例如:若(A)=86H=10

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。