#### Перечисление типов команд 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.