一、FF/2,间接相对寻址(指令长度:2、3、6字节)
(1)FF 55 F4
推理:
FF:Opcode
Mod/RM:01010101=>01+010+101=>
mod = 01,定义 [register + disp8],有8位displacemnet 偏移值。
reg = 010,表示FF/2
r/m = 101,ebp寄存器
F4:-0C
结果:
call dword ptr [ebp-0Ch]
(2)FF 15 EC 76 41 00
推理:
FF:Opcode
Mod/RM:00010101=>00+010+101=>
mod = 00,定义 [register] 间接寻址,无displacement值。
reg = 010,表示FF/2
r/m = 101,ebp寄存器
EC 76 41 00:004176ec
结果:
0040247F call dword ptr [__imp__SendMessageA@16 (004176ec)]
(3)FF 95 EC 76 41 00
推理:
FF:Opcode
Mod/RM:10010101=>10+010+101=>
mod = 10,定义 [register + disp32],有32位displacement偏移值。
reg = 010,表示FF/2
r/m = 101,ebp寄存器
EC 76 41 00:004176ec
结果:
0040247F call dword ptr [ebp+004176ec]
(4)FF D5
推理:
FF:Opcode
Mod/RM:11010101=>11+010+101=>
mod = 11时指出寄存器寻址模式。
reg = 010,表示FF/2
r/m = 101,ebp寄存器
结果:
Call ebp
二、FF/5,间接绝对寻址。
三、E8,直接相对寻址(指令长度:3、5字节)
(1)E8 00000000
结果是:call 10001FD7
四、9A,直接绝对寻址(指令长度:3、5字节)
未完。