最近遇到一个错误代码:
int *a
int b;
*a=10;
b=*a;
printf("%x\n",&b);
这个函数编译后运行出现段错误,去掉printf之后没有段错误!段错误出现的位置就是
*a=10;
于是把这段程序反汇编希望查出原因;
1、反汇编
一个X86用来CPU包含一组16 个存储64位值的通用目的寄存器
指令 +操作数是构成的基本
操作数有 源数据值和放置结果的目的位置;根据源数据值不同形式分为
立即数:$
寄存器:
内存引用:
mov:
pushq压栈
没时间 下次更