目录
程序编码
GCC -S -c
Linux自带反汇编器
数据格式
访问信息
指令变种
新的寄存器
多样的寻址方式
简单的MOV指令
零扩展数据传送指令 MOVZ
符号扩展数据传送指令 MOVS
压入弹出栈
算数和逻辑操作
leaq
移位操作
特殊的算法操作
控制
条件码(总是记不住)
比较和测试指令
访问条件码
set指令
跳转指令
JMP
注意:
例子:
注意地址的计算
条件传送指令
条件控制和条件传送指令的区别
循环,for,switch
while循环和do while循环只是上面指令的联合使用,没什么好记的
过程
运行时栈
调用过程时可以通过寄存器传递六个整数(指针或整数),如果比六个多的需要存储在栈内进行传送
转移控制
传递函数参数的寄存器
被调用者保存寄存器和调用者保存寄存器
数据分配和访问
指针运算
按照行优先排列的数组
嵌套数组
定长数组,变长数组
异质的数据结构
斯巴拉西,原来结构体是这样储存的