美文网首页
a++ 和 ++a

a++ 和 ++a

作者: ngugg | 来源:发表于2019-03-28 16:21 被阅读0次

在x64环境下,进行反汇编

image.png image.png

在64 位架构下,进行反汇编

image.png image.png

a++;
0x104d7a4b4 <+20>: mov w9, #0x5
w9 = 0x5

0x104d7a4b8 <+24>: str w9, [sp, #0x1c]
w9 = 0x5

0x104d7a4bc <+28>: ldr w9, [sp, #0x1c]
[sp, #0x1c] = 0x5

0x104d7a4c0 <+32>: add w10, w9, #0x1 ; =0x1
w10 = w9 + 0x1 = 0x6

0x104d7a4c4 <+36>: str w10, [sp, #0x1c]
[sp, #0x1c] = 6

0x104d7a4c8 <+40>: mov x1, x9
x1 = 0x5

++a;
0x104d7a4f4 <+84>: ldr w9, [sp, #0x1c]
w9 = 0x6;

0x104d7a4f8 <+88>: add w9, w9, #0x1 ; =0x1
w9 = 0x6 + 1 = 0x7;

0x104d7a4fc <+92>: str w9, [sp, #0x1c]

0x104d7a500 <+96>: str x0, [sp, #0x10]

相关文章

  • AT&T汇编(2)反汇编

    1、常见代码反汇编 sizeof a++ + a++ + a++ if-else for switch和if效率 ...

  • a++ 和 ++a

    在x64环境下,进行反汇编 在64 位架构下,进行反汇编 a++;0x104d7a4b4 <+20>: mov ...

  • a=(a++)+(++a)-(a++)-(++a)

    1) var a=1;a=(a++)+(++a)-(a++)-(++a);a=-4分析:a=1;b=a++=2;c...

  • 论a++和++a

    a++是这一步完成之后才执行+操作,举个例子 int a=0;b=a++;输出的b的值为任意值(因为没赋初值) +...

  • 5.Java

    ++ 混合使用++a前边 先加后用, a++后边 先用后加 分开使用a++和++a 没有区别。 Jshell 常量...

  • 理解C语言中的a++、a--和++a、--a

    C语言中 a++ a-- 和 ++a --a 的区别 a++ 表示先赋值再进行加运算a-- 表示先赋值再进行减运算...

  • 基础2

    $a = 10 ;$a++;echo $a ;// 11$a = 10;$b = $a++; // 后加加是,先...

  • 左值or右值、临时变量是const

    int a=0; ++(a++); 或者++a++; 程序出错;因为a++返回的是一个临时变量,而临时变量都是co...

  • 8086汇编三——反汇编01:a++ + a++ + a++

    符号运算是从左到右,a++如此,++a、a--、--a亦是如此。

  • 13-自增与自减运算

    a++ ----> 整个 a++ 的式子的值是a ---> a的值 是 a+1 ++a ----> 整个 ++a ...

网友评论

      本文标题:a++ 和 ++a

      本文链接:https://www.haomeiwen.com/subject/bbfcbqtx.html