<<
>>

SGDT/SIDT •

SGOT/SIDT источник • OF 01/0 SGDТm 0F 01/1 SIDТш • Сохранение регистра глобальной таблицы дескрипторов (таблицы дескрипторов прерываний). Действие: команда сохраняет содержимое системного регистра GDTR/IDTR в области памяти размером 48 битов.
Структурно эти 48 битов представляют 16 битов размера и 32 бита значения базового адреса начала таблицы GDT/IDT в памяти. Если установлен атрибут размера операнда 32 бита, то 16 битов поля предела помещаются в младшее слово области памяти, а 32 бита базово- го адреса — в старшее двойное слово 48-разрядной области памяти. Если установлен атрибут размера операнда 16 битов, то 16 битов предела помещаются в младшее слово области, и 24 бита базового адреса — в 3-й, 4-й и 5-й байты (6-й байт равен нулю). SHL/SHR • SHL/SHR операнд, количество_сдвиrов • D0/4 SНLr/m8,l D2 /4 SНL r/m8,СL СО /4 iЬ SHL r/m8,imm8 D1/4 SНL r/mlбД DЗ/4 SНL r/шlб,СL С1 /4 ib SНL r/mlб,imm8 D1 /4 SHL r/m32,l DЗ/4 SНL r/тЗ2,СL С1 /4 ib SНL r/тЗ2,iтт8 DO/5 SНRr/ш8Д D2/5 SНR r/т8,СL СО/5ib SНRr/т8,iтт8 D1 /5 SНRr/тl6,l DЗ/5 SНR r/тlб,СL Сl/5ib SНR r/тlб,iтт8 D1 /5 SНR r/тЗ2,l DЗ/5 SНR r/тЗ2,СL Сl/5ib SНR r/тЗ2,iтт8 • Логический сдвиг операнда влево (вправо).
Действие: сдвиг всех битов операнда операнд влево (вправо) на количество разрядов, указан- ное операндом количество_сдвигов, при этом выдвигаемый слева (справа) бит становится значе- нием флага переноса CF. Одновременно слева (справа) в операнд вдвигается нулевой бит. Флага: CF = Г OF = ?r SF = Г ZF = Г РF - г АF= ? Для команды SHL флаг OF представляет интерес, если сдвиг осуществляется на один разряд. При сдвиге на несколько разрядов его значение не определено (поэтому обозначен ?г). По его значению можно судить об изменении знакового разряда операнда: Ш если OF - 1, то текущее значение флага CF и значение выдвигаемого слева бита операнда раз- личны; Я если OF = 0, то текущее значение флага CF и значение выдвигаемого слева бита операнда со- впадают.
Для команды SHR флаг CF содержит значение последнего вдвинутого в операнд бита. Флаг OF устанавливается равным старшему значащему биту исходного операнда. SHLD • SHLD приемник, источник, количество_сдвигов • А4 SHLD r/ml6,rl6,imm8 ОFА5 SHLD r/mlб,rlб,СL ОFА4 SHLD r/mЗ2,rЗ2,imm8 OF А5 SHLD r/mЗ2,rЗ2,СL • Сдвиг двойного слова влево. Действие: команда сдвигает операнд приемник влево на число битов, указанных операндом количество_сдвигов. Операнд источник обеспечивает биты, которые вдвигаются в приемник справа (начиная с бита 0 приемника). Операнд количество_ сдвигов — целое число без знака, которое может быть непосредственным 8-разрядным значением или содержимым регистра CL. Флаги: CF = г OF = ?r SF = г ZF = г РF = Г АF = ? Флаг CF заполняется последним битом, сдвинутым из операнда приемник. Флаг OF устанавли- вается в 1 для одноразрядного сдвига, если изменился знаковый разряд приемника, иначе он ра- вен нулю. Если операнд количество_сдвигов равен нулю, то флаги не изменяются. SHRD • SHRD приемник, источник, количество_сдвигов • 0F АС SHRD r/mlб,rlб,imm8 OF АD SHRD r/mlб,rlб,СL OF AC SHRD r/m32,r32,imm8 OF AD SHRD r/m32,r32,CL • Сдвиг двойного слова вправо. Действие: сдвиг операнда приемник вправо на число битов, указанное операндом количество_ сдвигов. Операнд источник обеспечивает биты, которые вдвигаются в приемник слева (начиная со старшего бита приемника). Операнд количество_сдвигов — целое число без знака, которое может быть непосредственным 8-разрядным значением или содержимым регистра CL. Флаги: СF = г OF - ?г SF = г ZF = г РF - г АF - ? Флаг CF заполняется последним битом, сдвинутым из операнда приемник. Флаг OF устанавли- вается в 1 для одноразрядного сдвига, если изменился знаковый разряд приемника, иначе он ра- вен нулю. SLDT • SLDT приемник • OKЮ/0 • Сохранение регистра LOTR локальной таблицы дескрипторов в ячейке памяти или регистре. SMSW • SMSW приемник • OГО1/4 SMSWrlб(32)/mlб • Сохранение слова состояния машины. Действие: команда сохраняет значение младших 16 битов регистра CRO в слове памяти или в 16(З2)-разрядном регистре общего назначения. STC •STC • K9 • Установка флага переноса CK в единицу. Флаги: CK = 1 STD • STD • FD • Установка флага направления DK в единицу. Флаги: DF = 1 STI • STI • FB • Установка флага прерывания IK ведииицу. Флаги: IK = 1
<< | >>
Источник: В. И. Юров. Assembler. Учебник для вузов. 2-е изд. 2003

Еще по теме SGDT/SIDT •:

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