分析.cpp文件编译生成的汇编文件里语句的作用
2016-10-02 08:40
579 查看
.cfi_startproc 用在每个函数的开始,用于初始化一些内部数据结构
.cfi_endproc 在函数结束的时候使用与.cfi_startproc相配套使用
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
rbp寄存器 是ebp寄存器64位扩展,ebp寄存器扩展基址指针寄存器(extendedbase pointer) 其内存放一个指针,该指针指向系统栈最上面一个栈帧的底部。BP
为基指针(Base Pointer)寄存器,用它可直接存取堆栈中的数据,它的作用是在调用函数时保存ESP使函数结束时可以正确返回;加E(enhance)代表增强型寄存器,用于32位数据处理。
EAX也是一种32位通用寄存器。EAX寄存器称为累加器,AX寄存器是算术运算的主要寄存器,所有的输入、输出只使用AL或AX人作为数据寄存器。在80386及其以上的微处理器中,EAX寄存器可以用来存储单元的偏移地址。将数据33221100H传送到EAX寄存器的指令EAX可称为数据寄存器,你除了直接访问外,还可分别对其高十六位和低十六位进行访问。它们的低十六位就是把它们前边儿的E去掉,即EAX的低十六位就是AX。而且它们的低十六位又可以分别进行八位访问,也就是说,AX还可以再进行分解,即AX还可分为AH(高八位)AL(低八位)。
.file,
.text, etc are assembler directives.
.LFB0,
.LFE0are local labels, which arenormally used as branch destinations within a function.
相关文章推荐
- 分析.cpp文件编译生成的汇编文件里语句的作用
- 在Linux中编译汇编文件并生成bin二进制文件
- vc6.0编译生成各种格式文件的作用
- [ProtoBuf]ProtoBuf命令生成的Cpp文件分析
- C/C++程序从编译到最终生成可执行文件的过程分析
- C/C++程序从编译到最终生成可执行文件的过程分析
- 在Ubuntu下用ndk-build编译一个链接opencv库的cpp文件生成一个在安卓机上跑的执行文件
- 编译后生成汇编代码列表文件
- C/C++程序从编译到最终生成可执行文件的过程分析
- C/C++程序从编译到最终生成可执行文件的过程分析
- 在Eclipse中写 C++,cpp文件之只能编译为.o文件,不能生成.exe文件的解决办法
- 使用gcc编译.c文件,生成汇编.s文件的方法
- VC6.0如何生成汇编文件并显示编译选项
- C/C++程序从编译到最终生成可执行文件的过程分析
- C/C++程序从编译到最终生成可执行文件的过程分析
- 预编译加速编译(precompiled_header),指定临时文件生成目录,使项目文件夹更干净(MOC_DIR,RCC_DIR, UI_DIR, OBJECTS_DIR),#pragma execution_character_set("UTF-8")"这个命令是在编译时产生作用的,而不是运行时
- classpath的作用、简单批处理自定义编译、第一个jar文件包的生成
- C/C++程序从编译到最终生成可执行文件的过程分析
- Const变量和enum变量gcc编译生成目标文件分析
- 编译cocos2dx工程,生成libcocos2dcpp.so文件失败