русс | укр
Программирование:
Языки программирования
Паскаль Си Ассемблер Java Matlab Php Html JavaScript CSS C# Delphi Турбо Пролог 1С
Компьютерные сети Системное программное обеспечение Информационные технологии Программирование
Все о программировании
Обучение
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. Таблица воздействия команд на флаги
Карта сайта
Карта сайта укр
Видео
Уроки php mysql
Программирование
Онлайн сервисы
Онлайн система счисления
Калькулятор онлайн обычный
Инженерный калькулятор онлайн
Замена русских букв на английские для вебмастеров
Замена русских букв на английские
Полезное
Аппаратное и программное обеспечение
Графика и компьютерная сфера
Интегрированная геоинформационная система
Интернет
Компьютер
Комплектующие компьютера
Лекции
Методы и средства измерений неэлектрических величин
Обслуживание компьютерных и периферийных устройств
Операционные системы
Параллельное программирование
Проектирование электронных средств
Периферийные устройства
Полезные ресурсы для программистов
Программы для программистов
Статьи для программистов
Cтруктура и организация данных