指令和数据如何存储在内存中?

指令和数据如何存储在内存中?

我正在调试一个 C# 程序,反汇编视图显示如下:

0x006E2813 弹出 ebx
0x006E2814 弹出 esi

因此pop ebx存储在 1 个字节中(在一个地址中),但是由于pop指令本身是 1 个字节大,怎么可能呢?

或者它仅显示数据(ebx),那么指令存储在哪里?

答案1

因为 pop 指令本身只有 1 个字节大,所以怎么会这样呢?

根据所使用的寄存器,它被编码为不同的字节。pop ebx是 0x5B,pop esi是 0x5E。有许多网站和手册记录了 x86 指令编码。

相关内容