vault backup: 2024-01-05 22:40:47

This commit is contained in:
sweetbread
2024-01-05 22:40:47 +03:00
parent 89b03969bd
commit dc69f5dd7a
5 changed files with 54 additions and 32 deletions
+21 -21
View File
@@ -1,25 +1,25 @@
## Команды передачи данных
| Команды | Описание |
| -------------------------------------------------------------------------------:|:----------------------------------------------------- |
| [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 | Преобразовать Word в DWord |
| CDQ | Преобразовать DWord в QWord |
| CBW | Преобразовать Byte в Word |
| CWDE | Преобразовать Word в DWord в регистре eax |
| MOVSX | Присвоить и расширить с учетом знака |
| MOVZX | Присвоить и расширить нулевым значением |
| Команды | Описание |
| ------------------------------------------------------------------------------:|:----------------------------------------------------- |
| [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) | Присвоить и расширить нулевым значением |
## Двоичные арифметические команды
@@ -0,0 +1,5 @@
| Opcode | Instruction | Op/En | 64-bit Mode | Compat/Leg Mode | Description |
| ---------- | ----------- | ----- | ----------- | --------------- | -------------------------- |
| 98 | CBW | ZO | Valid | Valid | AX := sign-extend of AL. |
| 98 | CWDE | ZO | Valid | Valid | EAX := sign-extend of AX. |
| REX.W + 98 | CDQE | ZO | Valid | N.E. | RAX := sign-extend of EAX. |
@@ -0,0 +1,10 @@
| Opcode | Instruction | Op/En | 64-Bit Mode | Compat/Leg Mode | Description |
| ---------------- | ----------------- | ----- | ----------- | --------------- | -------------------------------------------------- |
| 0F BE /r | MOVSX r16, r/m8 | RM | Valid | Valid | Move byte to word with sign-extension. |
| 0F BE /r | MOVSX r32, r/m8 | RM | Valid | Valid | Move byte to doubleword with sign-extension. |
| REX.W + 0F BE /r | MOVSX r64, r/m8 | RM | Valid | N.E. | Move byte to quadword with sign-extension. |
| 0F BF /r | MOVSX r32, r/m16 | RM | Valid | Valid | Move word to doubleword, with sign-extension. |
| REX.W + 0F BF /r | MOVSX r64, r/m16 | RM | Valid | N.E. | Move word to quadword with sign-extension. |
| 63 /r1 | MOVSXD r16, r/m16 | RM | Valid | N.E. | Move word to word with sign-extension. |
| 63 /r1 | MOVSXD r32, r/m32 | RM | Valid | N.E. | Move doubleword to doubleword with sign-extension. |
| REX.W + 63 /r | MOVSXD r64, r/m32 | RM | Valid | N.E. | Move doubleword to quadword with sign-extension. |
@@ -0,0 +1,7 @@
| Opcode | Instruction | Op/En | 64-Bit Mode | Compat/Leg Mode | Description |
| ---------------- | ---------------- | ----- | ----------- | --------------- | ---------------------------------------- |
| 0F B6 /r | MOVZX r16, r/m8 | RM | Valid | Valid | Move byte to word with zero-extension. |
| 0F B6 /r | MOVZX r32, r/m8 | RM | Valid | Valid | Move byte to doubleword, zero-extension. |
| REX.W + 0F B6 /r | MOVZX r64, r/m81 | RM | Valid | N.E. | Move byte to quadword, zero-extension. |
| 0F B7 /r | MOVZX r32, r/m16 | RM | Valid | Valid | Move word to doubleword, zero-extension. |
| REX.W + 0F B7 /r | MOVZX r64, r/m16 | RM | Valid | N.E. | Move word to quadword, zero-extension. |