Конспект лекций Системное программирование (семестр 2) Возле названия каждой лекции написано число пар, в течение которых она будет читаться (+ ср обозначает
Вид материала | Конспект |
Схема команды Состояние флагов после выполнения команды См. также Схема команды См. также |
- 8Б класс Химия Пар. 30 (№1-3), Пар. 31 (№1-5), рабочая тетрадь эти же темы Биология, 8.14kb.
- Рабочая программа учебной дисциплины (модуля) Системное программирование, 108.12kb.
- Смирнягин курс США население Лекция население США этой теме будут посвящены три лекции, 288.75kb.
- Инструкция подумайте о ситуациях, в которых Ваши желания отличаются от желаний другого, 98.01kb.
- Лекция 8 Системное программирование. Системное проектирование взаимодействия процессов., 225.21kb.
- Программа лекций Будущее начинается сегодня! После каждой лекции конкурс с розыгрышем, 75.64kb.
- Программа лекций Будущее начинается сегодня! После каждой лекции конкурс с розыгрышем, 73.71kb.
- Конспект лекций по курсу "Информатика и использование компьютерных технологий в образовании", 1797.24kb.
- Календарно-тематический план лекций по факультетской терапии 4 курс (8 семестр) специальность, 119.31kb.
- Программа вступительного экзамена по специальности 05. 13. 18 Математическое моделирование,, 115.33kb.
POPAD
(POP All general Double word registers from the stack)
Извлечение всех 32-разрядных регистров общего назначения из стека
Схема команды: | popad |
Назначение: извлечение из стека регистров общего назначения edi, esi, ebp, esp, ebx, edx, ecx, eax.
Синтаксис
Алгоритм работы:
- извлечь из стека последовательно значения и загрузить ими 32-разрядные регистры общего назначения edi, esi, ebp, esp, ebx, edx, ecx, eax. Содержимое edi восстанавливается первым. Содержимое esp извлекается но не восстанавливается;
- увеличить значение указателя стека esp на 32.
Состояние флагов после выполнения команды:
выполнение команды не влияет на флаги |
Применение:
Команда popad по принципу работы является обратной команде pushad и используется для восстановления всех 32-разрядных регистров общего назначения. Эту команду можно использовать в процедурах и программах обработки прерываний для восстановления регистров общего назначения прерванной программы.
.386 my_proc proc near pushad ;тело процедуры, в которой изменяется ;содержимое регистров общего назначения ... popad ret endp |
См. также: уроки 7, 10, 14, 15, 16, 17 и команды pop, popa, popf, popfd, push, pusha, pushad, pushf, pushfd
POPF
(POP Flags register from the stack)
Извлечение регистра флагов из стека
Схема команды: | popf |
Назначение: извлечение из стека слова и восстановление его в регистр флагов flags.
Синтаксис
Алгоритм работы:
- извлечь из вершины стека слово и поместить его в регистр flags;
- увеличить значение указателя стека esp на 2.
Состояние флагов после выполнения команды:
14 | 1312 | 11 | 10 | 09 | 08 | 07 | 06 | 04 | 02 | 00 |
NT | IOPL | OF | DF | IF | TF | SF | ZF | AF | PF | CF |
r | r | r | r | r | r | r | r | r | r | r |
Применение:
Команда popf по принципу работы является обратной команде pushf и используется для восстановления из стека содержимого регистра флагов eflags. Возможным вариантом использования этой команды являются программы обработки прерываний или другие случаи, в которых необходимо сохранять некоторый локальный контекст процесса вычисления. Из-за того, что регистр eflags/flags непосредственно недоступен, команда popf является одной из немногих возможностей влияния на его содержимое.
;установить значение регистра flags в 03h mov ax,3h push ax popf |
См. также: уроки 7, 10, 14, 15, 16, 17 и команды pop, popa, popad, popfd, push, pusha, pushad, pushf, pushfd