Вопрос по Стеку
Мне нужна информация какие регистры сохраняются в стеке и в какой последывательности при срабатывании прерывания (в 32 битном режиме с линейной адресацией)... кто знает распешите...
Цитата:
Originally posted by Grey Samurai
Мне нужна информация какие регистры сохраняются в стеке и в какой последывательности при срабатывании прерывания (в 32 битном режиме с линейной адресацией)... кто знает распешите...
Мне нужна информация какие регистры сохраняются в стеке и в какой последывательности при срабатывании прерывания (в 32 битном режиме с линейной адресацией)... кто знает распешите...
Насколько мне известно, в защищенном режиме:
При исключениях 8, 9, 0Ah, 0Bh, 0Ch, 0Dh, 0Eh, 11h:
push eflags
push cs
push eip
push Код_Ошибки
При остальных прерываниях (програмных, аппаратных и оставшихся исключениях):
push EFLAGS
push CS
push EIP
(кажется все сохраняются с расширением до 32 разрядов).
В реальном режиме: flags, cs, ip.
IRET снимает со стека IP, CS, FLAGS (EIP, CS, EFLAGS). Код ошибки надо снимать самому.
Цитата:
Originally posted by Sanya DLR
Насколько мне известно, в защищенном режиме:
При исключениях 8, 9, 0Ah, 0Bh, 0Ch, 0Dh, 0Eh, 11h:
push eflags
push cs
push eip
push Код_Ошибки
При остальных прерываниях (програмных, аппаратных и оставшихся исключениях):
push EFLAGS
push CS
push EIP
(кажется все сохраняются с расширением до 32 разрядов).
В реальном режиме: flags, cs, ip.
IRET снимает со стека IP, CS, FLAGS (EIP, CS, EFLAGS). Код ошибки надо снимать самому.
Насколько мне известно, в защищенном режиме:
При исключениях 8, 9, 0Ah, 0Bh, 0Ch, 0Dh, 0Eh, 11h:
push eflags
push cs
push eip
push Код_Ошибки
При остальных прерываниях (програмных, аппаратных и оставшихся исключениях):
push EFLAGS
push CS
push EIP
(кажется все сохраняются с расширением до 32 разрядов).
В реальном режиме: flags, cs, ip.
IRET снимает со стека IP, CS, FLAGS (EIP, CS, EFLAGS). Код ошибки надо снимать самому.
сенкс...