汇编 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运算的更多相关文章
- 汇编 XOR运算
XOR运算 按位异或^ 一.按位异或^ 运算符^ 1^1=0;0^0=0; //相同则为0 0^1=1;1^0=1; //不相同为1 1101^0110=1011; // asm_XOR.c ...
- 汇编 AND 运算
AND运算 逻辑与&& 按位与& 一.AND运算 1&&12=1; 12&&0=0; 0&&1=0; 0040100 ...
- 汇编:实现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 汇编指令符号大全 +.-.*./∶算术运算符. &∶宏处理操作符. ...
随机推荐
- Hive分组取Top N
Hive在0.11.0版本开始加入了row_number.rank.dense_rank分析函数,可以查询分组排序后的top值 说明: row_number() over ([partition ...
- [SSRS / RV] (.rdlc报表)冻结表头,固定行列标题
转自:https://blog.csdn.net/dietime1943/article/details/72846171?utm_source=blogxgwz9 Reporting Service ...
- javascript获取网页各种高宽及位置总结
screen对象 获取屏幕的高宽(分辨率) screen.width //屏幕的宽 screen.height //屏幕的高 screen.availWidth //屏幕可用宽度 屏幕的像素高度减去系 ...
- leveldb源码阅读
http://blog.csdn.net/sparkliang/article/details/8567602 http://brg-liuwei.github.io/tech/2014/10/15/ ...
- 异常System.BadImageFormatException
[问题描述] Server Error in '/' Application. Could not load file or assembly 'WebDemo' or one of its depe ...
- guider – 全系统Linux性能分析器
Guider是一个免费且开源的,功能强大的全系统性能分析工具,主要以Python for Linux 操作系统编写. 它旨在衡量系统资源使用量并跟踪系统行为,从而使其可以有效分析系统性能问题或进行性能 ...
- ZooKeeper 管理脚本
0. 说明 编写 xzk.sh 脚本,是为了方便在 s101 节点上启动所有的 Zookeeper 进程 1. xzk.sh 脚本 #!/bin/bash ; i<=; i++)) ; do t ...
- [WPF]启动参数
在App.xaml.cs中重写方法OnStartup protected override void OnStartup(StartupEventArgs e) { //e.Args为命令行参数 // ...
- 某某D的手伸的实在太长了,路由器也未能幸免,致被阉割的TP-Link
前段时间整了个服务器架上l2tp.server, TP-Link路由连上去后,全网走l2tp通道,而且不能配置相关的路由表 然后研究啊 找啊 查啊,确定是路由没有这功能 找客服问了一下,他一听就懂了, ...
- css常见知识点
1.内核区分 希望某一个浏览器能一统江湖 -ms-transform:rotate(7deg); //-ms代表ie内核识别码 -moz-transform:rotate(7deg); //-moz代 ...