Как инструкции и данные хранятся в памяти?

Я отлаживаю программу C#, и представление дизассемблирования показывает это:

0x006E2813 pop ebx
0x006E2814 pop esi

Так pop ebx хранится в 1 байте (в одном адресе), но как это может быть, так как pop сама инструкция имеет размер 1 байт?

Или показывает только данные (ebx), так где хранятся инструкции?

1 ответ

Решение

как это может быть, так как сама команда pop имеет размер 1 байт?

Он кодируется в разные байты в зависимости от того, какой регистр он использует. pop ebx 0x5B, pop esi это 0x5E. Существует множество веб-сайтов и руководств, описывающих кодировку инструкций x86.

Другие вопросы по тегам