51汇编逻辑位操作的小口诀

来源:本站
导读:目前正在解读《51汇编逻辑位操作的小口诀》的相关信息,《51汇编逻辑位操作的小口诀》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《51汇编逻辑位操作的小口诀》的详细说明。
简介:玩单片机我用汇编,尽管C很强大,咱玩玩小东西汇编也够了,而且精炼,其中有个关于位操作的内容,最近由于要驱动一个拆下的变送器液晶表头玩,涉及到了51片子能直接位寻址之外的关于位操作的问题,其实也就是下面这段内容:

汇编逻辑运算指令

逻辑运算指令是另一组重要的指令,它包括:逻辑与(AND)、逻辑或(OR)、逻辑非(NOT)和异或指令(XOR),逻辑运算指令也是经常使用的指令。

1、逻辑与操作指令AND(Logical AND Instruction)

指令的格式:ANDReg/Mem, Reg/Mem/Imm

受影响的标志位:CF(0)、OF(0)、PF、SF和ZF(AF无定义)

指令的功能是把源操作数中的每位二进制与目的操作数中的相应二进制进行逻辑“与操作”,操作结果存入目标操作数中。

例5.6已知(BH)=67H,要求把其的第0、1和5位置为0。

解:可以构造一个立即数,其第0、1和5位的值为0,其它位的值为1,该立即数即为:0DCH或11011100B,然后用指令"AND BH, 0DCH"来实现此功能。

2、逻辑或操作指令OR(Logical OR Instruction)

指令的格式:ORReg/Mem, Reg/Mem/Imm

受影响的标志位:CF(0)、OF(0)、PF、SF和ZF(AF无定义)

指令的功能是把源操作数中的每位二进制与目的操作数中的相应二进制进行逻辑"或操作",操作结果存入目标操作数中。

例5.7已知(BL)=46H,要求把其的第1、3、4和6位置为1。

解:构造一个立即数,使其第1、3、4和6位的值为1,其它位的值为0,该立即数即为:5AH或01011010B,然后用指令"OR BL, 5AH"来实现此功能。

3、逻辑非操作指令NOT(Logical NOT Instruction)

指令的格式:NOTReg/Mem

其功能是把操作数中的每位变反,即:1←0,0←1。指令的执行不影响任何标志位。

例5.8已知(AL)=46H,执行指令“NOTAL”后,AL的值是什么?

解:执行该指令后,(AL)=0B9H。

4、逻辑异或操作指令XOR(Exclusive OR Instruction)

指令的格式:XORReg/Mem, Reg/Mem/Imm

受影响的标志位:CF(0)、OF(0)、PF、SF和ZF(AF无定义)

指令的功能是把源操作数中的每位二进制与目的操作数中的相应二进制进行逻辑"异或操作",操作结果存入目标操作数中。

例5.9已知(AH)=46H,要求把其的第0、2、5和7位的二进制值变反。

解:构造一个立即数,使其第0、2、5和7位的值为1,其它位的值为0,该立即数即为:0A5H或10100101B,然后再用指令"XOR AH, 0A5H"来实现此功能。

=============================================

这么大段内容也不好记住,我还是总结个小口诀吧,大家看觉得行么?

置零就用与,写零就得零;

置一就用或,写一就得一;

要想位取反,就得用异或;

见一就取反,见零不改变。

大家有更精炼的么?共享出来大家一起学习哈!

提醒:《51汇编逻辑位操作的小口诀》最后刷新时间 2024-03-14 01:09:00,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《51汇编逻辑位操作的小口诀》该内容的真实性请自行鉴别。