diff --git a/.obsidian/workspace-mobile.json b/.obsidian/workspace-mobile.json index bbd423d..dbebdd6 100644 --- a/.obsidian/workspace-mobile.json +++ b/.obsidian/workspace-mobile.json @@ -4,17 +4,17 @@ "type": "split", "children": [ { - "id": "c36ac64ad0e8893b", + "id": "8f1990f0f8a5e54a", "type": "tabs", "children": [ { - "id": "227af05a912ac149", + "id": "735d60dece22bc96", "type": "leaf", "state": { "type": "markdown", "state": { - "file": "X86/Общего назначения/Побитовый сдвиг, вращение/Untitled.md", - "mode": "source", + "file": "X86.md", + "mode": "preview", "source": true } } @@ -85,7 +85,7 @@ "state": { "type": "backlink", "state": { - "file": "X86/Общего назначения/Побитовый сдвиг, вращение/Untitled.md", + "file": "X86.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -102,7 +102,7 @@ "state": { "type": "outgoing-link", "state": { - "file": "X86/Общего назначения/Побитовый сдвиг, вращение/Untitled.md", + "file": "X86.md", "linksCollapsed": true, "unlinkedCollapsed": false } @@ -114,7 +114,7 @@ "state": { "type": "outline", "state": { - "file": "X86/Общего назначения/Побитовый сдвиг, вращение/Untitled.md" + "file": "X86.md" } } }, @@ -141,12 +141,15 @@ "homepage:Open homepage": false } }, - "active": "227af05a912ac149", + "active": "735d60dece22bc96", "lastOpenFiles": [ - "X86/Общего назначения.md", - "X86/Общего назначения/Побитовый сдвиг, вращение/Untitled.md", - "X86/Общего назначения/Побитовый сдвиг, вращение", "Оглавление.md", + "X86/Общего назначения/Побитовый сдвиг, вращение/SAL.md", + "X86/Общего назначения/Побитовый сдвиг, вращение/SAR.md", + "X86/Общего назначения/Побитовый сдвиг, вращение/SHL.md", + "X86/Общего назначения/Побитовый сдвиг, вращение/SAR,SHL,SHR.md", + "X86/Общего назначения.md", + "X86/Общего назначения/Побитовый сдвиг, вращение", "X86/Общего назначения/Логические/NOT.md", "X86/Общего назначения/Логические/XOR.md", "X86/Общего назначения/Логические/OR.md", @@ -169,9 +172,6 @@ "X86/Общего назначения/Передачи данных/MOVZX.md", "X86/Общего назначения/Передачи данных/MOVSX(D).md", "X86/Общего назначения/Передачи данных/CBW,CWDE,CDQE.md", - "FASM.md", - "X86/Общего назначения/Передачи данных/CWD,CDQ,CQO.md", - "X86/Общего назначения/Передачи данных/OUT.md", "Общего назначения", "Общего назначения/Передачи данных", "Untitled", diff --git a/X86/Общего назначения/Побитовый сдвиг, вращение/SAL.md b/X86/Общего назначения/Побитовый сдвиг, вращение/SAL.md new file mode 100644 index 0000000..aebb477 --- /dev/null +++ b/X86/Общего назначения/Побитовый сдвиг, вращение/SAL.md @@ -0,0 +1,17 @@ +| Opcode | Instruction | Op/En | 64-Bit Mode | Compat/Leg Mode | Description | +| ---------------- | --------------- | ----- | ----------- | --------------- | -------------------------------- | +| D0 /4 | SAL r/m8, 1 | M1 | Valid | Valid | Multiply r/m8 by 2, once. | +| REX + D0 /4 | SAL r/m82, 1 | M1 | Valid | N.E. | Multiply r/m8 by 2, once. | +| D2 /4 | SAL r/m8, CL | MC | Valid | Valid | Multiply r/m8 by 2, CL times. | +| REX + D2 /4 | SAL r/m82, CL | MC | Valid | N.E. | Multiply r/m8 by 2, CL times. | +| C0 /4 ib | SAL r/m8, imm8 | MI | Valid | Valid | Multiply r/m8 by 2, imm8 times. | +| REX + C0 /4 ib | SAL r/m82, imm8 | MI | Valid | N.E. | Multiply r/m8 by 2, imm8 times. | +| D1 /4 | SAL r/m16, 1 | M1 | Valid | Valid | Multiply r/m16 by 2, once. | +| D3 /4 | SAL r/m16, CL | MC | Valid | Valid | Multiply r/m16 by 2, CL times. | +| C1 /4 ib | SAL r/m16, imm8 | MI | Valid | Valid | Multiply r/m16 by 2, imm8 times. | +| D1 /4 | SAL r/m32, 1 | M1 | Valid | Valid | Multiply r/m32 by 2, once. | +| REX.W + D1 /4 | SAL r/m64, 1 | M1 | Valid | N.E. | Multiply r/m64 by 2, once. | +| D3 /4 | SAL r/m32, CL | MC | Valid | Valid | Multiply r/m32 by 2, CL times. | +| REX.W + D3 /4 | SAL r/m64, CL | MC | Valid | N.E. | Multiply r/m64 by 2, CL times. | +| C1 /4 ib | SAL r/m32, imm8 | MI | Valid | Valid | Multiply r/m32 by 2, imm8 times. | +| REX.W + C1 /4 ib | SAL r/m64, imm8 | MI | Valid | N.E. | Multiply r/m64 by 2, imm8 times. | diff --git a/X86/Общего назначения/Побитовый сдвиг, вращение/SAR,SHL,SHR.md b/X86/Общего назначения/Побитовый сдвиг, вращение/SAR,SHL,SHR.md new file mode 100644 index 0000000..fef45c8 --- /dev/null +++ b/X86/Общего назначения/Побитовый сдвиг, вращение/SAR,SHL,SHR.md @@ -0,0 +1,23 @@ +| Opcode | Instruction | Op/En | 64-Bit Mode | Compat/Leg Mode | Description | +| ---------------- | --------------- | ----- | ----------- | --------------- | --------------------------------------- | +| D0 /5 | SHR r/m8,1 | M1 | Valid | Valid | Unsigned divide r/m8 by 2, once. | +| REX + D0 /5 | SHR r/m82, 1 | M1 | Valid | N.E. | Unsigned divide r/m8 by 2, once. | +| D2 /5 | SHR r/m8, CL | MC | Valid | Valid | Unsigned divide r/m8 by 2, CL times. | +| REX + D2 /5 | SHR r/m82, CL | MC | Valid | N.E. | Unsigned divide r/m8 by 2, CL times. | +| C0 /5 ib | SHR r/m8, imm8 | MI | Valid | Valid | Unsigned divide r/m8 by 2, imm8 times. | +| REX + C0 /5 ib | SHR r/m82, imm8 | MI | Valid | N.E. | Unsigned divide r/m8 by 2, imm8 times. | +| D1 /5 | SHR r/m16, 1 | M1 | Valid | Valid | Unsigned divide r/m16 by 2, once. | +| D3 /5 | SHR r/m16, CL | MC | Valid | Valid | Unsigned divide r/m16 by 2, CL times | +| C1 /5 ib | SHR r/m16, imm8 | MI | Valid | Valid | Unsigned divide r/m16 by 2, imm8 times. | +| D1 /5 | SHR r/m32, 1 | M1 | Valid | Valid | Unsigned divide r/m32 by 2, once. | +| REX.W + D1 /5 | SHR r/m64, 1 | M1 | Valid | N.E. | Unsigned divide r/m64 by 2, once. | +| D3 /5 | SHR r/m32, CL | MC | Valid | Valid | Unsigned divide r/m32 by 2, CL times. | +| REX.W + D3 /5 | SHR r/m64, CL | MC | Valid | N.E. | Unsigned divide r/m64 by 2, CL times. | +| C1 /5 ib | SHR r/m32, imm8 | MI | Valid | Valid | Unsigned divide r/m32 by 2, imm8 times. | +| REX.W + C1 /5 ib | SHR r/m64, imm8 | MI | Valid | N.E. | Unsigned divide r/m64 by 2, imm8 times. | + +> 1. See the IA-32 Architecture Compatibility section below. +> +> 2. 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. +> +> 3. Not the same form of division as IDIV; rounding is toward negative infinity. \ No newline at end of file diff --git a/X86/Общего назначения/Побитовый сдвиг, вращение/SAR.md b/X86/Общего назначения/Побитовый сдвиг, вращение/SAR.md new file mode 100644 index 0000000..01b419f --- /dev/null +++ b/X86/Общего назначения/Побитовый сдвиг, вращение/SAR.md @@ -0,0 +1,17 @@ +| Opcode | Instruction | Op/En | 64-Bit Mode | Compat/Leg Mode | Description | +| ---------------- | --------------- | ----- | ----------- | --------------- | -------------------------------------- | +| D0 /7 | SAR r/m8, 1 | M1 | Valid | Valid | Signed divide3 r/m8 by 2, once. | +| REX + D0 /7 | SAR r/m82, 1 | M1 | Valid | N.E. | Signed divide3 r/m8 by 2, once. | +| D2 /7 | SAR r/m8, CL | MC | Valid | Valid | Signed divide3 r/m8 by 2, CL times. | +| REX + D2 /7 | SAR r/m82, CL | MC | Valid | N.E. | Signed divide3 r/m8 by 2, CL times. | +| C0 /7 ib | SAR r/m8, imm8 | MI | Valid | Valid | Signed divide3 r/m8 by 2, imm8 times. | +| REX + C0 /7 ib | SAR r/m82, imm8 | MI | Valid | N.E. | Signed divide3 r/m8 by 2, imm8 times. | +| D1 /7 | SAR r/m16,1 | M1 | Valid | Valid | Signed divide3 r/m16 by 2, once. | +| D3 /7 | SAR r/m16, CL | MC | Valid | Valid | Signed divide3 r/m16 by 2, CL times. | +| C1 /7 ib | SAR r/m16, imm8 | MI | Valid | Valid | Signed divide3 r/m16 by 2, imm8 times. | +| D1 /7 | SAR r/m32, 1 | M1 | Valid | Valid | Signed divide3 r/m32 by 2, once. | +| REX.W + D1 /7 | SAR r/m64, 1 | M1 | Valid | N.E. | Signed divide3 r/m64 by 2, once. | +| D3 /7 | SAR r/m32, CL | MC | Valid | Valid | Signed divide3 r/m32 by 2, CL times. | +| REX.W + D3 /7 | SAR r/m64, CL | MC | Valid | N.E. | Signed divide3 r/m64 by 2, CL times. | +| C1 /7 ib | SAR r/m32, imm8 | MI | Valid | Valid | Signed divide3 r/m32 by 2, imm8 times. | +| REX.W + C1 /7 ib | SAR r/m64, imm8 | MI | Valid | N.E. | Signed divide3 r/m64 by 2, imm8 times | \ No newline at end of file diff --git a/X86/Общего назначения/Побитовый сдвиг, вращение/SHL.md b/X86/Общего назначения/Побитовый сдвиг, вращение/SHL.md new file mode 100644 index 0000000..29a7ac3 --- /dev/null +++ b/X86/Общего назначения/Побитовый сдвиг, вращение/SHL.md @@ -0,0 +1,17 @@ +| Opcode | Instruction | Op/En | 64-Bit Mode | Compat/Leg Mode | Description | +| ---------------- | --------------- | ----- | ----------- | --------------- | -------------------------------- | +| D0 /4 | SHL r/m8, 1 | M1 | Valid | Valid | Multiply r/m8 by 2, once. | +| REX + D0 /4 | SHL r/m82, 1 | M1 | Valid | N.E. | Multiply r/m8 by 2, once. | +| D2 /4 | SHL r/m8, CL | MC | Valid | Valid | Multiply r/m8 by 2, CL times. | +| REX + D2 /4 | SHL r/m82, CL | MC | Valid | N.E. | Multiply r/m8 by 2, CL times. | +| C0 /4 ib | SHL r/m8, imm8 | MI | Valid | Valid | Multiply r/m8 by 2, imm8 times. | +| REX + C0 /4 ib | SHL r/m82, imm8 | MI | Valid | N.E. | Multiply r/m8 by 2, imm8 times. | +| D1 /4 | SHL r/m16,1 | M1 | Valid | Valid | Multiply r/m16 by 2, once. | +| D3 /4 | SHL r/m16, CL | MC | Valid | Valid | Multiply r/m16 by 2, CL times. | +| C1 /4 ib | SHL r/m16, imm8 | MI | Valid | Valid | Multiply r/m16 by 2, imm8 times. | +| D1 /4 | SHL r/m32,1 | M1 | Valid | Valid | Multiply r/m32 by 2, once. | +| REX.W + D1 /4 | SHL r/m64,1 | M1 | Valid | N.E. | Multiply r/m64 by 2, once. | +| D3 /4 | SHL r/m32, CL | MC | Valid | Valid | Multiply r/m32 by 2, CL times. | +| REX.W + D3 /4 | SHL r/m64, CL | MC | Valid | N.E. | Multiply r/m64 by 2, CL times. | +| C1 /4 ib | SHL r/m32, imm8 | MI | Valid | Valid | Multiply r/m32 by 2, imm8 times. | +| REX.W + C1 /4 ib | SHL r/m64, imm8 | MI | Valid | N.E. | Multiply r/m64 by 2, imm8 times. | \ No newline at end of file