vault backup: 2024-01-05 20:37:37

This commit is contained in:
sweetbread 2024-01-05 20:37:37 +03:00
parent 2222f1f0ef
commit 9156c5eb18
11 changed files with 89 additions and 37 deletions

16
.obsidian/graph.json vendored
View File

@ -7,16 +7,16 @@
"showOrphans": true, "showOrphans": true,
"collapse-color-groups": true, "collapse-color-groups": true,
"colorGroups": [], "colorGroups": [],
"collapse-display": true, "collapse-display": false,
"showArrow": false, "showArrow": true,
"textFadeMultiplier": 0, "textFadeMultiplier": 0,
"nodeSizeMultiplier": 1, "nodeSizeMultiplier": 1.52787610619469,
"lineSizeMultiplier": 1, "lineSizeMultiplier": 5,
"collapse-forces": true, "collapse-forces": false,
"centerStrength": 0.518713248970312, "centerStrength": 0.0714285714285714,
"repelStrength": 10, "repelStrength": 0.771175726927939,
"linkStrength": 1, "linkStrength": 1,
"linkDistance": 250, "linkDistance": 250,
"scale": 3.853381849979405, "scale": 1.5884613927474214,
"close": true "close": true
} }

View File

@ -2,7 +2,7 @@
"version": 3, "version": 3,
"homepages": { "homepages": {
"Main Homepage": { "Main Homepage": {
"value": "Команды", "value": "Оглавление",
"kind": "File", "kind": "File",
"openOnStartup": true, "openOnStartup": true,
"openMode": "Replace all open notes", "openMode": "Replace all open notes",

View File

@ -4,16 +4,16 @@
"type": "split", "type": "split",
"children": [ "children": [
{ {
"id": "85bf405efbbf68d7", "id": "68d7c37b4d7272bb",
"type": "tabs", "type": "tabs",
"children": [ "children": [
{ {
"id": "7757764cfa8581dc", "id": "de27de3851d40181",
"type": "leaf", "type": "leaf",
"state": { "state": {
"type": "markdown", "type": "markdown",
"state": { "state": {
"file": "Команды.md", "file": "X86/Общего назначения.md",
"mode": "source", "mode": "source",
"source": false "source": false
} }
@ -85,7 +85,7 @@
"state": { "state": {
"type": "backlink", "type": "backlink",
"state": { "state": {
"file": "Команды.md", "file": "X86/Общего назначения.md",
"collapseAll": false, "collapseAll": false,
"extraContext": false, "extraContext": false,
"sortOrder": "alphabetical", "sortOrder": "alphabetical",
@ -102,9 +102,9 @@
"state": { "state": {
"type": "outgoing-link", "type": "outgoing-link",
"state": { "state": {
"file": "Команды.md", "file": "X86/Общего назначения.md",
"linksCollapsed": false, "linksCollapsed": true,
"unlinkedCollapsed": true "unlinkedCollapsed": false
} }
} }
}, },
@ -114,7 +114,7 @@
"state": { "state": {
"type": "outline", "type": "outline",
"state": { "state": {
"file": "Команды.md" "file": "X86/Общего назначения.md"
} }
} }
}, },
@ -126,8 +126,7 @@
"state": {} "state": {}
} }
} }
], ]
"currentTab": 3
}, },
"left-ribbon": { "left-ribbon": {
"hiddenItems": { "hiddenItems": {
@ -141,12 +140,19 @@
"homepage:Open homepage": false "homepage:Open homepage": false
} }
}, },
"active": "7757764cfa8581dc", "active": "de27de3851d40181",
"lastOpenFiles": [ "lastOpenFiles": [
"Команды/Общего назначения/Передачи данных/CMOVxx.md", "X86/Общего назначения/Условия.md",
"X86/Общего назначения/Передачи данных/CMOVxx.md",
"X86/Общего назначения.md",
"X86.md",
"Оглавление.md",
"Команды.md", "Команды.md",
"Команды/Общего назначения/Передачи данных/MOV.md", "FASM.md",
"Untitled.md", "X86/Общего назначения/Передачи данных/XCHG.md",
"X86/Общего назначения/Передачи данных/MOV.md",
"Команды 1.md",
"Команды%2FОбщего назначения%2FПередачи данных%2FXCHG.md",
"Untitled", "Untitled",
"Общегоы/Общего назначения/Передачи данных/MOV.md", "Общегоы/Общего назначения/Передачи данных/MOV.md",
"Общегоы/Общего назначения", "Общегоы/Общего назначения",
@ -157,8 +163,8 @@
"Общегоазначения/Передачи_данных.md", "Общегоазначения/Передачи_данных.md",
"Общегоазначения", "Общегоазначения",
"Общего.md", "Общего.md",
"Команды/Общего назначения/Передачи данных", "X86/Общего назначения/Передачи данных",
"Команды/Общего назначения", "X86/Общего назначения",
"Команды" "X86"
] ]
} }

0
FASM.md Normal file
View File

5
X86.md Normal file
View File

@ -0,0 +1,5 @@
- [Команды общего назначения](Общего%20назначения.md)
---
Источник:
http://www.ccfit.nsu.ru/~kireev/lab2/lab2com.htm

View File

@ -1,10 +1,9 @@
## Команды общего назначения ## Команды передачи данных
### Команды передачи данных
| Команды | Описание | | Команды | Описание |
|-------------:|:----------------------------------------------------- | |-------------:|:----------------------------------------------------- |
| [MOV](Команды/Общего%20назначения/Передачи%20данных/MOV) | Присваивание | | [MOV](MOV.md) | Присваивание |
| [CMOVxx](Команды/Общего%20назначения/Передачи%20данных/CMOVxx) | Условное присваивание | | [CMOVxx](CMOVxx.md) | Условное присваивание |
| XCHG | Обмен значений | | [XCHG](XCHG.md) | Обмен значений |
| BSWAP | Перестановка байтов | | BSWAP | Перестановка байтов |
| XADD | Обмен и сложение | | XADD | Обмен и сложение |
| CMPXCHG | Сравнение и обмен | | CMPXCHG | Сравнение и обмен |
@ -21,9 +20,3 @@
| CWDE | Преобразовать Word в DWord в регистре eax | | CWDE | Преобразовать Word в DWord в регистре eax |
| MOVSX | Присвоить и расширить с учетом знака | | MOVSX | Присвоить и расширить с учетом знака |
| MOVZX | Присвоить и расширить нулевым значением | | MOVZX | Присвоить и расширить нулевым значением |
---
Источник:
http://www.ccfit.nsu.ru/~kireev/lab2/lab2com.htm

View File

@ -1,3 +1,5 @@
[Условия](Условия.md)
|Опкод|Инструкция|Op/En|64-битный режим|Легаси|Описание| |Опкод|Инструкция|Op/En|64-битный режим|Легаси|Описание|
|---|---|---|---|---|---| |---|---|---|---|---|---|
|0F 47 /r|CMOVA r16, r/m16|RM|Valid|Valid|Move if above (CF=0 and ZF=0).| |0F 47 /r|CMOVA r16, r/m16|RM|Valid|Valid|Move if above (CF=0 and ZF=0).|

View File

@ -0,0 +1,21 @@
|Opcode|Instruction|Op/En|64-Bit Mode|Compat/Leg Mode|Description|
|---|---|---|---|---|---|
|90+rw|XCHG AX, r16|O|Valid|Valid|Exchange r16 with AX.|
|90+rw|XCHG r16, AX|O|Valid|Valid|Exchange AX with r16.|
|90+rd|XCHG EAX, r32|O|Valid|Valid|Exchange r32 with EAX.|
|REX.W + 90+rd|XCHG RAX, r64|O|Valid|N.E.|Exchange r64 with RAX.|
|90+rd|XCHG r32, EAX|O|Valid|Valid|Exchange EAX with r32.|
|REX.W + 90+rd|XCHG r64, RAX|O|Valid|N.E.|Exchange RAX with r64.|
|86 /r|XCHG r/m8, r8|MR|Valid|Valid|Exchange r8 (byte register) with byte from r/m8.|
|REX + 86 /r|XCHG r/m8\*, r8\*|MR|Valid|N.E.|Exchange r8 (byte register) with byte from r/m8.|
|86 /r|XCHG r8, r/m8|RM|Valid|Valid|Exchange byte from r/m8 with r8 (byte register).|
|REX + 86 /r|XCHG r8\*, r/m8\*|RM|Valid|N.E.|Exchange byte from r/m8 with r8 (byte register).|
|87 /r|XCHG r/m16, r16|MR|Valid|Valid|Exchange r16 with word from r/m16.|
|87 /r|XCHG r16, r/m16|RM|Valid|Valid|Exchange word from r/m16 with r16.|
|87 /r|XCHG r/m32, r32|MR|Valid|Valid|Exchange r32 with doubleword from r/m32.|
|REX.W + 87 /r|XCHG r/m64, r64|MR|Valid|N.E.|Exchange r64 with quadword from r/m64.|
|87 /r|XCHG r32, r/m32|RM|Valid|Valid|Exchange doubleword from r/m32 with r32.|
|REX.W + 87 /r|XCHG r64, r/m64|RM|Valid|N.E.|Exchange quadword from r/m64 with r64.|
```
* In 64-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,19 @@
| **Обозначение в командах** | **Флаги** | **Условие** |
| --------------------------:|:--------------:| ------------------------------------------------- |
| a / nbe | CF=0 и ZF=0 | "выше" или "не ниже или равно" (беззнаковый тип) |
| ae / nb / nc | CF=0 | "выше или равно" или "не ниже" или "нет переноса" |
| b / nae / c | CF=1 | "ниже" или "не выше или равно" или "есть перенос" |
| be / na | CF=1 или ZF=1 | "ниже или равно" или "не выше" |
| e / z | ZF=1 | "равно" или "ноль" |
| ne / nz | ZF=0 | "не равно" или "не ноль" |
| g / nle | ZF=0 и SF=OF | "больше" или "не меньше или равно" |
| ge / nl | SF=OF | "больше или равно" или "не меньше" |
| l / nge | SF≠OF | "меньше" или "не больше или равно" |
| le / ng | ZF=0 или SF≠OF | "меньше или равно" или "не больше" |
| no | OF=0 | "нет переполнения" |
| o | OF=1 | "есть переполнение" |
| np / po | PF=0 | "нет четности" или "нечетное" |
| p / pe | PF=1 | "есть четность" или "четное" |
| ns | SF=0 | "нет знака" |
| s | SF=1 | "есть знак" |

6
Оглавление.md Normal file
View File

@ -0,0 +1,6 @@
# Ассемблер
[FASM](FASM)
# Архитектуры
[X86](X86)
[ARM](ARM)