![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 26.12.2008
Сообщений: 50
|
![]()
Здраствуйте
Код:
pushf здесь сохраняет файловый регистр и передает его в процедуру, так? если да, то для чего? и еще KeybIntVect принимает значение NewKeybIntVect(т.е. фактически NewKeybIntVect вызывает саму себя)? или что здесь происходит? |
![]() |
![]() |
![]() |
#2 |
Заблокирован
Регистрация: 27.05.2010
Сообщений: 1,099
|
![]()
> pushf здесь сохраняет файловый регистр и передает его в процедуру, так?
Какой еще "файловый", что ты несешь ?) Флаговый, а не файловый) |
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 26.01.2011
Сообщений: 1
|
![]()
Речь идет о перехвате обработчика прерывания в ДОСе. Есть три типа перехвата: 1) когда новый обработчик выполняет всю необходимую работу и не использует старый обработчик; 2) когда новый о выполняет часть работы до вызова старого обработчика; 3) когда новый обработчик выполняет свою работу после отработки старого обработчика. В данном случае 2й вариант. Приведен код нового обработчика в конце которого управление передается на старый обработчик. Старый обработчик заканчивается командой IRET, которая промывает из стека 3 слова: 2 слова дальний адрес возврата сегмент:смещение и флаги. Вот для помещения этих флагов в стек и используется тут команда PUSHF, а дальний адрес возврата окажется в стеке за счет межсегментного вызова старого обработчика.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Asm в С++ | ge4r | Помощь студентам | 0 | 17.10.2010 17:26 |
Как работает Pushf/ iret | zhuk99 | Помощь студентам | 0 | 04.10.2010 20:22 |
с++ и ASM | breate | Общие вопросы C/C++ | 4 | 04.11.2009 20:56 |
[c++]asm | Nightwalker | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 14.10.2008 19:39 |