16 lines
1.3 KiB
Markdown
16 lines
1.3 KiB
Markdown
![]() |
#### Перечисление типов команд
|
|||
|
|
|||
|
1. **Перемещение данных**
|
|||
|
- Сохранить в регистре заданное константное значение: MOV 123, R0.
|
|||
|
- Скопировать значения из памяти в регистр, или из регистра в память, или из регистра в регистр: LD [Addr], R0; ST R0, [Addr]; MOV R0, R1.
|
|||
|
- Чтение и запись данных с/на устройство ввода-вывода: OUT R0, IOPort1; IN IOPort2, R1.
|
|||
|
|
|||
|
2. **Арифметико-логические операции**
|
|||
|
- Сложить, вычесть, умножить, разделить: ADD R0, R1, R2; SUB, MUL, DIV, FADD, FSUB, FMUL, FDIV.
|
|||
|
- Побитовые операции: AND R0, R1, R2; NOT, OR, XOR, SHL, SHR, SAR, ROL, ROR, BT.
|
|||
|
- Сравнение двух значений: CMP R0, R1.
|
|||
|
|
|||
|
3. **Управление порядком выполнения программы**
|
|||
|
- Безусловный переход: JMP [Addr].
|
|||
|
- Условный переход: JE [Addr]; JE (Equal), JNE (Not Equal), JG (Greater), JGE (Greater Equal), JL (Less), JLE (Less Equal), JZ (Zero).
|
|||
|
- Вызов функции: PUSH R0; CALL [AddrFunc]; POP R0; RET.
|