17- ++i和i++汇编代码
来源:互联网 发布:6city类似软件 编辑:程序博客网 时间:2024/06/02 00:20
int i = 0;00B417BE mov dword ptr [i],0 int c; i++;00B417C5 mov eax,dword ptr [i] 00B417C8 add eax,1 00B417CB mov dword ptr [i],eax ++i;00B417CE mov eax,dword ptr [i] 00B417D1 add eax,1 00B417D4 mov dword ptr [i],eax c = i++;00B417D7 mov eax,dword ptr [i] 00B417DA mov dword ptr [c],eax 00B417DD mov ecx,dword ptr [i] 00B417E0 add ecx,1 00B417E3 mov dword ptr [i],ecx c = ++i;00B417E6 mov eax,dword ptr [i] 00B417E9 add eax,1 00B417EC mov dword ptr [i],eax 00B417EF mov ecx,dword ptr [i] 00B417F2 mov dword ptr [c],ecx
发现i++ 和++i的反汇编代码步骤一样,都是三步骤:都是1、先将i放到累加器中(eax累加器),2、然后对累加器中的数进行+1,3、然后将累加器中的结果给i而将它与表达式放在一起后,就结果不同了c = i++;1、将i的值放到累加器中,2、将累加器中的值 给 c3、将i的值放到 计数器中(ecx)4、计数器加15、将计数器中的值 给ic = ++i1、将i的值放到累加器中,2、将累加器中的值加13、将累加器中的值 给 i4、将 i的值给 计数器(ecx)中5、将计数器中的值给c
1、
2、
3、
4、
5、
6、
7、
阅读全文
0 0
- 17- ++i和i++汇编代码
- i++和++i的代码分析
- 重读TCPL:从汇编语句浅析++i和i++
- 从汇编角度看++i和i++(续:++i, i++, printf 和 程序的可移植性 问题)
- 用汇编解i++
- 大话 i++、++i和i=++i、i=i++
- ++i,i++,--i和i--的区分
- 关于i++和++i
- i++和++i问题
- i++和++i
- ++i和i++
- i++和++i
- [i:]和[i]发音
- 关于++i和i++
- i++和++i
- 探讨i++和++i
- ++i和i++
- 探讨i++和++i
- ros定制自己的消息类型
- BZOJ 2064: 分裂 状压DP
- JDBC工具类连接数据库
- Android 用文件存储数据
- tensorflow构建手写数字图像识别---softmax算法
- 17- ++i和i++汇编代码
- C语言基础--测试程序中实现对FPS的控制
- 第十九课、C 函数指针与回调函数
- UVA10375选择与除法
- 笔试_HTML试题(1)
- Django模板(编写html代码
- /etc/profile 与 /etc/environment
- Quartz实现Oracle定时备份
- 51nod 1779 逆序对统计 [状压dp]