vault backup: 2024-01-05 23:00:41
This commit is contained in:
parent
9aa10fb36c
commit
ff9b6251e5
21
.obsidian/graph.json
vendored
21
.obsidian/graph.json
vendored
@ -5,8 +5,23 @@
|
|||||||
"showAttachments": false,
|
"showAttachments": false,
|
||||||
"hideUnresolved": false,
|
"hideUnresolved": false,
|
||||||
"showOrphans": true,
|
"showOrphans": true,
|
||||||
"collapse-color-groups": true,
|
"collapse-color-groups": false,
|
||||||
"colorGroups": [],
|
"colorGroups": [
|
||||||
|
{
|
||||||
|
"query": "path:\"X86/Общего назначения/Передачи данных\" ",
|
||||||
|
"color": {
|
||||||
|
"a": 1,
|
||||||
|
"rgb": 14701138
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"query": "path:\"X86/Общего назначения/Двоичные арифметические\" ",
|
||||||
|
"color": {
|
||||||
|
"a": 1,
|
||||||
|
"rgb": 14725458
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
"collapse-display": true,
|
"collapse-display": true,
|
||||||
"showArrow": true,
|
"showArrow": true,
|
||||||
"textFadeMultiplier": 0,
|
"textFadeMultiplier": 0,
|
||||||
@ -17,6 +32,6 @@
|
|||||||
"repelStrength": 9.92414664981037,
|
"repelStrength": 9.92414664981037,
|
||||||
"linkStrength": 0.486093552465234,
|
"linkStrength": 0.486093552465234,
|
||||||
"linkDistance": 383,
|
"linkDistance": 383,
|
||||||
"scale": 0.7401932494444989,
|
"scale": 0.5602434643767382,
|
||||||
"close": false
|
"close": false
|
||||||
}
|
}
|
36
.obsidian/workspace-mobile.json
vendored
36
.obsidian/workspace-mobile.json
vendored
@ -4,19 +4,15 @@
|
|||||||
"type": "split",
|
"type": "split",
|
||||||
"children": [
|
"children": [
|
||||||
{
|
{
|
||||||
"id": "0a9a3914929b7205",
|
"id": "516a54f9621a92fe",
|
||||||
"type": "tabs",
|
"type": "tabs",
|
||||||
"children": [
|
"children": [
|
||||||
{
|
{
|
||||||
"id": "6a0ff7f9aaa2f335",
|
"id": "d2bffea13176633c",
|
||||||
"type": "leaf",
|
"type": "leaf",
|
||||||
"state": {
|
"state": {
|
||||||
"type": "markdown",
|
"type": "graph",
|
||||||
"state": {
|
"state": {}
|
||||||
"file": "Оглавление.md",
|
|
||||||
"mode": "preview",
|
|
||||||
"source": true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -85,7 +81,6 @@
|
|||||||
"state": {
|
"state": {
|
||||||
"type": "backlink",
|
"type": "backlink",
|
||||||
"state": {
|
"state": {
|
||||||
"file": "Оглавление.md",
|
|
||||||
"collapseAll": false,
|
"collapseAll": false,
|
||||||
"extraContext": false,
|
"extraContext": false,
|
||||||
"sortOrder": "alphabetical",
|
"sortOrder": "alphabetical",
|
||||||
@ -102,7 +97,6 @@
|
|||||||
"state": {
|
"state": {
|
||||||
"type": "outgoing-link",
|
"type": "outgoing-link",
|
||||||
"state": {
|
"state": {
|
||||||
"file": "Оглавление.md",
|
|
||||||
"linksCollapsed": true,
|
"linksCollapsed": true,
|
||||||
"unlinkedCollapsed": false
|
"unlinkedCollapsed": false
|
||||||
}
|
}
|
||||||
@ -113,9 +107,7 @@
|
|||||||
"type": "leaf",
|
"type": "leaf",
|
||||||
"state": {
|
"state": {
|
||||||
"type": "outline",
|
"type": "outline",
|
||||||
"state": {
|
"state": {}
|
||||||
"file": "Оглавление.md"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -141,12 +133,17 @@
|
|||||||
"homepage:Open homepage": false
|
"homepage:Open homepage": false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"active": "6a0ff7f9aaa2f335",
|
"active": "d2bffea13176633c",
|
||||||
"lastOpenFiles": [
|
"lastOpenFiles": [
|
||||||
"Оглавление.md",
|
|
||||||
"X86/Общего назначения/Двоичные арифметические/SUB.md",
|
|
||||||
"X86/Общего назначения/Двоичные арифметические/ADC.md",
|
|
||||||
"X86/Общего назначения.md",
|
"X86/Общего назначения.md",
|
||||||
|
"X86/Общего назначения/Двоичные арифметические/DIV.md",
|
||||||
|
"X86/Общего назначения/Двоичные арифметические/IDIV.md",
|
||||||
|
"X86/Общего назначения/Двоичные арифметические/MUL.md",
|
||||||
|
"X86/Общего назначения/Двоичные арифметические/SUB.md",
|
||||||
|
"X86/Общего назначения/Двоичные арифметические/SBB.md",
|
||||||
|
"X86/Общего назначения/Двоичные арифметические/ADC.md",
|
||||||
|
"X86/Общего назначения/Двоичные арифметические/IMUL.md",
|
||||||
|
"Оглавление.md",
|
||||||
"X86/Общего назначения/Двоичные арифметические/ADD.md",
|
"X86/Общего назначения/Двоичные арифметические/ADD.md",
|
||||||
"X86/Общего назначения/Двоичные арифметические",
|
"X86/Общего назначения/Двоичные арифметические",
|
||||||
"X86/Общего назначения/Передачи данных/MOVZX.md",
|
"X86/Общего назначения/Передачи данных/MOVZX.md",
|
||||||
@ -167,11 +164,6 @@
|
|||||||
"X86/Общего назначения/Передачи данных/POP.md",
|
"X86/Общего назначения/Передачи данных/POP.md",
|
||||||
"X86/Общего назначения/Передачи данных/PUSH.md",
|
"X86/Общего назначения/Передачи данных/PUSH.md",
|
||||||
"X86/Общего назначения/Передачи данных/CMPXCHG.md",
|
"X86/Общего назначения/Передачи данных/CMPXCHG.md",
|
||||||
"X86/Общего назначения/Передачи данных/XCHG.md",
|
|
||||||
"X86/Общего назначения/Передачи данных/CMOVxx.md",
|
|
||||||
"X86/Общего назначения/Передачи данных/MOV.md",
|
|
||||||
"X86/Общего назначения/Передачи данных/XADD.md",
|
|
||||||
"X86/Общего назначения/Передачи данных/BSWAP.md",
|
|
||||||
"Untitled",
|
"Untitled",
|
||||||
"Общегоы/Общего назначения",
|
"Общегоы/Общего назначения",
|
||||||
"Общегоы",
|
"Общегоы",
|
||||||
|
@ -24,15 +24,15 @@
|
|||||||
## Двоичные арифметические команды
|
## Двоичные арифметические команды
|
||||||
|
|
||||||
| Команды | Описание |
|
| Команды | Описание |
|
||||||
| -----------------------------------------------------------:|:--------------------- |
|
| -------------------------------------------------------------:|:--------------------- |
|
||||||
| [ADD](Общего%20назначения/Двоичные%20арифметические/ADD.md) | Сложение |
|
| [ADD](Общего%20назначения/Двоичные%20арифметические/ADD.md) | Сложение |
|
||||||
| [ADC](Общего%20назначения/Двоичные%20арифметические/ADC.md) | Сложение с переносом |
|
| [ADC](Общего%20назначения/Двоичные%20арифметические/ADC.md) | Сложение с переносом |
|
||||||
| SUB | Вычитание |
|
| [SUB](Общего%20назначения/Двоичные%20арифметические/SUB.md) | Вычитание |
|
||||||
| SBB | Вычитание с заемом |
|
| [SBB](Общего%20назначения/Двоичные%20арифметические/SBB.md) | Вычитание с заемом |
|
||||||
| IMUL | Знаковое умножение |
|
| [IMUL](Общего%20назначения/Двоичные%20арифметические/IMUL.md) | Знаковое умножение |
|
||||||
| MUL | Беззнаковое умножение |
|
| [MUL](Общего%20назначения/Двоичные%20арифметические/MUL.md) | Беззнаковое умножение |
|
||||||
| IDIV | Знаковое деление |
|
| [IDIV](Общего%20назначения/Двоичные%20арифметические/IDIV.md) | Знаковое деление |
|
||||||
| DIV | Беззнаковое деление |
|
| [DIV](Общего%20назначения/Двоичные%20арифметические/DIV.md) | Беззнаковое деление |
|
||||||
| INC | Инкремент |
|
| INC | Инкремент |
|
||||||
| DEC | Декремент |
|
| DEC | Декремент |
|
||||||
| NEG | Смена знака |
|
| NEG | Смена знака |
|
||||||
|
@ -23,4 +23,4 @@
|
|||||||
| 13 /r | ADC r32, r/m32 | RM | Valid | Valid | Add with CF r/m32 to r32. |
|
| 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. |
|
| 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.
|
> \*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.
|
@ -23,4 +23,4 @@
|
|||||||
| 03 /r | ADD r32, r/m32 | RM | Valid | Valid | Add r/m32 to r32. |
|
| 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. |
|
| 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.
|
> \*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.
|
9
X86/Общего назначения/Двоичные арифметические/DIV.md
Normal file
9
X86/Общего назначения/Двоичные арифметические/DIV.md
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
| Opcode | Instruction | Op/En | 64-Bit Mode | Compat/Leg Mode | Description |
|
||||||
|
| ------------- | ----------- | ----- | ----------- | --------------- | ------------------------------------------------------------------------------------------ |
|
||||||
|
| F6 /6 | DIV r/m8 | M | Valid | Valid | Unsigned divide AX by r/m8, with result stored in AL := Quotient, AH := Remainder. |
|
||||||
|
| REX + F6 /6 | DIV r/m8\* | M | Valid | N.E. | Unsigned divide AX by r/m8, with result stored in AL := Quotient, AH := Remainder. |
|
||||||
|
| F7 /6 | DIV r/m16 | M | Valid | Valid | Unsigned divide DX:AX by r/m16, with result stored in AX := Quotient, DX := Remainder. |
|
||||||
|
| F7 /6 | DIV r/m32 | M | Valid | Valid | Unsigned divide EDX:EAX by r/m32, with result stored in EAX := Quotient, EDX := Remainder. |
|
||||||
|
| REX.W + F7 /6 | DIV r/m64 | M | Valid | N.E. | Unsigned divide RDX:RAX by r/m64, with result stored in RAX := Quotient, RDX := Remainder. |
|
||||||
|
|
||||||
|
> \*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.
|
9
X86/Общего назначения/Двоичные арифметические/IDIV.md
Normal file
9
X86/Общего назначения/Двоичные арифметические/IDIV.md
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
| Opcode | Instruction | Op/En | 64-Bit Mode | Compat/Leg Mode | Description |
|
||||||
|
| ------------- | ----------- | ----- | ----------- | --------------- | ---------------------------------------------------------------------------------------- |
|
||||||
|
| F6 /7 | IDIV r/m8 | M | Valid | Valid | Signed divide AX by r/m8, with result stored in: AL := Quotient, AH := Remainder. |
|
||||||
|
| REX + F6 /7 | IDIV r/m8\* | M | Valid | N.E. | Signed divide AX by r/m8, with result stored in AL := Quotient, AH := Remainder. |
|
||||||
|
| F7 /7 | IDIV r/m16 | M | Valid | Valid | Signed divide DX:AX by r/m16, with result stored in AX := Quotient, DX := Remainder. |
|
||||||
|
| F7 /7 | IDIV r/m32 | M | Valid | Valid | Signed divide EDX:EAX by r/m32, with result stored in EAX := Quotient, EDX := Remainder. |
|
||||||
|
| REX.W + F7 /7 | IDIV r/m64 | M | Valid | N.E. | Signed divide RDX:RAX by r/m64, with result stored in RAX := Quotient, RDX := Remainder. |
|
||||||
|
|
||||||
|
> \*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.
|
17
X86/Общего назначения/Двоичные арифметические/IMUL.md
Normal file
17
X86/Общего назначения/Двоичные арифметические/IMUL.md
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
| Opcode | Instruction | Op/En | 64-Bit Mode | Compat/Leg Mode | Description |
|
||||||
|
| ---------------- | ---------------------- | ----- | ----------- | --------------- | ------------------------------------------------------------ |
|
||||||
|
| F6 /5 | IMUL r/m8\* | M | Valid | Valid | AX:= AL ∗ r/m byte. |
|
||||||
|
| F7 /5 | IMUL r/m16 | M | Valid | Valid | DX:AX := AX ∗ r/m word. |
|
||||||
|
| F7 /5 | IMUL r/m32 | M | Valid | Valid | EDX:EAX := EAX ∗ r/m32. |
|
||||||
|
| REX.W + F7 /5 | IMUL r/m64 | M | Valid | N.E. | RDX:RAX := RAX ∗ r/m64. |
|
||||||
|
| 0F AF /r | IMUL r16, r/m16 | RM | Valid | Valid | word register := word register ∗ r/m16. |
|
||||||
|
| 0F AF /r | IMUL r32, r/m32 | RM | Valid | Valid | doubleword register := doubleword register ∗ r/m32. |
|
||||||
|
| REX.W + 0F AF /r | IMUL r64, r/m64 | RM | Valid | N.E. | Quadword register := Quadword register ∗ r/m64. |
|
||||||
|
| 6B /r ib | IMUL r16, r/m16, imm8 | RMI | Valid | Valid | word register := r/m16 ∗ sign-extended immediate byte. |
|
||||||
|
| 6B /r ib | IMUL r32, r/m32, imm8 | RMI | Valid | Valid | doubleword register := r/m32 ∗ sign-extended immediate byte. |
|
||||||
|
| REX.W + 6B /r ib | IMUL r64, r/m64, imm8 | RMI | Valid | N.E. | Quadword register := r/m64 ∗ sign-extended immediate byte. |
|
||||||
|
| 69 /r iw | IMUL r16, r/m16, imm16 | RMI | Valid | Valid | word register := r/m16 ∗ immediate word. |
|
||||||
|
| 69 /r id | IMUL r32, r/m32, imm32 | RMI | Valid | Valid | doubleword register := r/m32 ∗ immediate doubleword. |
|
||||||
|
| REX.W + 69 /r id | IMUL r64, r/m64, imm32 | RMI | Valid | N.E. | Quadword register := r/m64 ∗ immediate doubleword. |
|
||||||
|
|
||||||
|
> \*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.
|
9
X86/Общего назначения/Двоичные арифметические/MUL.md
Normal file
9
X86/Общего назначения/Двоичные арифметические/MUL.md
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
| Opcode | Instruction | Op/En | 64-Bit Mode | Compat/Leg Mode | Description |
|
||||||
|
| ------------- | ----------- | ----- | ----------- | --------------- | ------------------------------------------- |
|
||||||
|
| F6 /4 | MUL r/m8 | M | Valid | Valid | Unsigned multiply (AX := AL ∗ r/m8). |
|
||||||
|
| REX + F6 /4 | MUL r/m8\* | M | Valid | N.E. | Unsigned multiply (AX := AL ∗ r/m8). |
|
||||||
|
| F7 /4 | MUL r/m16 | M | Valid | Valid | Unsigned multiply (DX:AX := AX ∗ r/m16). |
|
||||||
|
| F7 /4 | MUL r/m32 | M | Valid | Valid | Unsigned multiply (EDX:EAX := EAX ∗ r/m32). |
|
||||||
|
| REX.W + F7 /4 | MUL r/m64 | M | Valid | N.E. | Unsigned multiply (RDX:RAX := RAX ∗ 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.
|
26
X86/Общего назначения/Двоичные арифметические/SBB.md
Normal file
26
X86/Общего назначения/Двоичные арифметические/SBB.md
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
| Opcode | Instruction | Op/En | 64-Bit Mode | Compat/Leg Mode | Description |
|
||||||
|
| ---------------- | ---------------- | ----- | ----------- | --------------- | --------------------------------------------------------------- |
|
||||||
|
| 1C ib | SBB AL, imm8 | I | Valid | Valid | Subtract with borrow imm8 from AL. |
|
||||||
|
| 1D iw | SBB AX, imm16 | I | Valid | Valid | Subtract with borrow imm16 from AX. |
|
||||||
|
| 1D id | SBB EAX, imm32 | I | Valid | Valid | Subtract with borrow imm32 from EAX. |
|
||||||
|
| REX.W + 1D id | SBB RAX, imm32 | I | Valid | N.E. | Subtract with borrow sign-extended imm.32 to 64-bits from RAX. |
|
||||||
|
| 80 /3 ib | SBB r/m8, imm8 | MI | Valid | Valid | Subtract with borrow imm8 from r/m8. |
|
||||||
|
| REX + 80 /3 ib | SBB r/m8\*, imm8 | MI | Valid | N.E. | Subtract with borrow imm8 from r/m8. |
|
||||||
|
| 81 /3 iw | SBB r/m16, imm16 | MI | Valid | Valid | Subtract with borrow imm16 from r/m16. |
|
||||||
|
| 81 /3 id | SBB r/m32, imm32 | MI | Valid | Valid | Subtract with borrow imm32 from r/m32. |
|
||||||
|
| REX.W + 81 /3 id | SBB r/m64, imm32 | MI | Valid | N.E. | Subtract with borrow sign-extended imm32 to 64-bits from r/m64. |
|
||||||
|
| 83 /3 ib | SBB r/m16, imm8 | MI | Valid | Valid | Subtract with borrow sign-extended imm8 from r/m16. |
|
||||||
|
| 83 /3 ib | SBB r/m32, imm8 | MI | Valid | Valid | Subtract with borrow sign-extended imm8 from r/m32. |
|
||||||
|
| REX.W + 83 /3 ib | SBB r/m64, imm8 | MI | Valid | N.E. | Subtract with borrow sign-extended imm8 from r/m64. |
|
||||||
|
| 18 /r | SBB r/m8, r8 | MR | Valid | Valid | Subtract with borrow r8 from r/m8. |
|
||||||
|
| REX + 18 /r | SBB r/m8\*, r8 | MR | Valid | N.E. | Subtract with borrow r8 from r/m8. |
|
||||||
|
| 19 /r | SBB r/m16, r16 | MR | Valid | Valid | Subtract with borrow r16 from r/m16. |
|
||||||
|
| 19 /r | SBB r/m32, r32 | MR | Valid | Valid | Subtract with borrow r32 from r/m32. |
|
||||||
|
| REX.W + 19 /r | SBB r/m64, r64 | MR | Valid | N.E. | Subtract with borrow r64 from r/m64. |
|
||||||
|
| 1A /r | SBB r8, r/m8 | RM | Valid | Valid | Subtract with borrow r/m8 from r8. |
|
||||||
|
| REX + 1A /r | SBB r8\*, r/m8\* | RM | Valid | N.E. | Subtract with borrow r/m8 from r8. |
|
||||||
|
| 1B /r | SBB r16, r/m16 | RM | Valid | Valid | Subtract with borrow r/m16 from r16. |
|
||||||
|
| 1B /r | SBB r32, r/m32 | RM | Valid | Valid | Subtract with borrow r/m32 from r32. |
|
||||||
|
| REX.W + 1B /r | SBB r64, r/m64 | RM | Valid | N.E. | Subtract with borrow 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.
|
@ -5,7 +5,7 @@
|
|||||||
| 2D id | SUB EAX, imm32 | I | Valid | Valid | Subtract imm32 from EAX. |
|
| 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. |
|
| 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. |
|
| 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. |
|
| REX + 80 /5 ib | SUB r/m8\*, 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 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. |
|
| 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. |
|
| REX.W + 81 /5 id | SUB r/m64, imm32 | MI | Valid | N.E. | Subtract imm32 sign-extended to 64-bits from r/m64. |
|
||||||
@ -13,14 +13,14 @@
|
|||||||
| 83 /5 ib | SUB r/m32, imm8 | MI | Valid | Valid | Subtract sign-extended imm8 from r/m32. |
|
| 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. |
|
| 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. |
|
| 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. |
|
| REX + 28 /r | SUB r/m8\*, r8\* | 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/m16, r16 | MR | Valid | Valid | Subtract r16 from r/m16. |
|
||||||
| 29 /r | SUB r/m32, r32 | MR | Valid | Valid | Subtract r32 from r/m32. |
|
| 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. |
|
| 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. |
|
| 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. |
|
| REX + 2A /r | SUB r8\*, r/m8\* | 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 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. |
|
| 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. |
|
| 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.
|
> \*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