常见处理器架构及调试工具知识汇总
1. X86 指令集相关
在 X86 指令集中,有一些特殊的指令。比如 STD (M) 用于设置 DF 标志,不过编译器一般不会生成该指令,它比较罕见,像在 ntoskrnl.exe Windows 内核文件的手写内存复制例程中能找到它。 STI (M) 用于设置 IF 标志, SYSCALL (AMD) 和 SYSENTER (Intel) 用于调用系统调用, UD2 (M) 是未定义指令,会引发异常,常用于测试。
1.1 FPU 指令
FPU 指令有一些特殊的命名规则,助记符中的 -R 通常表示操作数顺序颠倒, -P 表示指令执行后从栈中弹出一个元素, -PP 表示弹出两个元素。当操作后不再需要 FPU 栈中的值时, -P 指令很有用。以下是部分 FPU 指令及其功能:
| 指令 | 功能 |
| ---- | ---- |
| FABS | 用 ST(0) 的绝对值替换 ST(0) 的值 |
| FADD op | ST(0)=op + ST(0) |
| FADD ST(0), ST(i) | ST(
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



