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

View File

@ -13,7 +13,7 @@
"state": { "state": {
"type": "markdown", "type": "markdown",
"state": { "state": {
"file": "FASM.md", "file": "X86/Общего назначения.md",
"mode": "source", "mode": "source",
"source": true "source": true
} }
@ -85,7 +85,7 @@
"state": { "state": {
"type": "backlink", "type": "backlink",
"state": { "state": {
"file": "FASM.md", "file": "X86/Общего назначения.md",
"collapseAll": false, "collapseAll": false,
"extraContext": false, "extraContext": false,
"sortOrder": "alphabetical", "sortOrder": "alphabetical",
@ -102,7 +102,7 @@
"state": { "state": {
"type": "outgoing-link", "type": "outgoing-link",
"state": { "state": {
"file": "FASM.md", "file": "X86/Общего назначения.md",
"linksCollapsed": true, "linksCollapsed": true,
"unlinkedCollapsed": false "unlinkedCollapsed": false
} }
@ -114,7 +114,7 @@
"state": { "state": {
"type": "outline", "type": "outline",
"state": { "state": {
"file": "FASM.md" "file": "X86/Общего назначения.md"
} }
} }
}, },
@ -141,13 +141,17 @@
"homepage:Open homepage": false "homepage:Open homepage": false
} }
}, },
"active": "908ebfd0d59a0fdb", "active": "de240db6ce2a66fa",
"lastOpenFiles": [ "lastOpenFiles": [
"X86/Общего назначения/Двоичные арифметические",
"X86/Общего назначения/Передачи данных/MOVZX.md",
"X86/Общего назначения/Передачи данных/MOVSX(D).md",
"X86/Общего назначения.md",
"X86/Общего назначения/Передачи данных/CBW,CWDE,CDQE.md",
"X86.md",
"Оглавление.md", "Оглавление.md",
"FASM.md", "FASM.md",
"X86/Общего назначения.md",
"X86/Общего назначения/Передачи данных/CWD,CDQ,CQO.md", "X86/Общего назначения/Передачи данных/CWD,CDQ,CQO.md",
"X86.md",
"X86/Общего назначения/Передачи данных/OUT.md", "X86/Общего назначения/Передачи данных/OUT.md",
"X86/Общего назначения/Передачи данных/IN.md", "X86/Общего назначения/Передачи данных/IN.md",
"X86/Общего назначения/Передачи данных/POPA(D).md", "X86/Общего назначения/Передачи данных/POPA(D).md",
@ -167,14 +171,10 @@
"X86/Общего назначения/Передачи данных/BSWAP.md", "X86/Общего назначения/Передачи данных/BSWAP.md",
"X86/Общего назначения/Условия.md", "X86/Общего назначения/Условия.md",
"Команды.md", "Команды.md",
"Команды 1.md",
"Команды%2FОбщего назначения%2FПередачи данных%2FXCHG.md",
"Untitled", "Untitled",
"Общегоы/Общего назначения/Передачи данных/MOV.md",
"Общегоы/Общего назначения", "Общегоы/Общего назначения",
"Общегоы", "Общегоы",
"Общегоы/Общего назначения/Передачи данных", "Общегоы/Общего назначения/Передачи данных",
"Команды%2FОбщего назначения%2FПередачи данных%2FMOV.md",
"Untitled.canvas", "Untitled.canvas",
"Общегоазначения", "Общегоазначения",
"X86/Общего назначения/Передачи данных", "X86/Общего назначения/Передачи данных",

View File

@ -1,25 +1,25 @@
## Команды передачи данных ## Команды передачи данных
| Команды | Описание | | Команды | Описание |
| -------------------------------------------------------------------------------:|:----------------------------------------------------- | | ------------------------------------------------------------------------------:|:----------------------------------------------------- |
| [MOV](Общего%20назначения/Передачи%20данных/MOV.md) | Присваивание | | [MOV](Общего%20назначения/Передачи%20данных/MOV.md) | Присваивание |
| [CMOVxx](Общего%20назначения/Передачи%20данных/CMOVxx.md) | Условное присваивание | | [CMOVxx](Общего%20назначения/Передачи%20данных/CMOVxx.md) | Условное присваивание |
| [XCHG](Общего%20назначения/Передачи%20данных/XCHG.md) | Обмен значений | | [XCHG](Общего%20назначения/Передачи%20данных/XCHG.md) | Обмен значений |
| [BSWAP](Общего%20назначения/Передачи%20данных/BSWAP.md) | Перестановка байтов | | [BSWAP](Общего%20назначения/Передачи%20данных/BSWAP.md) | Перестановка байтов |
| [XADD](Общего%20назначения/Передачи%20данных/XADD.md) | Обмен и сложение | | [XADD](Общего%20назначения/Передачи%20данных/XADD.md) | Обмен и сложение |
| [CMPXCHG](Общего%20назначения/Передачи%20данных/CMPXCHG.md) | Сравнение и обмен | | [CMPXCHG](Общего%20назначения/Передачи%20данных/CMPXCHG.md) | Сравнение и обмен |
| [CMPXCHG8B, CMPXCHG16B](Общего%20назначения/Передачи%20данных/CMPXCHG8(16)B.md) | Сравнение и обмен 8/16 байтов | | [CMPXCHG8B/CMPXCHG16B](Общего%20назначения/Передачи%20данных/CMPXCHG8(16)B.md) | Сравнение и обмен 8/16 байтов |
| [PUSH](Общего%20назначения/Передачи%20данных/PUSH.md) | Поместить значение в стек | | [PUSH](Общего%20назначения/Передачи%20данных/PUSH.md) | Поместить значение в стек |
| [POP](Общего%20назначения/Передачи%20данных/POP.md) | Взять значение из стека | | [POP](Общего%20назначения/Передачи%20данных/POP.md) | Взять значение из стека |
| [PUSHA/PUSHAD](Общего%20назначения/Передачи%20данных/PUSHA(D).md) | Поместить значения регистров общего назначения в стек | | [PUSHA/PUSHAD](Общего%20назначения/Передачи%20данных/PUSHA(D).md) | Поместить значения регистров общего назначения в стек |
| [POPA/POPAD](Общего%20назначения/Передачи%20данных/POPA(D).md) | Взять значения регистров общего назначения из стека | | [POPA/POPAD](Общего%20назначения/Передачи%20данных/POPA(D).md) | Взять значения регистров общего назначения из стека |
| [IN](Общего%20назначения/Передачи%20данных/IN.md) | Прочитать значение из порта ввода/вывода | | [IN](Общего%20назначения/Передачи%20данных/IN.md) | Прочитать значение из порта ввода/вывода |
| [OUT](Общего%20назначения/Передачи%20данных/OUT.md) | Записать значение в порт ввода/вывода | | [OUT](Общего%20назначения/Передачи%20данных/OUT.md) | Записать значение в порт ввода/вывода |
| CWD | Преобразовать Word в DWord | | [CWD](Общего%20назначения/Передачи%20данных/CWD,CDQ,CQO.md) | Преобразовать Word в DWord |
| CDQ | Преобразовать DWord в QWord | | [CDQ](Общего%20назначения/Передачи%20данных/CWD,CDQ,CQO.md) | Преобразовать DWord в QWord |
| CBW | Преобразовать Byte в Word | | [CBW](Общего%20назначения/Передачи%20данных/CBW,CWDE,CDQE.md) | Преобразовать Byte в Word |
| CWDE | Преобразовать Word в DWord в регистре eax | | [CWDE](Общего%20назначения/Передачи%20данных/CBW,CWDE,CDQE.md) | Преобразовать Word в DWord в регистре eax |
| MOVSX | Присвоить и расширить с учетом знака | | [MOVSX](Общего%20назначения/Передачи%20данных/MOVSX(D).md) | Присвоить и расширить с учетом знака |
| MOVZX | Присвоить и расширить нулевым значением | | [MOVZX](Общего%20назначения/Передачи%20данных/MOVZX.md) | Присвоить и расширить нулевым значением |
## Двоичные арифметические команды ## Двоичные арифметические команды

View File

@ -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. |

View File

@ -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. |

View File

@ -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. |