Арифметические команды бывают I и R типов. В первом случае в операции участвует непосредственный операнд, задаваемый в команде, и операнд, содержащийся в регистре процессора. Во втором случае оба операнда находятся в регистрах процессора. Результат в обоих случаях помещается в регистр процессора. Ниже приведены символические имена арифметических команд и примеры их использования:
- add (add registers) – сложение R типа;
- addi (add immediate) – сложение I типа;
- sub (subtract registers) – вычитание R типа;
- subi (subtract immediate) – вычитание I типа;
- mul (multiply registers) – умножение R типа;
- muli (multiply immediate) – умножение I типа;
- div (divide) – деление со знаком R типа;
- divu (divide unsigned) –деление без знака R типа.
Примеры:
add rC, rA, rB rC ← rA + rB
addi rB, rA, Immed16 rB ← rA + Immed16
sub rC, rA, rB rC ← rA – rB
subi rB, rA, Immed16 ~ addi rB, rA, - Immed16
mul rC, rA, rB rC ← rA * rB
muli rB, rA, Immed16 rB ← rA * Immed16
div rC, rA, rB rC ← целое rA / rB