Linux下简单C语言小程序的反汇编分析学习笔记

一直想要弄明白构成丰富多彩的软件世界的最基本元素是什么?
之前学了8086,明白无论什么程序,无论什么语言,最终控制这些东西最本质的东西是微指令。
但是没有搞清楚函数的调用关系是怎么建立起来的。
所以有学习了一下有c到汇编的变化,这下清楚了,有程序到机器码的整个流程全部打通了。(多少有点豁然开朗的感觉)
面向对象语言=》面向过程语言=》汇编语言=》微指令
要点记录
AT&T格式的汇编指令是“源操作数在前,目的操作数在后”,而intel格式是反过来的,即如下:
AT&T格式:movl %eax, %edx
Intel格式:mov edx, eax
表示同一个意思,即把eax寄存器的内容放入edx寄存器。这里需要注意的是AT&T格式的movl里的l表示指令的操作数都是32位,类似的还是有movb,movw,movq,分别表示8位,16位和64位的操作数
学习笔记
汇编和c的关系分析
资源引用

猜你喜欢

转载自blog.csdn.net/xie__jin__cheng/article/details/89022702