我是靠谱客的博主 甜美裙子,最近开发中收集的这篇文章主要介绍汇编语言的逻辑运算---与或非 异或,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

与运算 and

逻辑与运算指令AND
格式:AND OPRD1,OPRD2
功能:对两个操作数实现按位逻辑与运算,结果送至目的操作数,本指令可以进行字节或字的‘与
运算,
本指令影响标志位PF,SF,ZF,使CF=0,OF=0.例如,在同一个通用寄存器自身相与时,操作数虽不变,但使CF置零,本指令主要用于修改操作数或置某些位为0.
两个数二进制按位进行对比,两个数该位都是1结果就是1,否则就是0
C语言: &

#include<stdio.h>
main(){
int a;
_asm{
mov eax,5
mov ebx,6
and eax,ebx
mov a,eax
};
printf("%dn",a);
//结果为4
}

或运算 or

逻辑或指令OR
格式:OR OPRD1,OPRD2
功能:or指令完成对两个操作数的按位‘或’运算,结果送至目的操作数中,本指令可以进行字节或字的‘或’运算。
或:两个数二进制按位进行对比,两个数该位其中有一个或两个为1结果就为1,全部为零结果就为0.
C语言: |

#include<stdio.h>
main(){
int a;
_asm{
mov eax,5
mov ebx,6
or eax,ebx
mov a,eax
};
printf("%dn",a);
//结果为7
}

异或运算 xor

逻辑异或运算指令XOR
格式:XOR OPRD1,OPRD2
功能:实现两个操作数按位异或运算,结果送至目的操作数
异或运算:两个数二进制按位进行对比,两个数该位相同就为0,不同就为1.
C语言:

#include<stdio.h>
main(){
int a;
_asm{
mov eax,5
mov ebx,6
xor eax,ebx
mov a,eax
};
printf("%dn",a);
//结果为3
}

非运算 not

逻辑运算符:NOT
格式:NOT exp
功能:按位求反
非运算:两个数二进制按位进行对比,按位取反,!1=0,!0=1;
C语言: !

#include<stdio.h>
main(){
int a;
_asm{
mov eax,5
mov ebx,6
not eax
// 对eax取反 ,对ebx取反输出结果为-7
mov a,eax
};
printf("%dn",a);
//结果为-6
}

最后

以上就是甜美裙子为你收集整理的汇编语言的逻辑运算---与或非 异或的全部内容,希望文章能够帮你解决汇编语言的逻辑运算---与或非 异或所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部