Intel x86 32-битное прерывание - PullRequest
       39

Intel x86 32-битное прерывание

2 голосов
/ 03 февраля 2012

Я решил начать изучать 32-битный x86-синтаксис Intel Nasm, у меня есть много программирования на 16-битном языке, я немного изучил 32-битный и у меня есть несколько вопросов о прерываниях :

Есть ли разница между прерываниями? (Могу ли я использовать те же самые прерывания из 16-битной сборки) Если список прерываний одинаков, нужно ли указывать, является ли это 32-битным прерыванием? (для int. 0x16 используйте eax вместо ax, чтобы вставить считываемый байт).

также я пытался найти ответы в Google, но не могу их найти.

РЕДАКТИРОВАТЬ :: Я не думал о включении моей ОС, но сейчас я нахожусь на Linux Mint 12.

1 Ответ

2 голосов
/ 03 февраля 2012
  1. Если вы запустите свою программу в реальном режиме (например, под MS-DOS), вы сможете использовать те же службы DOS / BIOS, которые вы использовали в своих 16-битных программах.
  2. Боюсь, вы не сможете указать, что собираетесь использовать 32-битные регистры, поскольку нет 32-битной поддержки BIOS int 10h, int 13h и т. Д. Только содержимое 16-битныхрегистры будут учитываться.
  3. Нет, для верхних половин 32-битных регистров нет названия, для доступа к ним необходимо использовать битовые маски и / или инструкции по сдвигу битов.
...