汇编 AND 运算
AND运算
逻辑与&&
按位与& 一、AND运算
1&&12=1;
12&&0=0; 0&&1=0;
00401000 /$ 55 PUSH EBP
00401001 |. 8BEC MOV EBP,ESP
00401003 |. 83EC 10 SUB ESP,10
00401006 |. C745 FC 93000>MOV DWORD PTR SS:[EBP-4],93 ; i=0x93 =10010011
0040100D |. C745 F4 87000>MOV DWORD PTR SS:[EBP-C],87 ; j=0x87 =10000111
00401014 |. 837D FC 00 CMP DWORD PTR SS:[EBP-4],0 ; i and j=10000011
00401018 |. 74 0F JE SHORT asm_AND.00401029 ; JNE
0040101A |. 837D F4 00 CMP DWORD PTR SS:[EBP-C],0
0040101E |. 74 09 JE SHORT asm_AND.00401029
00401020 |. C745 F0 01000>MOV DWORD PTR SS:[EBP-10],1 ; t=1
00401027 |. EB 07 JMP SHORT asm_AND.00401030
00401029 |> C745 F0 00000>MOV DWORD PTR SS:[EBP-10],0 ; t=0;
00401030 |> 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10] ; eax=t
00401033 |. 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX ; k=eax=i&&j;
00401036 |. 8BC0 MOV EAX,EAX ; __asm mov eax,eax
00401038 |. 8B4D FC MOV ECX,DWORD PTR SS:[EBP-4] ; ecx=i
0040103B |. 234D F4 AND ECX,DWORD PTR SS:[EBP-C] ; ecx=i&j;
0040103E |. 894D F8 MOV DWORD PTR SS:[EBP-8],ECX ; k=ecx=i&j;
00401041 |. 33C0 XOR EAX,EAX
00401043 |. 8BE5 MOV ESP,EBP
00401045 |. 5D POP EBP
00401046 \. C3 RETN
汇编 AND 运算的更多相关文章
- 汇编 XOR运算
XOR运算 按位异或^ 一.按位异或^ 运算符^ 1^1=0;0^0=0; //相同则为0 0^1=1;1^0=1; //不相同为1 1101^0110=1011; // asm_XOR.c ...
- 汇编 OR运算
知识点: OR运算 逻辑或 按位或 一.OR运算 12||1=1; 1||01=1; 0||0=0; || //逻辑或 | //按位或 int _tmain(int argc, _TCHA ...
- 汇编:实现C语言的 ||与&&运算
;C程序转汇编(或运算链接) DATAS SEGMENT a Dw b dw cc dw d dw m dw n dw string db dup(?) DATAS ends CODES SEGMEN ...
- ARM汇编
ARM汇编 ISA ISA即指指令集架构(Instruction Set Architecture)是与程序设计有关的计算机架构的一部分,包括本地数据类型.指令.寄存器.地址模式.内存架构.中断和意外 ...
- 网络误区:不用中间变量交换2个变量的value,最高效的是异或运算.
本文记录了不使用中间变量交换2个变量的value,很多的网络留言说是直接异或运算就可以了,而且效率很高,是真的吗? 这里简单的说一下我的环境:Win7 32位,Qt creator 5.4.1 编译器 ...
- Linux内核--C语言中内嵌汇编 asm __volatile__
在内嵌汇编中,可以将C语言表达式指定为汇编指令的操作数,而且不用去管如何将C语言表达式的值读入哪个寄存器,以及如何将计算结果写回C 变量,你只要告诉程序中C语言表达式与汇编指令操作数之间的对应关系即可 ...
- ASM:《X86汇编语言-从实模式到保护模式》5-7章:汇编基础
第5-7章感觉是这一本书中比较奇怪的章节,可能是作者考虑到读者人群水平的差异,故意由浅入深地讲如何在屏幕上显示字符和使用mov,jmp指令等等,但是这样讲的东西有点重复,而且看了第六,第七章以后,感觉 ...
- 学习linux内核时常碰到的汇编指令(2)
转载:http://blog.sina.com.cn/s/blog_4be6adec01007xvh.html JNGE∶指令助记符——(有符号数比较)不大于且不等于转移(等价于JL).当SF和OF异 ...
- 学习linux内核时常碰到的汇编指令(1)
转载:http://blog.sina.com.cn/s/blog_4be6adec01007xvg.html 80X86 汇编指令符号大全 +.-.*./∶算术运算符. &∶宏处理操作符. ...
随机推荐
- Javascript执行流总结
面对各种各样的JavaScript代码,我们有时候难免会犯错.可当自己仔细研究一下,哦原来是这么回事.有时候怎么会想为什么Javascript程序会是这样执行的呢?为什么没有得到自己预期的答案呢?自己 ...
- 回归JavaScript基础(十)
主题:创建对象 原型模式 JavaScript中的每个对象都有一个prototype属性(原型属性),这个属性是一个指针,指向一个对象,而这个对象可以由一些属性和方法组成.被指向的对象,可以是多个对象 ...
- 留言板0.4_model中的数据库(1)
1.先在数据库中加入一天测试数据先 2.在model的"views"中载入数据库和model的类 import pymysql from .models import UserMe ...
- windows-oracle 11g dataguard with dgbroker
一: DG的配置 oracle dg 考验dba综合能力.首先明确3个知识点: SID, SERVICE_NAME,,DB_NAME, DB_UNIQUE_NAME SID: 实例名,用于标识一个数据 ...
- 巧用top percent优化top 1
废话不多说,直接上sql B.CREW_ID, E.CREW_NAME,C.OFFBLK,C.ONBLK,dbo.PEK_OPS_Date(A.STD) as STD FROM dbo.FLIGHTS ...
- Sqlserver数据库中,跨权限执行语句
问题来源:最近有同事需要执行批量删除语句.根据他提供的业务需求,推荐他使用“TRUNCATE TABLE”语句.但使用该语句需要 ALTER权限,这与执行用户的角色不符. 解决办法:使用EXECUTE ...
- MySQL binlog group commit--commit stage
说明: 1.process_commit_stage_queue:调用调用ha_commit_low->innobase_commit进入innodb层依次提交 2. process_after ...
- 解决iPhone滑动时滑到另一个层级导致卡顿问题
问题概览: 两个div都可以滑动时,会造成滑动顶层div时,底层div也会跟着滑动.如图示. 解决方法: 添加CSS即可. 代码如下 * { -webkit-overflow-scrolling: t ...
- 大数据开发实战:HDFS和MapReduce优缺点分析
一. HDFS和MapReduce优缺点 1.HDFS的优势 HDFS的英文全称是 Hadoop Distributed File System,即Hadoop分布式文件系统,它是Hadoop的核心子 ...
- Custom Voice 操作步骤
首先,准备数据 1.Unicode格式的Transcript 2wav格式语音数据,并打包 好,现在POSTMAN进行api测试. 先拿着订阅密钥(Subscription Key)获取令牌(Toke ...