x86-cheatsheet/X86/Общего назначения.md

69 lines
7.8 KiB
Markdown
Raw Normal View History

2024-01-05 20:37:37 +03:00
## Команды передачи данных
2024-01-05 22:40:47 +03:00
| Команды | Описание |
| ------------------------------------------------------------------------------:|:----------------------------------------------------- |
| [MOV](Общего%20назначения/Передачи%20данных/MOV.md) | Присваивание |
| [CMOVxx](Общего%20назначения/Передачи%20данных/CMOVxx.md) | Условное присваивание |
| [XCHG](Общего%20назначения/Передачи%20данных/XCHG.md) | Обмен значений |
| [BSWAP](Общего%20назначения/Передачи%20данных/BSWAP.md) | Перестановка байтов |
| [XADD](Общего%20назначения/Передачи%20данных/XADD.md) | Обмен и сложение |
| [CMPXCHG](Общего%20назначения/Передачи%20данных/CMPXCHG.md) | Сравнение и обмен |
| [CMPXCHG8B/CMPXCHG16B](Общего%20назначения/Передачи%20данных/CMPXCHG8(16)B.md) | Сравнение и обмен 8/16 байтов |
| [PUSH](Общего%20назначения/Передачи%20данных/PUSH.md) | Поместить значение в стек |
| [POP](Общего%20назначения/Передачи%20данных/POP.md) | Взять значение из стека |
| [PUSHA/PUSHAD](Общего%20назначения/Передачи%20данных/PUSHA(D).md) | Поместить значения регистров общего назначения в стек |
| [POPA/POPAD](Общего%20назначения/Передачи%20данных/POPA(D).md) | Взять значения регистров общего назначения из стека |
| [IN](Общего%20назначения/Передачи%20данных/IN.md) | Прочитать значение из порта ввода/вывода |
| [OUT](Общего%20назначения/Передачи%20данных/OUT.md) | Записать значение в порт ввода/вывода |
| [CWD](Общего%20назначения/Передачи%20данных/CWD,CDQ,CQO.md) | Преобразовать Word в DWord |
| [CDQ](Общего%20назначения/Передачи%20данных/CWD,CDQ,CQO.md) | Преобразовать DWord в QWord |
| [CBW](Общего%20назначения/Передачи%20данных/CBW,CWDE,CDQE.md) | Преобразовать Byte в Word |
| [CWDE](Общего%20назначения/Передачи%20данных/CBW,CWDE,CDQE.md) | Преобразовать Word в DWord в регистре eax |
| [MOVSX](Общего%20назначения/Передачи%20данных/MOVSX(D).md) | Присвоить и расширить с учетом знака |
| [MOVZX](Общего%20назначения/Передачи%20данных/MOVZX.md) | Присвоить и расширить нулевым значением |
2024-01-05 21:26:13 +03:00
## Двоичные арифметические команды
2024-01-05 23:00:41 +03:00
| Команды | Описание |
| -------------------------------------------------------------:|:--------------------- |
| [ADD](Общего%20назначения/Двоичные%20арифметические/ADD.md) | Сложение |
| [ADC](Общего%20назначения/Двоичные%20арифметические/ADC.md) | Сложение с переносом |
| [SUB](Общего%20назначения/Двоичные%20арифметические/SUB.md) | Вычитание |
| [SBB](Общего%20назначения/Двоичные%20арифметические/SBB.md) | Вычитание с заемом |
| [IMUL](Общего%20назначения/Двоичные%20арифметические/IMUL.md) | Знаковое умножение |
| [MUL](Общего%20назначения/Двоичные%20арифметические/MUL.md) | Беззнаковое умножение |
| [IDIV](Общего%20назначения/Двоичные%20арифметические/IDIV.md) | Знаковое деление |
| [DIV](Общего%20назначения/Двоичные%20арифметические/DIV.md) | Беззнаковое деление |
2024-01-05 23:10:56 +03:00
| [INC](Общего%20назначения/Двоичные%20арифметические/INC.md) | Инкремент |
| [DEC](Общего%20назначения/Двоичные%20арифметические/DEC.md) | Декремент |
| [NEG](Общего%20назначения/Двоичные%20арифметические/NEG.md) | Смена знака |
2024-01-05 23:20:33 +03:00
| [CMP](Общего%20назначения/Двоичные%20арифметические/CMP.md) | Сравнение |
## Двоично-десятичные (BCD) арифметические команды
| Команды | Описание |
| -------:|:------------------------------------ |
| DAA | Десятичная коррекция после сложения |
| DAC | Десятичная коррекция после вычитания |
| AAA | ASCII коррекция после сложения |
| AAS | ASCII коррекция после вычитания |
| AAM | ASCII коррекция после умножения |
| AAD | ASCII коррекция перед делением |
## Логические команды
| Команды | Описание |
| -------:|:------------------------------------ |
| AND | Побитовое логическое И |
| OR | Побитовое логическое ИЛИ |
| XOR | Побитовое логическое Исключающее ИЛИ |
| NOT | Побитовое логическое НЕ |
## Команды побитового сдвига и вращения
| Команды | Описание |
| -------:|:------------------------------------- |
| SAR | Арифметический сдвиг вправо |
| SHR | Логический сдвиг вправо |
| SAL/SHL | Арифметический/логический сдвиг влево |
| SHRD | Двойной сдвиг вправо |
| SHLD | Двойной сдвиг влево |
| ROR | Вращение вправо |
| ROL | Вращение влево |
| RCR | Вращение вправо через флаг переноса |
| RCL | Вращение влево через флаг переноса |