逻辑运算与循环类指令.pptVIP

逻辑运算与循环类指令.ppt

此“司法”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共17页,可阅读全部内容。
  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文档。上传文档
查看更多

逻辑运算与循环类指令;逻辑运算类指令有与、或、异或、清零、取反、移位等24条操作指令:;1.逻辑“与”运算指令(6条);它们都是按位与,其中4条指令的第一操作数为A,两条指令的第一操作数为direct。

“与”指令常用于对某位清0(其余位不受影响)。

例如,将A中的最高位屏蔽(清零)。

ANLA,#7FH;

(A)=0×××××××B;例:若(A)=3FH,(R1)=68H,执行指令“

ANLA,R1”以后,(A)=28H。算式如下:

(A)∧(R1)

从例中可以看出,若保持某数的低四位不变,可用二进制数1111同该数的低四位相与。

例:若(A)=39H,执行指令“ANLA,#0FH”以后,(A)=09H。算式如下:

(A)∧

从例中可知,若保持某数的低四位不变,高四位全被屏蔽,可用1111与低四位相与,用0000与高四位相与。;2.逻辑“或”运算指令(6条);此类指令都是按位相“或”。其中有4条指令的第一操作数都为A,另外两条指令的第一操作数为direct,不影响PSW。

若直接寻址I/O端口时,则进行读—修改—写的逻辑操作,具体是:从该端口锁存器读入原始口数据的值(而不是读引脚状态),经修改后写到该输出口去。

“或”指令常用于对某位置1(其余位不受影响)。

例如:使P1口的低2位置1,其余位不变,用以下指令实现:

ORL P1, ;

(P1)=××××××11B;例:若(A)=39H,执行指令“ORLA,#0FH”以后,(A)=3FH。算式如下:

(A)∨

从上例可知,若保持某数的低四位全被置1,高四位不变,可用1111与低四位相或,用0000与高四位相或。;3.逻辑“异或”运算指令(6条);同上类似,它们都是按位异或,其中4条指令的第一操作数为A,另外两条指令的第一操作数为direct。对I/O端口操作数,进行读—修改—写的逻辑操作。

“异或”指令常用于对某位取反(其余位不受影响)。

例如:使P1口的低2位为0,高2位取反,其??位不变。

ANLP1, ;先对低2位清0

XRLP1, ;再对高2位取反

可见要取反的那些位用“1”相“异或”,维持不变的那些位用“0”相“异或”。;例:若(A)=5AH,指令“XRLA,#5AH”执行后,(A)=0,算式如下:

?

可以看出,两个相同的数相异或,结果为0。

利用这个特性,异或指令可用于判断两个字节中的数据是否相等。

例:要求如果(30H)=(50H),将PSW中的F0位置1。程序段如下:

CLRF0

MOVA,30H

XRLA,50H

JNZOUT

SETBF0;例:若(A)=5AH,指令“XRLA,#3CH”执行后,(A)=66H,再执行一次指令“XRLA,#3CH”,(A)=5AH。

一个数a(明文)与另一个数b(密钥)相异或得到结果c(密文),这是加密过程,将c与b再进行一次异或所得结果等于a,实现了信息的还原(即解密)。利用这个特点再加上其他的算法,可以实现信息的简单加密与解密。

;4.累加器A清0和取反指令;A7?A6?…...?A1?A0;例如:若(A)=06H,则在执行指令“RLA”后,(A)=0CH,相当于A的原值乘以2,前提是A的原值为无符号数且小于80H。

若(A)=86H,则在执行指令“R

您可能关注的文档

文档评论(0)

知识海洋 + 关注
实名认证
文档贡献者

知识海洋

1亿VIP精品文档

相关文档