русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

А.4 Коды регистров


Дата добавления: 2015-06-12; просмотров: 741; Нарушение авторских прав


Когда в качестве операнда используется закодированный в команде регистр, он определяется по имени, например AX, CL или ESI. Имя регистра определяет его размер - 32, 16 или 8 бит. В случае, если размер регистра определяется атрибутом размера операнда, используется запись такого формата eXX. Например, запись eAX означает, что при атрибуте размера операнда равном 16, используется регистр AX, а при атрибуте размера операнда равном 32 - регистр EAX.

Таблица однобайтовых команд 0 1 2 3 4 5 6 7 +---------------------------------------------------------------+ | ADD | PUSH | POP |0+-----------------------------------------------| ES | ES | | Eb.Gb | Ev.Gv | Gb.Eb | Gv.Ev | AL.lb | eAX.lv| | | +-----------------------------------------------+-------+-------| | ADC | PUSH | POP |1+-----------------------------------------------| SS | SS | | Eb,Gb | Ev,Gv | Gb,Eb | Gv,Ev | AL,lb | eAX,lv| | | +-----------------------------------------------+-------+-------| | AND | SEG | |2+-----------------------------------------------| =ES | DAA | | Eb,Gb | Ev,Gv | Gb,Eb | Gv,Ev | AL,lb | eAX,lv| | | +-----------------------------------------------+-------+-------| | XOR | SEG | |3+-----------------------------------------------| =SS | AAA | | Eb,Gb | Ev,Gv | Gb,Eb | Gb,Ev | AL,lb | eAX,lv| | | +---------------------------------------------------------------| | INC регистр общего назначения |4+---------------------------------------------------------------| | eAX | eCX | eDX | eBX | eSP | eBP | eSI | eDI | +---------------------------------------------------------------| | PUSH регистр общего назначения |5+---------------------------------------------------------------| | eAX | eCX | eDX | eBX | eSP | eBP | eSI | eDI | +-------+-------+-------+-------+-------+-------+-------+-------| | PUSHA | POPA | BOUND | ARPL | SEG | SEG |Размер |Рармер |6| | eCX | Gv,Ma | Ew,Rw | =FS | =GS | опер. |адреса | +---------------------------------------------------------------| | Близкий переход по условию (JB) |7+---------------------------------------------------------------| | JO | JNO | JB | JNB | JZ | JNZ | JBE | JNBE | +---------------+-------+-------+---------------+---------------| | Непосред. Grpl| MOVB | Grpl | TEST | XCHG |8+---------------+-------| Ev,lb +---------------+---------------| | Eb,lb | Ev,lv |AL,imm8| | Eb,Gb | Ev,Gv | Eb,Gb | Ev,Gv | +-------+-------------------------------------------------------| | | XCHG с регистром слова или двойного слова eAX |9| NOP +-------------------------------------------------------| | | eCX | eDX | eBX | eSP | eBP | eSI | eDI | +-------------------------------+-------+-------+-------+-------| | MOV | MOVSB |MOVSW/D| CMPSB |CMPSW/D|A+-------------------------------| Xb,Yb | Xv,Yv | Xb,Yb | Xv,Yv | | AL,Ob |eAX,Ov | Ob,AL |Ov,eAX | | | | | +---------------------------------------------------------------| | MOV с непосредственным байтом в байтовом регистре |B+---------------------------------------------------------------| | AL | CL | DL | BL | AH | CH | DH | BH | +---------------+---------------+-------+-------+---------------| | Сдвиг Grp2 | ближний RET | LES | LDS | MOV |C+---------------+---------------| Gv,Mp | Gv,Mp +---------------| | Eb,lb | Ev,lb | lw | | | | Eb,lb | Ev,lv | +-------------------------------+-------+-------+-------+-------| | Сдвиг Grp2 | | | | |D+-------------------------------| AAM | AAD | | XLAT | | Eb,1 | Ev,1 | Eb,CL | Ev,CL | | | | | +-------+-------+-------+-------+---------------+---------------| |LOOPNE | LOOPE | LOOP | JCXZ | IN | OUT |E| Jb | Jb | Jb | Jb +---------------+---------------| | | | | | Al,lb |eAX,lb | lb,AL |lb,eAX | +-------+-------+-------+-------+-------+-------+---------------| | | | | REP | | | Унарный Grp3 |F| LOCK | | REPNE | REPE | HLT | CMC +---------------| | | | | | | | Eb | Ev | +---------------------------------------------------------------+ Таблица однобайтовых команд 8 9 A B C D E F +---------------------------------------------------------------+ | OR | PUSH |2-байт-|0+-----------------------------------------------| CS | ный | | Eb.Gb | Ev.Gv | Gb.Eb | Gv.Ev | AL.lb | eAX.lv| | выход | +-----------------------------------------------+-------+-------| | SBB | PUSH | POP |1+-----------------------------------------------| DS | SS | | Eb,Gb | Ev,Gv | Gb,Eb | Gv,Ev | AL,lb | eAX,lv| | | +-----------------------------------------------+-------+-------| | SUB | SEG | |2+-----------------------------------------------| CS | DAS | | Eb,Gb | Ev,Gv | Gb,Eb | Gv,Ev | AL,lb | eAX,lv| | | +-----------------------------------------------+-------+-------| | CMP | SEG | |3+-----------------------------------------------| DS | AAS | | Eb,Gb | Ev,Gv | Gb,Eb | Gv,Ev | AL,lb | eAX,lv| | | +---------------------------------------------------------------| | DEC регистр общего назначения |4+---------------------------------------------------------------| | eAX | eCX | eDX | eBX | eSP | eBP | eSI | eDI | +---------------------------------------------------------------| | POP в регистр общего назначения |5+---------------------------------------------------------------| | eAX | eCX | eDX | eBX | eSP | eBP | eSI | eDI | +-------+-------+-------+-------+-------+-------+-------+-------| | PUSH | IMUL | PUSH | IMUL | INSB |INSW/D | OUTSB |OUTSW/D|6| lv |GvEvlv | lb |GvEvlb | Yb,DX | Yv,DX | DX,Xb | DX,Xv | +---------------------------------------------------------------| | Близкий переход по условию (JB) |7+---------------------------------------------------------------| | JS | JNS | JP | JNP | JL | JNL | JLE | JNLE | +-------------------------------+-------+-------+-------+-------| | MOV | MOV | LEA | MOV | POP |8+-------------------------------| | | | | | Eb,Gb | Ev,Gv | Gb,Eb | Gv,Ev | Ew,Sw | Gv,M | Sw,Ew | Ev | +-------+-------+-------+-------+-------+-------+-------+-------| | CBW | CWD | CALL | WAIT | PUSHHF| POPF | SAHF | LAHF |9| | | Ap | | Fv | Fv | | | +---------------+-------+-------+-------+-------+-------+-------| | TEST | STOSB |STOSW/D| LODSB |LODSW/D| SCASB |SCASW/D|A+---------------| Yb,AL | Yv,eAX| AL,Xb | eAX,Xv| AL,Xb | eAX,Xv| | AL,lb | eAX,lv| | | | | | | +---------------------------------------------------------------| | MOV непосредственное слово или двойное слово в | | регистр слова или двойного слова |B+---------------------------------------------------------------| | eAX | eCX | eDX | eBX | eSP | eBP | eSI | eDI | +-------+-------+---------------+-------+-------+-------+-------| | ENTER | | Дальний RET | INT | INT | | |C| lw,lb | LEAVE +---------------| 3 | lb | INTO | IRET | | | | lw | | | | | | +---------------------------------------------------------------|D| ESC ( Выход на множество команд сопроцессора ) | +---------------------------------------------------------------| | CALL | JMP | IN | OUT |E| Jv +-----------------------+---------------+---------------| | | JV | AP | Jb | AL,DX |eAX,DX | DX,AL | Dx,eAX| +-------+-------+-------+-------+-------+-------+-------+-------| | CLC | STC | CLI | STI | CLD | STD |INC/DEC|INC/DEC|F| | | | | | | Grp4 | Grp5 | +---------------------------------------------------------------+ Таблица двубайтовых команд ( первый байт 0FH ) 0 1 2 3 4 5 6 7 +---------------------------------------------------------------+0| Grp6 | Grp7 | LAR | LSL | | | CLTS | | | | | Gv,Ew | Gv,Ew | | | | | +-------+-------+-------+-------+-------+-------+-------+-------|1| | | | | | | | | | | | | | | | | | +-------+-------+-------+-------+-------+-------+-------+-------|2| MOV | MOV | MOV | MOV | MOV | | MOV | | | Cd,Rd | Dd,Rd | Rd,Cd | Rd,Dd | Td,Rd | | Rd,Td | | +-------+-------+-------+-------+-------+-------+-------+-------|3| | | | | | | | | | | | | | | | | | +-------+-------+-------+-------+-------+-------+-------+-------|4| | | | | | | | | | | | | | | | | | +-------+-------+-------+-------+-------+-------+-------+-------|5| | | | | | | | | | | | | | | | | | +-------+-------+-------+-------+-------+-------+-------+-------|6| | | | | | | | | | | | | | | | | | +-------+-------+-------+-------+-------+-------+-------+-------|7| | | | | | | | | | | | | | | | | | +---------------------------------------------------------------| | Дальний переход по условию (Jv) |8+---------------------------------------------------------------| | JO | JNO | JB | JNB | JZ | JNZ | JBE | JNBE | +---------------------------------------------------------------| | Установка байта по условию (Eb) |9+---------------------------------------------------------------| | SETO | SETNO | SETB | SETNB | SETZ | SETNZ | SETBE | SETNBE| +-------+-------+-------+-------+-------+-------+-------+-------|A| PUSH | POP | | BT | SHLD | SHLD |CMPXCHG|CMPXCHG| | FS | FS | | Ev,Gv |EvGvlb |EvGvCL | Eb,Gb | Ev,Gv | +-------+-------+-------+-------+-------+-------+---------------| | | | LSS | BTR | LFS | LGS | MOVZX |B| | | Mp | Ev,Gv | Mp | Mp +---------------| | | | | | | | Gv,Eb | Gv,Ew | +-------+-------+-------+-------+-------+-------+-------+-------|C| XADD | XADD | | | | | | | | Eb,Gb | Ev,Gv | | | | | | | +-------+-------+-------+-------+-------+-------+-------+-------|D| | | | | | | | | | | | | | | | | | +-------+-------+-------+-------+-------+-------+-------+-------|E| | | | | | | | | | | | | | | | | | +-------+-------+-------+-------+-------+-------+-------+-------|F| | | | | | | | | | | | | | | | | | +---------------------------------------------------------------+ Таблица двубайтовых команд ( первый байт 0FH ) 8 9 A B C D E F +---------------------------------------------------------------+0| INVD |WBINVD | | | | | | | | | | | | | | | | +-------+-------+-------+-------+-------+-------+-------+-------|1| | | | | | | | | | | | | | | | | | +-------+-------+-------+-------+-------+-------+-------+-------|2| | | | | | | | | | | | | | | | | | +-------+-------+-------+-------+-------+-------+-------+-------|3| | | | | | | | | | | | | | | | | | +-------+-------+-------+-------+-------+-------+-------+-------|4| | | | | | | | | | | | | | | | | | +-------+-------+-------+-------+-------+-------+-------+-------|5| | | | | | | | | | | | | | | | | | +-------+-------+-------+-------+-------+-------+-------+-------|6| | | | | | | | | | | | | | | | | | +-------+-------+-------+-------+-------+-------+-------+-------|7| | | | | | | | | | | | | | | | | | +---------------------------------------------------------------| | Дальний переход по условию (Jv) |8+---------------------------------------------------------------| | JS | JNS | JP | JNP | JL | JNL | JLE | JNLE | +-------+-------+-------+-------+-------+-------+-------+-------|9| SETS | SETNS | SETP | SETNP | SETL | SETNL | SETLE | SETNLE| +-------+-------+-------+-------+-------+-------+-------+-------|A| PUSH | POP | | BTS | SHRD | SHRD | | IMUL | | GS | GS | | Ev,Gv |EvGvlb |EvGvCL | | Gv,Ev | +-------+-------+-------+-------+-------+-------+---------------| | | | Grp-8 | BTC | BSF | BSR | MOVSX |B| | | Ev,lb | Ev,Gv | Gv,Ev | Gv,Ev +---------------| | | | | | | | Gv,Eb | Gv,Ew | +-------+-------+-------+-------+-------+-------+-------+-------|C|BSADD | XADD | | | | | | | | Eb,Gb | Ev,Gv | | | | | | | +-------+-------+-------+-------+-------+-------+-------+-------|D| | | | | | | | | | | | | | | | | | +-------+-------+-------+-------+-------+-------+-------+-------|E| | | | | | | | | | | | | | | | | | +-------+-------+-------+-------+-------+-------+-------+-------|F| | | | | | | | | | | | | | | | | | +---------------------------------------------------------------+ Коды операций, определенные битами 5,4 и 3 байта modR/M +-----------------------------+ | mod | nnn | R/M | +-----------------------------+ 000 001 010 011 100 101 110 111 +---------------------------------------------------------------+1| ADD | OR | ADC | SBB | AND | SUB | XOR | CMP | | | | | | | | | | +-------+-------+-------+-------+-------+-------+-------+-------|2| ROL | ROR | RCL | RCR | SHL | SHR | SHL | SAR | | | | | | | | | | +-------+-------+-------+-------+-------+-------+-------+-------|3| TEST | TEST | NOT | NEG | MUL | IMUL | DIV | IDIV | | lb/lv | lb/lv | |AL/eAX |AL/eAX |AL/eAX |AL/eAX |AL/eAX | +-------+-------+-------+-------+-------+-------+-------+-------|4| INC | DEC | | | | | | | | Eb | Eb | | | | | | | +-------+-------+-------+-------+-------+-------+-------+-------|5| INC | IDEC | CALL | CALL | JMP | JMP | PUSH | | | Ev | Ev | Ev | eP | Ev | Ep | Ev | | +---------------------------------------------------------------+ Коды операций, определенные битами 5,4 и 3 байта modR/M +-----------------------------+ | mod | nnn | R/M | +-----------------------------+ 000 001 010 011 100 101 110 111 +---------------------------------------------------------------+6| SLDT | STR | LLDT | LTR | VERR | VERW | | | | Ew | Ew | Ew | Ew | Ew | Ew | | | +-------+-------+-------+-------+-------+-------+-------+-------|7| SGDT | SIDT | LGDT | LIDT | SMSW | | LMSW | | | Ms | Ms | Ms | Ms | Ew | | Ew | | +-------+-------+-------+-------+-------+-------+-------+-------|8| | | | | BT | BTS | BTR | BTC | | | | | | | | | | +---------------------------------------------------------------+

 



 

Приложение B. Таблица воздействия команд на флаги



<== предыдущая лекция | следующая лекция ==>
А.1 Использование аббревиатуры | B.1 Используемые обозначения


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.387 сек.