汇编 OR运算

Posted whzym111

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编 OR运算相关的知识,希望对你有一定的参考价值。

知识点:

? OR运算
? 逻辑或
? 按位或


一、OR运算
  12||1=1;   1||01=1;
  0||0=0;
   ||   //逻辑或
   |    //按位或

int _tmain(int argc, _TCHAR* argv[])
{
	int i,j,k;
	/*i=21;
	j=65;*/
	i=0x33; //0110011
	j=0x66; //1100110
	        //1110111
	        //i|j=0x77;
	k=i||j;//逻辑或0,1
	__asm mov eax,eax

	k=i|j; //按位或
//00401006  |.  C745 FC 33000>MOV DWORD PTR SS:[EBP-4],33              ;  i=0x15=0010101
//0040100D  |.  C745 F4 66000>MOV DWORD PTR SS:[EBP-C],66              ;  j=0x41=1000001
//00401014  |.  837D FC 00    CMP DWORD PTR SS:[EBP-4],0               ;  i Or j=1010101
//00401018  |.  75 0F         JNZ SHORT asm_OR.00401029
//0040101A  |.  837D F4 00    CMP DWORD PTR SS:[EBP-C],0
//0040101E  |.  75 09         JNZ SHORT asm_OR.00401029
//00401020  |.  C745 F0 00000>MOV DWORD PTR SS:[EBP-10],0              ;  t=0;
//00401027  |.  EB 07         JMP SHORT asm_OR.00401030
//00401029  |>  C745 F0 01000>MOV DWORD PTR SS:[EBP-10],1              ;  t=1;
//00401030  |>  8B45 F0       MOV EAX,DWORD PTR SS:[EBP-10]
//00401033  |.  8945 F8       MOV DWORD PTR SS:[EBP-8],EAX             ;  k=t=i||j;
//00401036  |.  8BC0          MOV EAX,EAX                              ;  __asm mov eax,eax
//00401038  |.  8B4D FC       MOV ECX,DWORD PTR SS:[EBP-4]
//0040103B  |.  0B4D F4       OR ECX,DWORD PTR SS:[EBP-C]              ;  ecx=i OR j
//0040103E  |.  894D F8       MOV DWORD PTR SS:[EBP-8],ECX             ;  k=ecx




	return 0;
}

 

以上是关于汇编 OR运算的主要内容,如果未能解决你的问题,请参考以下文章

printf中的自增运算符

在Linux中不使用乘法运算符的情况下,两个整数乘积的汇编代码

汇编语言系列Ⅱ 实现简单数学运算

STM32单片机算法指令?

C++中关系运算符的效率问题

c语言位运算问题?