OD汇编指令集(不断更新)

一、快捷键

F7 执行一行代码,遇到 CALL 等子程序时会进入其中,进入后首先会停留在子程序的第一条指令上。
F8 执行一行代码,遇到 CALL 等子程序不进入其代码。
F2 在显著行设置断点,再次按 F2 删除断点。
F9 F9运行调试程序,直到遇到断点停止运行,Debug->Run。
F12 临时暂停程序,Debug-> Pause。

二、寄存器

ESP 指向堆栈最顶端的地址。
EIP 指向当前将要执行的指令的地址。
EAX ECX EDX EBX ESP EBP ESI EDI EIP——32位寄存器
EAX=0x12345678 AX=0x5678——16位寄存器 AH=0x56,AL=0x78

O/欧 溢出标志
A 辅助进位标志/不关心
P 奇偶标志,指令的结果用二进制表示,该二进制数中1的总个数为偶数时,P标志被设置。
Z 零标志,当运算产生的结果为 0 时被设置。
S 符号标志,这个标志在运算结果为负时设置为 1。
C 进位/借位标志,(无符号运算的结果)在超过最大数值时设置为 1 ,可能是寄存器的值。
T,D 标志和其它

三、汇编指令

指令
1.? 寄存器或数值——查看寄存器内容,显示数值的十进制以及ASCII码
NOP指令
2.替换指令:右键->Assemble 或 Space
3.在数据窗口查看指定内存数据:右键->“Go to”->“Expression”->输入地址
4.撤销修改的指令:选择被替换的几行->右键->“Undo Selection”

PUSH指令
5.push 401008
push [401008];内存的倒序存储 = push DWORD PTR DS:[401008]
不明确规定,OD认为都是4个字节内存,DWORD

POP指令
6.POP EAX——从栈顶中取出第一

猜你喜欢

转载自blog.csdn.net/wlwdecs_dn/article/details/107691332