Assembler Directives .align integer, padThe .align directive causes the next data generated to be aligned modulo integer bytes.Integer must be a positive integer expression and must be a power of 2. If specifed, pad is aninteger bye value used for pa…
下面4这个寄存器只能用16位或3N位名称访问3N位寄存器 :ESI EDI EBP ESP 16位寄存器: SI DI BP SP 特殊用法:乘除指令默认用EAX默认使用ECX为循环计数器ESP用于寻址堆栈(一种系统内存结构)数据ESI和EDI用于高速存储器传输指令高级语言通过EBP来引用堆栈的函数参数和局部变量,除了·高级编程它不用于一般的算数运算和数据传输 段寄存器 实地址模式中,16位段寄存器表示的是预先分配的内存区域的基址 这个内存区域称为段保护模式中段寄存器中存放的是段描述符指针,一些…
我们一段代码来研究函数调用的过程.首先我们写一段简单的小程序: int sum(int c, int d) { inte = c + d; returne; } int func(int a, int b) { returnsum(a, b); } int main(void) { func(2,3); return0; } 通过gcc编译.在编译命令中要加上-g选项,这样在使用objdump反汇编时可以把C代码和汇编代码穿插起来显示,这样C代码和汇编代码的对应关系看得更清楚.…