08 March 2015

我们的老师教过汇编语言,80x86的。大概长这个样子:

 1 .386
 2 .model flat,stdcall
 3 .stack 4096
 4 ExitProcess proto,dwExitCode:dword
 5 
 6 .data
 7 sum dword 0
 8 
 9 .code
10 main proc
11 	mov	eax,5				
12 	add	eax,6				
13 	mov sum,eax
14 
15 	invoke ExitProcess,0
16 main endp
17 end main

但是,当我用gcc -S编译一段C语言源程序,打开生成的代码后,我开始怀疑自己到底有没有学过汇编语言。样子和以前学过的类似,但是每当试图理解代码的意思,都会觉得老师骗了我。事实证明老师并没有欺骗我,GCC的汇编器和我们平时用的MASM是不一样的。我把总结出来的一些知识整理出来,写在了下面的PDF里。

下载PDF



blog comments powered by Disqus