|AF|
Команды инкремента:
[IF cond] |AR| = |yop+1|;
|AF|
Команды декремента:
[IF cond] |AR| = |yop-1|;
|AF|
Команды битовых операций:
[IF cond] |AR| = |TSTBIT n xop|; {операция логического «И» разряда n с 1}
|SETBIT n xop|; {операция установки разряда n в 1}
|CLBIT n xop|; {операция установки разряда n в 0}
|TGBIT n xop|; {операция «ИСКЛЮЧАЮЩЕЕ ИЛИ» бита n с 1}
Здесь n могут принимать значения от 0 до 15
Команды поразрядного деления:
[IF cond] |AR| = DIVS yop, xop;
[IF cond] |AR| = DIVQ xop;
Команды тестирования результата:
NONE = <ALU>;
Последняя команда выполняет заданную команду АЛУ, устанавливает флаги и сбрасывает значение результата. Она позволяет тестировать значения в регистрах без изменения содержимого AR или AF. Строка <ALU> — это любая безусловная команда АЛУ, кроме DIVS, DIVQ и дополнительных команд АЛУ с константами.
Для всех приведенных выше команд ALU разрешено использовать следующие операнды:
xop: AX0, АХ1, AR, MR0, MR1, MR2, SR0, SR1; yop: AY0, AY1, AF;
constant: 0, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32767, -2, -3, -5, -9, -17, -33, -65, -129, -257, -513, -1025, -2049, -4097, -8193, -16385, -32768.
Команда DIVS не может использовать регистр AY0 как оператор yop. Коды условия IF соответствуют кодам, приведенным ранее в табличном виде.
Примеры записи команд:
AR=AX0+AY0+C; /* Присвоить регистру AR значение суммы регистров AX0, AY0
и переноса*/
IF EQ AR=AX0+AY0+C; /* Выполнение описанной выше операции при условии
равенства нулю предыдущего результата */
AF=TSTBIT 7 AX; /* Занести в регистр AF значение результата операции
логического «И» разряда 7 с единицей */