知识点:

 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运算的更多相关文章

  1. 汇编 XOR运算

     XOR运算  按位异或^ 一.按位异或^ 运算符^ 1^1=0;0^0=0; //相同则为0 0^1=1;1^0=1; //不相同为1 1101^0110=1011; // asm_XOR.c ...

  2. 汇编 AND 运算

     AND运算  逻辑与&&  按位与& 一.AND运算 1&&12=1; 12&&0=0; 0&&1=0; 0040100 ...

  3. 汇编:实现C语言的 ||与&&运算

    ;C程序转汇编(或运算链接) DATAS SEGMENT a Dw b dw cc dw d dw m dw n dw string db dup(?) DATAS ends CODES SEGMEN ...

  4. ARM汇编

    ARM汇编 ISA ISA即指指令集架构(Instruction Set Architecture)是与程序设计有关的计算机架构的一部分,包括本地数据类型.指令.寄存器.地址模式.内存架构.中断和意外 ...

  5. 网络误区:不用中间变量交换2个变量的value,最高效的是异或运算.

    本文记录了不使用中间变量交换2个变量的value,很多的网络留言说是直接异或运算就可以了,而且效率很高,是真的吗? 这里简单的说一下我的环境:Win7 32位,Qt creator 5.4.1 编译器 ...

  6. Linux内核--C语言中内嵌汇编 asm __volatile__

    在内嵌汇编中,可以将C语言表达式指定为汇编指令的操作数,而且不用去管如何将C语言表达式的值读入哪个寄存器,以及如何将计算结果写回C 变量,你只要告诉程序中C语言表达式与汇编指令操作数之间的对应关系即可 ...

  7. ASM:《X86汇编语言-从实模式到保护模式》5-7章:汇编基础

    第5-7章感觉是这一本书中比较奇怪的章节,可能是作者考虑到读者人群水平的差异,故意由浅入深地讲如何在屏幕上显示字符和使用mov,jmp指令等等,但是这样讲的东西有点重复,而且看了第六,第七章以后,感觉 ...

  8. 学习linux内核时常碰到的汇编指令(2)

    转载:http://blog.sina.com.cn/s/blog_4be6adec01007xvh.html JNGE∶指令助记符——(有符号数比较)不大于且不等于转移(等价于JL).当SF和OF异 ...

  9. 学习linux内核时常碰到的汇编指令(1)

     转载:http://blog.sina.com.cn/s/blog_4be6adec01007xvg.html 80X86 汇编指令符号大全 +.-.*./∶算术运算符. &∶宏处理操作符. ...

随机推荐

  1. url override and HttpSession implements session for real

    无论cookie有没有禁用,HttpSession都有效 package com.test; import javax.servlet.ServletException; import javax.s ...

  2. 2016年,谁是最受欢迎的 Java EE 服务器?

    [编者按]本文作者为性能监控工具 Plumbr 创始人 Nikita Salnikov-tarnovski,主要介绍2016年度最广为使用的 Java EE 容器及其排名变化情况.本文系国内 ITOM ...

  3. Java为什么不支持多继承

    类定义属性和方法 描述某一类事物的抽象 而接口定义的是行为 并不限于任何具体意向 按照逻辑上来说 单继承更明确 一个子类就应该是其父类代表的事物中的某个更具体的类别 不应该即是这种东西又是那种东西 而 ...

  4. Android的.so文件、ABI和CPU的关系

    Android的.so文件.ABI和CPU的关系有篇文章描述的很详细了 见 http://blog.csdn.net/xx326664162/article/details/51163905

  5. vs 2012/2013 等工具中,使用正则表达式,查找、替换

    有这样一个需求,就是一个文本中,需要找出指定格式的字符串进行指定的替换,当前我的真实需求是,一个sql创建触发器的文本,我需要将所有的 包含 TB_SYS 的表名后面添加一个 “_NEW”字符串! 例 ...

  6. BAT文件语法和技巧

    首先,批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任 ...

  7. linux stat 简单介绍

    stat 命令查看文件或文件系统的状态时间等属性 用法:stat [参数]... 文件... 简单的介绍一下stat命令显示出来的文件其他信息: - File:显示文件名 - Size:显示文件大小 ...

  8. VS2010使用Release进行调试的三个必须设置选项

    How to: Debug a Release Build You can debug a release build of an application. To debug a release bu ...

  9. 第 14 章 结构和其他数据形式(伸缩型数组成员C99)

    伸缩型数组成员C99 声明一个伸缩型数组成员的规则: 1.伸缩型数组成员必须是结构的最后一个成员: 2.结构中必须至少有一个成员: 3.伸缩数组的方括号是空的. 示例 struct flex { in ...

  10. [BZOJ 1568][JSOI2008]Blue Mary开公司

    [BZOJ 1568][JSOI2008]Blue Mary开公司 题意 \(n\) 次操作, 维护一个一次函数集合 \(S\). 有两种操作: 给定 \(b\) 和 \(k\), 向 \(S\) 中 ...