vault backup: 2024-01-05 23:10:56

This commit is contained in:
sweetbread 2024-01-05 23:10:56 +03:00
parent ff9b6251e5
commit af34488cd2
6 changed files with 83 additions and 16 deletions

View File

@ -4,15 +4,19 @@
"type": "split", "type": "split",
"children": [ "children": [
{ {
"id": "516a54f9621a92fe", "id": "63d32247f792c29d",
"type": "tabs", "type": "tabs",
"children": [ "children": [
{ {
"id": "d2bffea13176633c", "id": "1f59df9499f764ed",
"type": "leaf", "type": "leaf",
"state": { "state": {
"type": "graph", "type": "markdown",
"state": {} "state": {
"file": "X86/Общего назначения.md",
"mode": "source",
"source": true
}
} }
} }
] ]
@ -81,6 +85,7 @@
"state": { "state": {
"type": "backlink", "type": "backlink",
"state": { "state": {
"file": "X86/Общего назначения.md",
"collapseAll": false, "collapseAll": false,
"extraContext": false, "extraContext": false,
"sortOrder": "alphabetical", "sortOrder": "alphabetical",
@ -97,6 +102,7 @@
"state": { "state": {
"type": "outgoing-link", "type": "outgoing-link",
"state": { "state": {
"file": "X86/Общего назначения.md",
"linksCollapsed": true, "linksCollapsed": true,
"unlinkedCollapsed": false "unlinkedCollapsed": false
} }
@ -107,7 +113,9 @@
"type": "leaf", "type": "leaf",
"state": { "state": {
"type": "outline", "type": "outline",
"state": {} "state": {
"file": "X86/Общего назначения.md"
}
} }
}, },
{ {
@ -133,17 +141,21 @@
"homepage:Open homepage": false "homepage:Open homepage": false
} }
}, },
"active": "d2bffea13176633c", "active": "1f59df9499f764ed",
"lastOpenFiles": [ "lastOpenFiles": [
"X86/Общего назначения/Двоичные арифметические/CMP.md",
"X86/Общего назначения/Двоичные арифметические/NEG.md",
"X86/Общего назначения/Двоичные арифметические/ADC.md",
"X86/Общего назначения/Двоичные арифметические/DEC.md",
"X86/Общего назначения/Двоичные арифметические/INC.md",
"X86/Общего назначения.md", "X86/Общего назначения.md",
"Оглавление.md",
"X86/Общего назначения/Двоичные арифметические/DIV.md", "X86/Общего назначения/Двоичные арифметические/DIV.md",
"X86/Общего назначения/Двоичные арифметические/IDIV.md", "X86/Общего назначения/Двоичные арифметические/IDIV.md",
"X86/Общего назначения/Двоичные арифметические/MUL.md", "X86/Общего назначения/Двоичные арифметические/MUL.md",
"X86/Общего назначения/Двоичные арифметические/SUB.md", "X86/Общего назначения/Двоичные арифметические/SUB.md",
"X86/Общего назначения/Двоичные арифметические/SBB.md", "X86/Общего назначения/Двоичные арифметические/SBB.md",
"X86/Общего назначения/Двоичные арифметические/ADC.md",
"X86/Общего назначения/Двоичные арифметические/IMUL.md", "X86/Общего назначения/Двоичные арифметические/IMUL.md",
"Оглавление.md",
"X86/Общего назначения/Двоичные арифметические/ADD.md", "X86/Общего назначения/Двоичные арифметические/ADD.md",
"X86/Общего назначения/Двоичные арифметические", "X86/Общего назначения/Двоичные арифметические",
"X86/Общего назначения/Передачи данных/MOVZX.md", "X86/Общего назначения/Передачи данных/MOVZX.md",
@ -160,10 +172,6 @@
"Общего назначения", "Общего назначения",
"Общего назначения/Передачи данных", "Общего назначения/Передачи данных",
"X86/Общего назначения/Untitled.md", "X86/Общего назначения/Untitled.md",
"X86/Общего назначения/Передачи данных/CMPXCHG8(16)B.md",
"X86/Общего назначения/Передачи данных/POP.md",
"X86/Общего назначения/Передачи данных/PUSH.md",
"X86/Общего назначения/Передачи данных/CMPXCHG.md",
"Untitled", "Untitled",
"Общегоы/Общего назначения", "Общегоы/Общего назначения",
"Общегоы", "Общегоы",

View File

@ -33,7 +33,7 @@
| [MUL](Общего%20назначения/Двоичные%20арифметические/MUL.md) | Беззнаковое умножение | | [MUL](Общего%20назначения/Двоичные%20арифметические/MUL.md) | Беззнаковое умножение |
| [IDIV](Общего%20назначения/Двоичные%20арифметические/IDIV.md) | Знаковое деление | | [IDIV](Общего%20назначения/Двоичные%20арифметические/IDIV.md) | Знаковое деление |
| [DIV](Общего%20назначения/Двоичные%20арифметические/DIV.md) | Беззнаковое деление | | [DIV](Общего%20назначения/Двоичные%20арифметические/DIV.md) | Беззнаковое деление |
| INC | Инкремент | | [INC](Общего%20назначения/Двоичные%20арифметические/INC.md) | Инкремент |
| DEC | Декремент | | [DEC](Общего%20назначения/Двоичные%20арифметические/DEC.md) | Декремент |
| NEG | Смена знака | | [NEG](Общего%20назначения/Двоичные%20арифметические/NEG.md) | Смена знака |
| CMP | Сравнение | | [CMP](Общего%20назначения/Двоичные%20арифметические/CMP.md) | Сравнение |

View File

@ -0,0 +1,26 @@
| Opcode | Instruction | Op/En | 64-Bit Mode | Compat/Leg Mode | Description |
| ---------------- | ---------------- | ----- | ----------- | --------------- | -------------------------------------------------- |
| 3C ib | CMP AL, imm8 | I | Valid | Valid | Compare imm8 with AL. |
| 3D iw | CMP AX, imm16 | I | Valid | Valid | Compare imm16 with AX. |
| 3D id | CMP EAX, imm32 | I | Valid | Valid | Compare imm32 with EAX. |
| REX.W + 3D id | CMP RAX, imm32 | I | Valid | N.E. | Compare imm32 sign-extended to 64-bits with RAX. |
| 80 /7 ib | CMP r/m8, imm8 | MI | Valid | Valid | Compare imm8 with r/m8. |
| REX + 80 /7 ib | CMP r/m8\*, imm8 | MI | Valid | N.E. | Compare imm8 with r/m8. |
| 81 /7 iw | CMP r/m16, imm16 | MI | Valid | Valid | Compare imm16 with r/m16. |
| 81 /7 id | CMP r/m32, imm32 | MI | Valid | Valid | Compare imm32 with r/m32. |
| REX.W + 81 /7 id | CMP r/m64, imm32 | MI | Valid | N.E. | Compare imm32 sign-extended to 64-bits with r/m64. |
| 83 /7 ib | CMP r/m16, imm8 | MI | Valid | Valid | Compare imm8 with r/m16. |
| 83 /7 ib | CMP r/m32, imm8 | MI | Valid | Valid | Compare imm8 with r/m32. |
| REX.W + 83 /7 ib | CMP r/m64, imm8 | MI | Valid | N.E. | Compare imm8 with r/m64. |
| 38 /r | CMP r/m8, r8 | MR | Valid | Valid | Compare r8 with r/m8. |
| REX + 38 /r | CMP r/m8\*, r8\* | MR | Valid | N.E. | Compare r8 with r/m8. |
| 39 /r | CMP r/m16, r16 | MR | Valid | Valid | Compare r16 with r/m16. |
| 39 /r | CMP r/m32, r32 | MR | Valid | Valid | Compare r32 with r/m32. |
| REX.W + 39 /r | CMP r/m64,r64 | MR | Valid | N.E. | Compare r64 with r/m64. |
| 3A /r | CMP r8, r/m8 | RM | Valid | Valid | Compare r/m8 with r8. |
| REX + 3A /r | CMP r8\*, r/m8\* | RM | Valid | N.E. | Compare r/m8 with r8. |
| 3B /r | CMP r16, r/m16 | RM | Valid | Valid | Compare r/m16 with r16. |
| 3B /r | CMP r32, r/m32 | RM | Valid | Valid | Compare r/m32 with r32. |
| REX.W + 3B /r | CMP r64, r/m64 | RM | Valid | N.E. | Compare r/m64 with r64. |
> * In64-bit mode, r/m8 cannot been coded to access the following byte registers if a REX prefix is used: AH, BH, CH, DH.

View File

@ -0,0 +1,11 @@
| Opcode | Instruction | Op/En | 64-Bit Mode | Compat/Leg Mode | Description |
| ------------- | ------------ | ----- | ----------- | --------------- | ----------------------- |
| FE /1 | DEC _r/m8_ | M | Valid | Valid | Decrement _r/m8_ by 1. |
| REX + FE /1 | DEC _r/m8_\* | M | Valid | N.E. | Decrement _r/m8_ by 1. |
| FF /1 | DEC _r/m16_ | M | Valid | Valid | Decrement _r/m16_ by 1. |
| FF /1 | DEC _r/m32_ | M | Valid | Valid | Decrement _r/m32_ by 1. |
| REX.W + FF /1 | DEC _r/m64_ | M | Valid | N.E. | Decrement _r/m64_ by 1. |
| 48+rw | DEC _r16_ | O | N.E. | Valid | Decrement _r16_ by 1. |
| 48+rd | DEC _r32_ | O | N.E. | Valid | Decrement _r32_ by 1. |
> * In64-bit mode, r/m8 cannot been coded to access the following byte registers if a REX prefix is used: AH, BH, CH, DH.

View File

@ -0,0 +1,13 @@
| Opcode | Instruction | Op/En | 64-Bit Mode | Compat/Leg Mode | Description |
| ------------- | ----------- | ----- | ----------- | --------------- | ----------------------------------- |
| FE /0 | INC r/m8 | M | Valid | Valid | Increment r/m byte by 1. |
| REX + FE /0 | INC r/m8\* | M | Valid | N.E. | Increment r/m byte by 1. |
| FF /0 | INC r/m16 | M | Valid | Valid | Increment r/m word by 1. |
| FF /0 | INC r/m32 | M | Valid | Valid | Increment r/m doubleword by 1. |
| REX.W + FF /0 | INC r/m64 | M | Valid | N.E. | Increment r/m quadword by 1. |
| 40+ rw\*\* | INC r16 | O | N.E. | Valid | Increment word register by 1. |
| 40+ rd | INC r32 | O | N.E. | Valid | Increment doubleword register by 1. |
> \*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.
>
> \*\*40H through 47H are REX prefixes in 64-bit mode.

View File

@ -0,0 +1,9 @@
| Opcode | Instruction | Op/En | 64-Bit Mode | Compat/Leg Mode | Description |
| ------------- | ----------- | ----- | ----------- | --------------- | ------------------------------ |
| F6 /3 | NEG r/m8 | M | Valid | Valid | Two's complement negate r/m8. |
| REX + F6 /3 | NEG r/m8\* | M | Valid | N.E. | Two's complement negate r/m8. |
| F7 /3 | NEG r/m16 | M | Valid | Valid | Two's complement negate r/m16. |
| F7 /3 | NEG r/m32 | M | Valid | Valid | Two's complement negate r/m32. |
| REX.W + F7 /3 | NEG r/m64 | M | Valid | N.E. | Two's complement negate r/m64. |
> \* 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.