IV. КОМАНДЫ ОПЕРАЦИЙ СО СТЕКОМ




 

КОП Команда Действие команды Комментарии
  6A 50+rw(rd) FF /6 0E 1E           9С   8F /0 58+rw(rd 1F 0F A1 0F A9           9D   9E     9F Включение операндов в стек   PUSH imm8 PUSH imm16(32) PUSH r16(32) PUSH r/m16(32) PUSH CS PUSH SS PUSH DS     Включение в стек всех РОН и Flags   PUSHA   PUSHAD     PUSHF (PUSHFD)     Извлечение операндов из стека   POP m16(32) POP r16(32) POP SS POP DS POP ES POP FS POP GS   Извлечение из стека РОН и Flags   POPA   POPAD     POPF (POPFD)     Загрузка и сохранение Флагов   SAHF     LAHF   imm8®[SP(ESP)] imm16(32)®[SP(ESP)] r16(32)®[SP(ESP)] r/m16(32)®[SP(ESP)] CS®[SP(ESP)] SS®[SP(ESP)] DS®[SP(ESP)]     AX,CX,DX,BX,SP,BP, SI,DI® СТЕК EAX,EСX,EDX,EBX, ESP,EBP,ESI,EDI® СТЕК Flags (Eflags)® СТЕК   SS:[SP(ESP)]®m16(32 SS:[SP(ESP)]®r16(32) SS:[SP(ESP)]®SS SS:[SP(ESP)]®DS SS:[SP(ESP)]®ES SS:[SP(ESP)]®FS SS:[SR(ESP)]®GS   SS:[SP(ESP)→DI,SI, BP,BX,DX,CX,AX     SS:[SP(ESP)]®EDI, ESI,EAX,EBP,EBX, EDX,ECX SS:[SP(ESP)]®Flags (EFlag)     AH®Flags{SF,ZF,x,AFx,PF,x,CF}   Flags{SF,ZF,x,AF,x,PF,x,CF}®AH   Флаги не модифицируются   Флаги не модифицируются   Флаги не модифицируются     Флаги модифициру- ются   Флаги модифициру- ются Флаги не модифицируются  

 

V. КОМАНДЫУПРАВЛЕНИЯ ПРОГРАММОЙ

КОП Команда Действие команды Комментарии
  Безусловная передача управления  
EB cb JMP rel8 IP(EIP)+rel8®IP(EIP) Флаги модифи-цируются только при переключении задачи; начальным значением IP является адрес команды, следующей непосредствен-но за командой JMP
E9 cw(cd) JMP rel16(32) IP(EIP)+rel16(32)® ®IP(EIP)
FF /4 JMP r/m16(32) r/m16(32) ® IP(EIP)
EA cd(cp) JMP PTR16:16(32) PTR16:16(32)®CS:IP (EIP)
FF /5 JMP m16:16(32) m16:16(32)®CS:IP (EIP)
Условные короткие передачи управления
7 cond cb JCOND rel8 Переход, если COND выполнено. Точка перехода: IP(EIP)+rel8®IP(EIP)   Флаги не моди- фицируются; Начальное значениеIP(EIP) –адрес команды следующей за командой LOOP или JCOND  
E3 cb JCXZ(JECXZ) rel8 Переход, если CX(ECX)=0 Точка перехода: IP(EIP)+rel8®IP(EIP)
Условные близкие передачи управления
0Fcond cw (cd) JCOND rel16(32) Переход, если COND выполнено. Точка перехода: IP(EIP)+rel16(32)®IP (EIP)
Управление циклом
E2 cb LOOP rel8 IP(EIP)+rel8®IP(EIP); CX(ECX) - 1, пока CX(ECX) ¹ 0.
E1 cb LOOPE(LOOPZ) rel8 IP(EIP)+rel8®IP(EIP); CX(ECX) - 1, пока CX(ECX) ¹ 0 и ZF=1.
E0 cb LOOPNE(LOOPNZ) rel8 IP(EIP)+rel8 ®IP(EIP); CX(ECX) - 1, пока CX(ECX) ¹ 0 и ZF=0.
Вызов процедур
E8 CALL rel16(32) IP(EIP) ® стек, затем: IP(EIP)+rel16(32) ® ®IP(EIP) Флаги модифицируют- ся только при переключении задач; начальное значение IP(EIP)-адрес команды, следующей непосредствен- но за командой CALL. При 16-битовых опе- рандах и 32 битовой адресации старшие 16 бит EIP обнуляются
FF /2 CALL r/m16(32) IP(EIP) ® стек, затем: r/m16(32) ® IP(EIP)
9A cd(cp) CALL PTR 16:16(32) IP(EIP) ® стек, затем: PTR 16:16(32) ® →CS:IP(EIP)
FF /3 CALL m16:16(32) IP(EIP) ® стек, затем: m16:16(32)®CS:IP (EIP)
Возврат из процедур
C3 RET Стек ® IP(EIP)
CB RET Стек ® CS:IP(EIP)
C2 iw RET imm16 Стек ® IP(EIP), затем: SP(ESP) ® SP(ESP)+ +imm16
CA iw RET imm16 Стек ® CS:IP(EIP), затем SP(ESP) ® SP(ESP)+ +imm16
Создание и освобождение стекового кадра
C8 ENTER imm16,imm8 При imm8=0: BP(EBP) ® стек; SP - imm16 ® BP(EBP). Создание стекового кадра параметров процедур объемом imm16 байт и глубиной imm8 байт
C9 LEAVE BP(EBP) ® SP(ESP); Стек ® BP(EBP). Удаление стекового кадра процедуры  
Вызов процедур прерывания
CC INT3 Flags(EFlags), CS,IP(EIP)® стек; затем 0 ® IF, 0 ® TF. При R- и V- режимах: PTR 16:16 из таблицы векторов по адресу 0Ch®CS:IP; при P-режиме: PTR 16:16(32) из дескриптора IDT с адресом 18h® ® CS:IP(EIP)  
CE INT0 Flags(EFlags),CS,IP (EIP)® стек; 0 ® IF, 0 ® TF; При R- и V- режимах: PTR 16:16 из таблицы векторов по адресу 10h ® CS:IP; При P-режиме: PTR 16:16(32) из дескриптора IDT по адресу 20h® ® CS:IP(EIP)   Только при OF=1
CD ib INT N Flag(EFlag),CS,IP(EIP) ® стек, 0 ®IF, 0 ®TF; При R- и V- режимах: PTR 16:16 из таблицы векторов по адресу 4´N ®CS:IP; При P-режиме: PTR 16:16 из дескриптора с адресом 8´N® ®CS:IP(EIP)  
Возврат из прерывания
CF IRET Стек ®IP,CS, Flags В P-режиме, при NT=0 будет перекл. задачи.
CF IRETW Стек ®IP(EIP), CS, Flags(EFlags)
CF IRETD

 

 

VI. КОМАНДЫУПРАВЛЕНИЯ ПРОЦЕССОРОМ

КОП Команда Действие команды Комментарии
  NOP IP(EIP) = IP(EIP) + 1  
F4 HLT Останов процессора Выход только по RESET или при запросе на прерывание
9B WAIT Режим ожидания особого случая  
0F AA RSM Выход из режима SMM  
F0 LOCK Генерирует внешний сигнал блокировки LOCK#  

 

 

VII. КОМАНДЫ, ИСПОЛЬЗУЕМЫЕ В СИСТЕМНОМ



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-04-03 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: