<<
>>

OUTS/OUTSB/OUTSW/OUTSD •

OUTS порт, источник ОUТSВ/ОUТSW/ОUТSD • 6Е OUTS DХ, DS:(E)SI 6F OUTS DX, DS:SI(ESI) 6F OUTS DX, DS: 6E OUTSB 6F OUTSW\OUTSO • Вывод строки байтов (слов, двойных слов) в порт. Действие: команда копирует элементы размером байт (слово, двойное слово) из источника в порт ввода-вывода.
Номер порта ввода-вывода загружается в регистр DX. Адрес ячейки памяти, из которой копируются данные, содержится по адресу DS: ESI/SI (допускается замена сегмента). По результатам команды значение регистров ESI/SI изменяется на длину элемента. Направление изменения зависит от состояния флага DF: Ш если DF= 0, то содержимое регистров ESI/SI увеличивается на длину элемента последова- тельности; Ш если DF = 1, то содержимое регистров ESI/SI уменьшается на длину элемента последовательности. Для пересылки последовательности элементов необходимо использовать префикс REP. PAUSE • PAUSE • FЗ 90 •Улучшение выполнения циклов ожидания-занятости. Действие: улучшить выполнение циклов ожидания-занятости (spin-wait loops). При выполне- нии подобных циклов процессор Pentium 4 испытывает трудности в завершении цикла, обнаружи- вая возможное нарушение доступа к памяти.
Команда PAUSE подсказывает процессору, что данная кодовая последовательность — цикл ожидания-занятости. Процессор использует эту подсказку, чтобы игнорировать возможную ситуацию нарушения доступа к памяти в большинстве случаев. Это улучшает работу процессора вплоть до того, что значительно уменьшает его энергопотребле- ние. По этой причине рекомендуется включать команду PAUSE во все циклы ожидания-занятости. POP • POP приемник ■ 8F/0 POP mlб 8F/0 POP mЗ2 58 + rw РОРrlб 58 + rd POP rЗ2 IF POP DS 07 POP ЕS 17 РОРSS OF Аl POP FS OF А9 POP GS • Извлечение значения из стека. Действие: команда восстанавливает содержимое вершины стека в регистр, ячейку памяти или сегментный регистр, после чего содержимое ESP/SP увеличивается на четыре байта для usеЗ2 и на два байта для usеlб.
Недопустимо восстановление значения в сегментный регистр CS. POPA/POPAD • POPA/POPAD ' • 61 • Восстановление содержимого регистров общего назначения из стека. Действие: команда POPA/POPAD восстанавливает содержимое всех регистров общего назначе- ния (DI/ЕDI, SI/ЕSI, ВР/ЕВР, SР/ЕSР, ВХ/ЕВХ, DХ/ЕDХ, СХ/ЕСХ, АХ/ЕАХ) из стека, после чего значение указателя стека SP/ESP увеличивается на 16(32). Содержимое DI/EDI восстанавливается первым. Содержимое SP/ESP при этом не восстанавливается. Какие именно регистры — 16- или 32-раз- рядные — извлекаются из стека, зависит от установленного размера операнда. При необходимо- сти изменения размера операнда для инструкции POPA/POPAD можно использовать префикс 66h. POPF/POPFD • POPF/POPFD • 9D • Извлечение регистра флагов из стека. Действие: команда POPF/POPFD восстанавливает из стека содержимое регистра флагов FLAGS/ EFLAGS, после чего увеличивает значение регистра-указателя стека SP/ESP на 2(4). Размерность выталкиваемого регистра зависит от установленного размера операнда. Действие команды POPF/ POPFD зависит от режима работы процессора. ⅜-- В защищенном режиме на уровне привилегий 0 (или в реальном режиме) в регистре FLAGS/ EFLAGS могут быть изменены любые незарезервированные флаги (за исключением флагов VIP, VIFи VМ). Флаги VIP и VIFочищаются, афлагVМ не изменяется. В защищенном режиме на уровне привилегий, большем чем 0, но меньшем (или равным) значения в поле IOPL, все флаги могут быть изменены за исключением поля IOPL и флагов VIP, VIF и VМ, При этом поле IOPL и флаг VМ не изменяются, а флаги VIP и VIF очищаются. Флаг IF изменяется, если выполнение производится на уровне, равном или меньшем значению поля IOPL, в противном случае исключения не происходит, но и привилегированные биты не изме- няются. Λ В режиме виртуального процессора 8086 для использования команды POPF/POPFD уровень привилегий I/O (IOPL) должен быть равен 3 (при этом флаги VM, RF, IOPL, VIP и VIF не изменя- ются). Если уровень привилегий меньше 3, то команда POPF/POPFD вызывает исключение об- щей защиты (#GР). Флаги: изменяются все флаги, кроме зарезервированных и флага VМ.
<< | >>
Источник: В. И. Юров. Assembler. Учебник для вузов. 2-е изд. 2003

Еще по теме OUTS/OUTSB/OUTSW/OUTSD •:

  1. Л.О. Доліненко, В.О. Доліненко, С.О. Сарновська. Цивільне право України, 2006
  2. ЦИВІЛЬНЕ ПРАВО УКРАЇНИ
  3. ПЕРЕДМОВА
  4. Частина І ПРОГРАМА КУРСУ «ЦИВІЛЬНЕ ПРАВО УКРАЇНИ»
  5. Розділ І. Загальні положення цивільного права
  6. Тема 1. Поняття цивільного права. Предмет та метод, система цивільного права. Функції та принципи цивільного права
  7. Тема 2. Цивільне законодавство України
  8. Тема 3. Поняття, елементи та види цивільних правовідносин
  9. Тема 4. Здійснення цивільних прав і виконання обов’язків
  10. Тема 5. Захист цивільних прав та інтересів
  11. Тема 6. Об’єкти цивільних прав
  12. Тема 7.ФІЗИЧНІ особи як суб’єкти цивільного права
  13. Тема 8. Юридичні особи