Las operaciones aritméticas se pueden realizar con el paquete aritmético. Para acceder a él, se usan las rutinas de utilidad RI.EXEC (vector $11C) y RI.EXECB (vector $11E). El paquete de coma flotante acepta dos tipos de códigos de operación. Los códigos entre $02 y $30 son operaciones aritméticas reales. Los otros códigos se extienden a una palabra negativa entre $FFFF y $FF31 inclusive, y son instrucciones de carga y almacenamiento de números de coma flotante con las direcciones dadas por (A6.L+A4.L+((código operación OR $FF00) AND $FFFE). Si el bit 0 del código de operación está a cero, la operación es de carga, si lo tiene a uno, la operación es de almacenamiento. La carga hace que A1 se decremente en 6 octetos y los de salvar hacen que se incremente en 6. El NOS viejo se convierte en el TOS nuevo.
Cód. | Nombre | Cambio de A1 | Operación |
00 | RI.TERM | | |
02 | RI.NINT | +4 | Busca el entero más cercano a TOS |
04 | RI.INT | +4 | Trunca TOS en un entero |
06 | RI.NLINT | +2 | Entero largo más cercano a TOS |
08 | RI.FLOAT | −4 | Convierte TOS de entero a coma flotante |
0A | RI.ADD | +6 | Suma TOS a NOS |
0C | RI.SUB | +6 | Resta TOS de NOS |
0E | RI.MULT | +6 | Multiplica TOS por NOS |
10 | RI.DIV | +6 | Divide TOS entre NOS |
12 | RI.ABS | 0 | Pone TOS en positivo |
14 | RI.NEG | 0 | Niega TOS |
16 | RI.DUP | −6 | Duplica TOS |
18 | RICOS | 0 | Saca el coseno de TOS |
1A | RI.SIN | 0 | Saca el seno de TOS |
1C | RI.TAN | 0 | Saca la tangente de TOS |
1E | RI.COT | 0 | Saca la cotangente de TOS |
20 | RI.ASIN | 0 | Saca el arco seno de TOS |
22 | RI.ACOS | 0 | Saca el arco coseno de TOS |
24 | RI.ATAN | 0 | Saca el arco tangente de TOS |
26 | RI.ACOT | 0 | Saca el arco cotangente de TOS |
28 | RI.SQRT | 0 | Extrae la raíz cuadrada de TOS |
2A | RI.LN | 0 | Saca el logaritmo natural de TOS |
2C | RI.LOG10 | 0 | Saca el logaritmo en base 10 de TOS |
2E | RI.EXP | 0 | Saca el exponencial de TOS |
30 | RI.POWFP | +6 | Eleva NOS a la potencia TOS |