课堂模拟大赛-课堂材料

语句对应的汇编代码

Posted by MetaNetworks on April 18, 2019
本页面总访问量

材料1

PPT下载

材料2

PS:通过g++(GNU编译器,可以用于C++的编译以及汇编代码的生成)生成相应C代码的汇编代码。

汇编代码对照

格式:

1
2
3
4
====================
c++原语句
原语句对应的汇编代码
====================
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
==========================
int i=2;

movl	$2, -4(%rbp)

===========================
i++++i

movl	-4(%rbp), %ecx
addl	$1, %ecx
movl	%ecx, -4(%rbp)

===========================
i=5+(++i);

movl	-4(%rbp), %ecx
addl	$1, %ecx
movl	%ecx, -4(%rbp)
addl	$5, %ecx
movl	%ecx, -4(%rbp)

===========================
i=5+(i++);

movl	-4(%rbp), %ecx
movl	%ecx, %edx
addl	$1, %edx
movl	%edx, -4(%rbp)
addl	$5, %ecx
movl	%ecx, -4(%rbp)
===========================
i=+(i++)+(++i)-i;

movl	-4(%rbp), %ecx
movl	%ecx, %edx
addl	$1, %edx
movl	%edx, -4(%rbp)
movl	-4(%rbp), %edx
addl	$1, %edx
movl	%edx, -4(%rbp)
addl	%edx, %ecx 
subl	-4(%rbp), %ecx
movl	%ecx, -4(%rbp)

===========================