Prima-Befehle Alle Befehle bestehen aus zwei aufeinanderfolgenden Speicherwörtern. Das erste wird als Befehlscode, das zweite als Speicheradresse A interpretiert. Bei einigen Befehlen ist der Teil A ohne Bedeutung. Die Überlaufmarke OV kann vor der Ausführung einer Operation gelöscht werden durch Anfügung eines * an die mnemotechnische Bezeichnung des Befehls, z.B. ADD* 27. Befehl WIRKUNG mnemot. dezimal bin„r ADD 0 000X0000 AKKU + S[A] --> AKKU ADD* 32 001X0000 SUB 1 000X0001 AKKU - S[A] --> AKKU SUB* 33 001X0001 AD1 10 000X1010 AKKU + 1 --> AKKU AD1* 42 001X1010 SB1 12 000X1100 AKKU - 1 --> AKKU SB1* 44 001X1100 OR 2 000X0010 AKKU[i] U S[A][i] ---> AKKU[i] (0 < i < 8) OR* 34 001X0010 AND 3 000X0011 AKKU[i] ï S[A][i] ---> AKKU[i] (0 < i < 8) AND* 35 001X0011 XOR 4 000X0100 AKKU[i] + S[A][i] ---> AKKU[i] (0 < i < 8) XOR* 36 001X0100 NOP 8 000X1000 AKKU --> AKKU (ohne Wirkung) NOP* 40 001X1000 LD 9 000X1001 S[A] --> AKKU LD* 41 001X1001 LDI 11 000X1011 S[A] + 1 --> AKKU LDI* 43 001X1011 LD0 14 000X1110 0 --> AKKU ( 000X1101 hat gleiche Wirkung) LD0* 46 001X1110 ( 001X1101 hat gleiche Wirkung) LD1 15 000X1111 1 --> AKKU LD1* 47 001X1111 ST 72 010XXXXX AKKU --> S[A] ST* 104 011XXXXX SL 5 000X0101 AKKU[i] --> AKKU[i+1] (0 AKKU[0] SL* 37 001X0101 SR 6 000X0110 AKKU[i] --> AKKU[i-1] (0 AKKU[8] SR* 38 001X0110 RR 7 000X0111 AKKU[i] --> AKKU[i-1] (0 AKKU[8] RR* 39 001X0111 BU 128 1XXXXXX0 A --> PC BU* 160 1X1XXXX0 BZ 131 10000011 wenn AKKU = 0 , dann A --> PC BZ* 163 10100011 BCY 133 10000101 wenn AKKU[8] = 1 , dann A --> PC BCY* 165 10100101 BEV 193 11000001 wenn AKKU[0] = 1 , dann A --> PC BEV* 225 11100001 BLS 137 10001001 wenn AKKU[7] = 1 , dann A --> PC BLS* 169 10101001 BOV gibt es nur als BOV*, denn 129 10000001 wirkt wie NOP! BOV* 161 10100001 wenn OV = 1 , dann A --> PC BSW 145 10010001 wenn SW = 1 , dann A --> PC BSW* 177 10110001 Die Bitmuster von bedingten Sprüngen können bei Prima als 8-Bit-ODER verknüpft werden. So ergibt die Kombination von BZ und BLS z.B. BNG 139 10001011 Sprung, wenn AKKU = 0 oder AKKU[7] = 1 Es sind oben sämtliche möglichen Operationen aufgeführt, jedoch jeweils nur mit einer Dezimalcodierung. In der Binärcodierung sind die belanglosen Bits mit X bezeichnet. So ergibt sich z.B., dass alle Befehle der Dezimal- codierungen 64 .. 95 den ST-Befehl darstellen und 96 .. 127 den ST*. Durch die Binärcodierungen sind alle 256 möglichen Befehle festgelegt.