vault backup: 2024-01-05 22:50:17
This commit is contained in:
parent
dc69f5dd7a
commit
9aa10fb36c
28
.obsidian/workspace-mobile.json
vendored
28
.obsidian/workspace-mobile.json
vendored
@ -4,17 +4,17 @@
|
|||||||
"type": "split",
|
"type": "split",
|
||||||
"children": [
|
"children": [
|
||||||
{
|
{
|
||||||
"id": "73e5a9279ce077c6",
|
"id": "0a9a3914929b7205",
|
||||||
"type": "tabs",
|
"type": "tabs",
|
||||||
"children": [
|
"children": [
|
||||||
{
|
{
|
||||||
"id": "908ebfd0d59a0fdb",
|
"id": "6a0ff7f9aaa2f335",
|
||||||
"type": "leaf",
|
"type": "leaf",
|
||||||
"state": {
|
"state": {
|
||||||
"type": "markdown",
|
"type": "markdown",
|
||||||
"state": {
|
"state": {
|
||||||
"file": "X86/Общего назначения.md",
|
"file": "Оглавление.md",
|
||||||
"mode": "source",
|
"mode": "preview",
|
||||||
"source": true
|
"source": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -85,7 +85,7 @@
|
|||||||
"state": {
|
"state": {
|
||||||
"type": "backlink",
|
"type": "backlink",
|
||||||
"state": {
|
"state": {
|
||||||
"file": "X86/Общего назначения.md",
|
"file": "Оглавление.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": "X86/Общего назначения.md",
|
"file": "Оглавление.md",
|
||||||
"linksCollapsed": true,
|
"linksCollapsed": true,
|
||||||
"unlinkedCollapsed": false
|
"unlinkedCollapsed": false
|
||||||
}
|
}
|
||||||
@ -114,7 +114,7 @@
|
|||||||
"state": {
|
"state": {
|
||||||
"type": "outline",
|
"type": "outline",
|
||||||
"state": {
|
"state": {
|
||||||
"file": "X86/Общего назначения.md"
|
"file": "Оглавление.md"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -141,15 +141,18 @@
|
|||||||
"homepage:Open homepage": false
|
"homepage:Open homepage": false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"active": "de240db6ce2a66fa",
|
"active": "6a0ff7f9aaa2f335",
|
||||||
"lastOpenFiles": [
|
"lastOpenFiles": [
|
||||||
|
"Оглавление.md",
|
||||||
|
"X86/Общего назначения/Двоичные арифметические/SUB.md",
|
||||||
|
"X86/Общего назначения/Двоичные арифметические/ADC.md",
|
||||||
|
"X86/Общего назначения.md",
|
||||||
|
"X86/Общего назначения/Двоичные арифметические/ADD.md",
|
||||||
"X86/Общего назначения/Двоичные арифметические",
|
"X86/Общего назначения/Двоичные арифметические",
|
||||||
"X86/Общего назначения/Передачи данных/MOVZX.md",
|
"X86/Общего назначения/Передачи данных/MOVZX.md",
|
||||||
"X86/Общего назначения/Передачи данных/MOVSX(D).md",
|
"X86/Общего назначения/Передачи данных/MOVSX(D).md",
|
||||||
"X86/Общего назначения.md",
|
|
||||||
"X86/Общего назначения/Передачи данных/CBW,CWDE,CDQE.md",
|
"X86/Общего назначения/Передачи данных/CBW,CWDE,CDQE.md",
|
||||||
"X86.md",
|
"X86.md",
|
||||||
"Оглавление.md",
|
|
||||||
"FASM.md",
|
"FASM.md",
|
||||||
"X86/Общего назначения/Передачи данных/CWD,CDQ,CQO.md",
|
"X86/Общего назначения/Передачи данных/CWD,CDQ,CQO.md",
|
||||||
"X86/Общего назначения/Передачи данных/OUT.md",
|
"X86/Общего назначения/Передачи данных/OUT.md",
|
||||||
@ -169,8 +172,6 @@
|
|||||||
"X86/Общего назначения/Передачи данных/MOV.md",
|
"X86/Общего назначения/Передачи данных/MOV.md",
|
||||||
"X86/Общего назначения/Передачи данных/XADD.md",
|
"X86/Общего назначения/Передачи данных/XADD.md",
|
||||||
"X86/Общего назначения/Передачи данных/BSWAP.md",
|
"X86/Общего назначения/Передачи данных/BSWAP.md",
|
||||||
"X86/Общего назначения/Условия.md",
|
|
||||||
"Команды.md",
|
|
||||||
"Untitled",
|
"Untitled",
|
||||||
"Общегоы/Общего назначения",
|
"Общегоы/Общего назначения",
|
||||||
"Общегоы",
|
"Общегоы",
|
||||||
@ -178,7 +179,6 @@
|
|||||||
"Untitled.canvas",
|
"Untitled.canvas",
|
||||||
"Общего_назначения",
|
"Общего_назначения",
|
||||||
"X86/Общего назначения/Передачи данных",
|
"X86/Общего назначения/Передачи данных",
|
||||||
"X86/Общего назначения",
|
"X86/Общего назначения"
|
||||||
"X86"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
@ -24,9 +24,9 @@
|
|||||||
## Двоичные арифметические команды
|
## Двоичные арифметические команды
|
||||||
|
|
||||||
| Команды | Описание |
|
| Команды | Описание |
|
||||||
| -------:|:--------------------- |
|
| -----------------------------------------------------------:|:--------------------- |
|
||||||
| ADD | Сложение |
|
| [ADD](Общего%20назначения/Двоичные%20арифметические/ADD.md) | Сложение |
|
||||||
| ADC | Сложение с переносом |
|
| [ADC](Общего%20назначения/Двоичные%20арифметические/ADC.md) | Сложение с переносом |
|
||||||
| SUB | Вычитание |
|
| SUB | Вычитание |
|
||||||
| SBB | Вычитание с заемом |
|
| SBB | Вычитание с заемом |
|
||||||
| IMUL | Знаковое умножение |
|
| IMUL | Знаковое умножение |
|
||||||
|
26
X86/Общего назначения/Двоичные арифметические/ADC.md
Normal file
26
X86/Общего назначения/Двоичные арифметические/ADC.md
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
| Opcode | Instruction | Op/En | 64-bit Mode | Compat/Leg Mode | Description |
|
||||||
|
| ---------------- | ---------------- | ----- | ----------- | --------------- | ----------------------------------------------------- |
|
||||||
|
| 14 ib | ADC AL, imm8 | I | Valid | Valid | Add with carry imm8 to AL. |
|
||||||
|
| 15 iw | ADC AX, imm16 | I | Valid | Valid | Add with carry imm16 to AX. |
|
||||||
|
| 15 id | ADC EAX, imm32 | I | Valid | Valid | Add with carry imm32 to EAX. |
|
||||||
|
| REX.W + 15 id | ADC RAX, imm32 | I | Valid | N.E. | Add with carry imm32 sign extended to 64-bits to RAX. |
|
||||||
|
| 80 /2 ib | ADC r/m8, imm8 | MI | Valid | Valid | Add with carry imm8 to r/m8. |
|
||||||
|
| REX + 80 /2 ib | ADC r/m8\*, imm8 | MI | Valid | N.E. | Add with carry imm8 to r/m8. |
|
||||||
|
| 81 /2 iw | ADC r/m16, imm16 | MI | Valid | Valid | Add with carry imm16 to r/m16. |
|
||||||
|
| 81 /2 id | ADC r/m32, imm32 | MI | Valid | Valid | Add with CF imm32 to r/m32. |
|
||||||
|
| REX.W + 81 /2 id | ADC r/m64, imm32 | MI | Valid | N.E. | Add with CF imm32 sign extended to 64-bits to r/m64. |
|
||||||
|
| 83 /2 ib | ADC r/m16, imm8 | MI | Valid | Valid | Add with CF sign-extended imm8 to r/m16. |
|
||||||
|
| 83 /2 ib | ADC r/m32, imm8 | MI | Valid | Valid | Add with CF sign-extended imm8 into r/m32. |
|
||||||
|
| REX.W + 83 /2 ib | ADC r/m64, imm8 | MI | Valid | N.E. | Add with CF sign-extended imm8 into r/m64. |
|
||||||
|
| 10 /r | ADC r/m8, r8 | MR | Valid | Valid | Add with carry byte register to r/m8. |
|
||||||
|
| REX + 10 /r | ADC r/m8\*, r8\* | MR | Valid | N.E. | Add with carry byte register to r/m64. |
|
||||||
|
| 11 /r | ADC r/m16, r16 | MR | Valid | Valid | Add with carry r16 to r/m16. |
|
||||||
|
| 11 /r | ADC r/m32, r32 | MR | Valid | Valid | Add with CF r32 to r/m32. |
|
||||||
|
| REX.W + 11 /r | ADC r/m64, r64 | MR | Valid | N.E. | Add with CF r64 to r/m64. |
|
||||||
|
| 12 /r | ADC r8, r/m8 | RM | Valid | Valid | Add with carry r/m8 to byte register. |
|
||||||
|
| REX + 12 /r | ADC r8\*, r/m8\* | RM | Valid | N.E. | Add with carry r/m64 to byte register. |
|
||||||
|
| 13 /r | ADC r16, r/m16 | RM | Valid | Valid | Add with carry r/m16 to r16. |
|
||||||
|
| 13 /r | ADC r32, r/m32 | RM | Valid | Valid | Add with CF r/m32 to r32. |
|
||||||
|
| REX.W + 13 /r | ADC r64, r/m64 | RM | Valid | N.E. | Add with CF r/m64 to r64. |
|
||||||
|
|
||||||
|
> *In 64-bit mode, r/m8 can not be encoded to access the following byte registers if a REX prefix is used: AH, BH, CH, DH.
|
26
X86/Общего назначения/Двоичные арифметические/ADD.md
Normal file
26
X86/Общего назначения/Двоичные арифметические/ADD.md
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
| Opcode | Instruction | Op/En | 64-bit Mode | Compat/Leg Mode | Description |
|
||||||
|
| ---------------- | ---------------- | ----- | ----------- | --------------- | -------------------------------------------- |
|
||||||
|
| 04 ib | ADD AL, imm8 | I | Valid | Valid | Add imm8 to AL. |
|
||||||
|
| 05 iw | ADD AX, imm16 | I | Valid | Valid | Add imm16 to AX. |
|
||||||
|
| 05 id | ADD EAX, imm32 | I | Valid | Valid | Add imm32 to EAX. |
|
||||||
|
| REX.W + 05 id | ADD RAX, imm32 | I | Valid | N.E. | Add imm32 sign-extended to 64-bits to RAX. |
|
||||||
|
| 80 /0 ib | ADD r/m8, imm8 | MI | Valid | Valid | Add imm8 to r/m8. |
|
||||||
|
| REX + 80 /0 ib | ADD r/m8\*, imm8 | MI | Valid | N.E. | Add sign-extended imm8 to r/m8. |
|
||||||
|
| 81 /0 iw | ADD r/m16, imm16 | MI | Valid | Valid | Add imm16 to r/m16. |
|
||||||
|
| 81 /0 id | ADD r/m32, imm32 | MI | Valid | Valid | Add imm32 to r/m32. |
|
||||||
|
| REX.W + 81 /0 id | ADD r/m64, imm32 | MI | Valid | N.E. | Add imm32 sign-extended to 64-bits to r/m64. |
|
||||||
|
| 83 /0 ib | ADD r/m16, imm8 | MI | Valid | Valid | Add sign-extended imm8 to r/m16. |
|
||||||
|
| 83 /0 ib | ADD r/m32, imm8 | MI | Valid | Valid | Add sign-extended imm8 to r/m32. |
|
||||||
|
| REX.W + 83 /0 ib | ADD r/m64, imm8 | MI | Valid | N.E. | Add sign-extended imm8 to r/m64. |
|
||||||
|
| 00 /r | ADD r/m8, r8 | MR | Valid | Valid | Add r8 to r/m8. |
|
||||||
|
| REX + 00 /r | ADD r/m8\*, r8\* | MR | Valid | N.E. | Add r8 to r/m8. |
|
||||||
|
| 01 /r | ADD r/m16, r16 | MR | Valid | Valid | Add r16 to r/m16. |
|
||||||
|
| 01 /r | ADD r/m32, r32 | MR | Valid | Valid | Add r32 to r/m32. |
|
||||||
|
| REX.W + 01 /r | ADD r/m64, r64 | MR | Valid | N.E. | Add r64 to r/m64. |
|
||||||
|
| 02 /r | ADD r8, r/m8 | RM | Valid | Valid | Add r/m8 to r8. |
|
||||||
|
| REX + 02 /r | ADD r8\*, r/m8\* | RM | Valid | N.E. | Add r/m8 to r8. |
|
||||||
|
| 03 /r | ADD r16, r/m16 | RM | Valid | Valid | Add r/m16 to r16. |
|
||||||
|
| 03 /r | ADD r32, r/m32 | RM | Valid | Valid | Add r/m32 to r32. |
|
||||||
|
| REX.W + 03 /r | ADD r64, r/m64 | RM | Valid | N.E. | Add r/m64 to r64. |
|
||||||
|
|
||||||
|
> *In 64-bit mode, r/m8 can not be encoded to access the following byte registers if a REX prefix is used: AH, BH, CH, DH.
|
26
X86/Общего назначения/Двоичные арифметические/SUB.md
Normal file
26
X86/Общего назначения/Двоичные арифметические/SUB.md
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
| Opcode | Instruction | Op/En | 64-Bit Mode | Compat/Leg Mode | Description |
|
||||||
|
| ---------------- | ---------------- | ----- | ----------- | --------------- | --------------------------------------------------- |
|
||||||
|
| 2C ib | SUB AL, imm8 | I | Valid | Valid | Subtract imm8 from AL. |
|
||||||
|
| 2D iw | SUB AX, imm16 | I | Valid | Valid | Subtract imm16 from AX. |
|
||||||
|
| 2D id | SUB EAX, imm32 | I | Valid | Valid | Subtract imm32 from EAX. |
|
||||||
|
| REX.W + 2D id | SUB RAX, imm32 | I | Valid | N.E. | Subtract imm32 sign-extended to 64-bits from RAX. |
|
||||||
|
| 80 /5 ib | SUB r/m8, imm8 | MI | Valid | Valid | Subtract imm8 from r/m8. |
|
||||||
|
| REX + 80 /5 ib | SUB r/m81, imm8 | MI | Valid | N.E. | Subtract imm8 from r/m8. |
|
||||||
|
| 81 /5 iw | SUB r/m16, imm16 | MI | Valid | Valid | Subtract imm16 from r/m16. |
|
||||||
|
| 81 /5 id | SUB r/m32, imm32 | MI | Valid | Valid | Subtract imm32 from r/m32. |
|
||||||
|
| REX.W + 81 /5 id | SUB r/m64, imm32 | MI | Valid | N.E. | Subtract imm32 sign-extended to 64-bits from r/m64. |
|
||||||
|
| 83 /5 ib | SUB r/m16, imm8 | MI | Valid | Valid | Subtract sign-extended imm8 from r/m16. |
|
||||||
|
| 83 /5 ib | SUB r/m32, imm8 | MI | Valid | Valid | Subtract sign-extended imm8 from r/m32. |
|
||||||
|
| REX.W + 83 /5 ib | SUB r/m64, imm8 | MI | Valid | N.E. | Subtract sign-extended imm8 from r/m64. |
|
||||||
|
| 28 /r | SUB r/m8, r8 | MR | Valid | Valid | Subtract r8 from r/m8. |
|
||||||
|
| REX + 28 /r | SUB r/m81, r81 | MR | Valid | N.E. | Subtract r8 from r/m8. |
|
||||||
|
| 29 /r | SUB r/m16, r16 | MR | Valid | Valid | Subtract r16 from r/m16. |
|
||||||
|
| 29 /r | SUB r/m32, r32 | MR | Valid | Valid | Subtract r32 from r/m32. |
|
||||||
|
| REX.W + 29 /r | SUB r/m64, r64 | MR | Valid | N.E. | Subtract r64 from r/m64. |
|
||||||
|
| 2A /r | SUB r8, r/m8 | RM | Valid | Valid | Subtract r/m8 from r8. |
|
||||||
|
| REX + 2A /r | SUB r81, r/m81 | RM | Valid | N.E. | Subtract r/m8 from r8. |
|
||||||
|
| 2B /r | SUB r16, r/m16 | RM | Valid | Valid | Subtract r/m16 from r16. |
|
||||||
|
| 2B /r | SUB r32, r/m32 | RM | Valid | Valid | Subtract r/m32 from r32. |
|
||||||
|
| REX.W + 2B /r | SUB r64, r/m64 | RM | Valid | N.E. | Subtract r/m64 from r64. |
|
||||||
|
|
||||||
|
> *In 64-bit mode, r/m8 can not be encoded to access the following byte registers if a REX prefix is used: AH, BH, CH, DH.
|
Loading…
x
Reference in New Issue
Block a user