一、一些简单的说明
本文描述的是x86汇编,采用ATT汇编代码格式,讨论的是一个运行Linux的x86系统。使用gcc编译器,gdb调试器,objdump等相关工具观察反汇编代码。关于寻址模式、堆栈、进制表示、CPU结构、系统的硬件组成等相关必需知识及概念,本文暂不涉及,相关必备基础请自行学习。二、汇编基础1、寄存器寄存器用作处理器之内的本地数据存储区域,防止对数据进行待见巨大的内存访问。 x86平台寄存器分类: 通用寄存器(整数寄存器) EAX 累加器,用于操作数和结果数据的累加 EBX 指向数据内存段中的数据的指针 ECX 计数器,字符串和循环操作的计数 EDX I/O指针 EDI 字符串操作的目标的数据指针 ESI 字符串操作的源的数据指针