A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | AA | AB | AC | AD | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Parameter Legende | |||||||||||||||||||||||||||||
2 | R | Register | ||||||||||||||||||||||||||||
3 | D | Gerät | ||||||||||||||||||||||||||||
4 | NUM | Nummer (Ganzzahl oder Gleitkomma) | ||||||||||||||||||||||||||||
5 | VAR | Parameter eines Gerätes z.B. Pressure für Druck | ||||||||||||||||||||||||||||
6 | batchMode | 0 = Durchschnitt | 1= Summe | 2 = Minimum | 3 = Maximum | ||||||||||||||||||||||||||||
7 | Int | Ganzzahl | ||||||||||||||||||||||||||||
8 | Prefabhash | Der Hash eines Gerätetyps | ||||||||||||||||||||||||||||
9 | reagentMode | 0 = Enthalten | 1 = Benötigt | 2 = Für das Rezept | ||||||||||||||||||||||||||||
10 | reagent | |||||||||||||||||||||||||||||
11 | slotindex | der Index eines zu lesenden oder schreibenden Slots. Zu fineden in Stationpedia | ||||||||||||||||||||||||||||
12 | ||||||||||||||||||||||||||||||
13 | Wichtige Hinweise | |||||||||||||||||||||||||||||
14 | Befehle die mit einem b beginnen sind Sprungbefehle. Es wird nach dem ausführen des Befehl an eine übergebe Adresse gesprungen | |||||||||||||||||||||||||||||
15 | Befehle die mit einem b beginnen und auf al enden, sind ebenfalls Sprungbefehle aber zusätzlich wird im Register ra die Rücksprungadresse abgelegt | |||||||||||||||||||||||||||||
16 | Befehle die mit s (außer sub und sin) beginnen sind Set-Befehle anstatt zu springen wird in dem Register (a) ein Wahr (1) bzw. Falsch (0) eingetragen | |||||||||||||||||||||||||||||
17 | ||||||||||||||||||||||||||||||
18 | Macros und Konstanten | |||||||||||||||||||||||||||||
19 | Befehl | Parameter a | Parameter b | Parameter c | Parameter d | Beschreibung | ||||||||||||||||||||||||
20 | $... | Mit diesem Zeichen vor einer Zeichenkette lassen sich HEX-Werte in Dezimal umwandeln Also: $D7 wird zu 215 | ||||||||||||||||||||||||||||
21 | %... | Mit diesem Zeichen vor einer Zeichenkette lassen sich Binärwerte-Werte in Dezimal umwandeln Also: %11010111 wird zu 215 (diese Entspricht Hex D7) | ||||||||||||||||||||||||||||
22 | HASH("...") | Hiermit lassen sich bestimmte Geräte anhand des Namens bzw. des Prefab Namens ansprechen | ||||||||||||||||||||||||||||
23 | nan | Dies ist eine Konstante welche angibt dass es sich um keine Zahl handelt. | ||||||||||||||||||||||||||||
24 | pinf | Diese Konstante sagt aus, dass der Wert gegen +unendlich geht | ||||||||||||||||||||||||||||
25 | ninf | Diese Konstante sagt aus, dass der Wert gegen -unendlich geht | ||||||||||||||||||||||||||||
26 | pi | PI halt... also 3,14 bla bla bla ^^ | ||||||||||||||||||||||||||||
27 | deg2rad | Konstante zum umrechnen von Winkel auf Bogenmaß | ||||||||||||||||||||||||||||
28 | rad2deg | Konstante zum umrechnen von Bogenmaß auf Winkel | ||||||||||||||||||||||||||||
29 | epsilon | Die epsilon konstante | ||||||||||||||||||||||||||||
30 | ||||||||||||||||||||||||||||||
31 | Gerätebefehle | |||||||||||||||||||||||||||||
32 | Gerätebefehle werden direkt auf Geräte angewandt. | |||||||||||||||||||||||||||||
33 | Befehl | Parameter a | Parameter b | Parameter c | Parameter d | Parameter e | Parameter f | Beschreibung | ||||||||||||||||||||||
34 | l | R | D | VAR | Lädt einen Parameter (c) eines Gerätes (b) in das Register (a) | |||||||||||||||||||||||||
35 | s | D | VAR | R|NUM | Schreibt einen Wert (c) in den Parameter (b) eines Gerätes (a) | |||||||||||||||||||||||||
36 | lb | R | Prefabhash | VAR | batchMode | Lädt einen Parameter (c) eines Gerätestyps (b) in das Register (a). Der Modus bestimmt wie die Werte der einzelnen Geräte behandelt werden sollen (siehe Legende) | ||||||||||||||||||||||||
37 | lbn | R | Prefabhash | nameHash | VAR | batchMode | Lädt einen Parameter (d) eines Gerätetypes (b) mit dem Hash-Namen (c) in das Register (a). Der Modus bestimmt wie die Werte der einzelnen Geräte behandelt werden sollen (siehe Legende) | |||||||||||||||||||||||
38 | lbs | R | Prefabhash | VAR | batchMode | Lädt einen Parameter (c) aus einer Gerätegruppe (b) und schreibt diesen in (a). Der Modus bestimmt wie die Werte der einzelnen Geräte behandelt werden sollen (siehe Legende) | ||||||||||||||||||||||||
39 | lbns | R | Prefabhash | nameHash | slotindex | VAR | batchMode | Lädt einen Parameter (e) aus einem Gerät vom Typ (b) mit dem Namen (c) slot (d) und schreibt dies in (a). Der Modus bestimmt wie die Werte der einzelnen Geräte behandelt werden sollen (siehe Legende) | ||||||||||||||||||||||
40 | sb | Prefabhash | VAR | R|NUM | Schreibt in einen Parameter (b) eines Gerätestyps (a) den Wert aus c. | |||||||||||||||||||||||||
41 | ss | D | slotindex | VAR | R|NUM | Schreibt einen Wert (d) in den Parameter (c) des Slots (b) des Gerätes (a). | ||||||||||||||||||||||||
42 | sbn | Prefabhash | nameHash | VAR | R | Schreibt (d) in einen Parameter (c) eines Gerätetypes (a) mit dem Namen (b) | ||||||||||||||||||||||||
43 | sbs | Prefabhash | nameHash | slotindex | VAR | R | Schreibt (e) in einen Parameter (d) eines Slots (c) des Gerätetypes (a) mit dem Namen (b) | |||||||||||||||||||||||
44 | ls | R | D | slotindex | VAR | Lädt den Parameter eines Geräteslots. Das Gerät wird in b angegeben wobei der Slot (c) eine Zahl von 0 aufwärts ist. Der Parameter des Slotitems wird in d angegeben. Das Ergebnis wird im Register (a) gespeichert. | ||||||||||||||||||||||||
45 | bdns | D | R|NUM | Prüft ob das Gerät (a) an geschlossen ist. Wenn nicht, wird nach b gesprungen | ||||||||||||||||||||||||||
46 | bdnsal | D | R|NUM | Prüft ob das Gerät (a) an geschlossen ist. Wenn nicht, wird nach b gesprungen | ||||||||||||||||||||||||||
47 | bdse | D | R|NUM | Prüft ob das Gerät (a) an geschlossen ist. Wenn ja. wird nach b gesprungen | ||||||||||||||||||||||||||
48 | bdseal | D | R|NUM | Prüft ob das Gerät (a) an geschlossen ist. Wenn ja. wird nach b gesprungen | ||||||||||||||||||||||||||
49 | bdse | D | R|NUM | Prüft ob ein Gerät (a) angeschlossen ist. Wenn Ja wird nach b gesprungen | ||||||||||||||||||||||||||
50 | brdns | D | R|NUM | Prüft ob das Gerät (a) an geschlossen ist. Wenn nicht, wird an eine relative Position (b) gesprungen | ||||||||||||||||||||||||||
51 | brdse | D | R|NUM | Prüft ob das Gerät (a) an geschlossen ist. Wenn ja. wird an eine relative Position (b) gesprungen | ||||||||||||||||||||||||||
52 | sdns | R | D | Prüft ob das Gerät (b) an geschlossen ist. Wenn nicht, wird an eine 1 in a geschrieben. Ansonsten eine 0 | ||||||||||||||||||||||||||
53 | sdse | R | D | Prüft ob das Gerät (b) an geschlossen ist. Wenn nicht, wird an eine 1 in a geschrieben. Ansonsten eine 0 | ||||||||||||||||||||||||||
54 | lr | R | D | Mode | reagent | Lädt die Menge eines Reagenz d aus einem Gerät b aus und legt es in a ab. Der Mode bestimmt was genau ausgelesen werden soll ( 0 = Wieviel ist vorhanden, 1 = Wieviel wird für das aktuelle Rezept NOCH benötigt, 2 = Wieviel braucht das Rezept). | ||||||||||||||||||||||||
55 | ||||||||||||||||||||||||||||||
56 | Übersicht und Hilfe | |||||||||||||||||||||||||||||
57 | Diese Befehle haben keine Auswirkung auf den Code selbst sondern dienen der Übersichtlichkeit und Wartbarkeit des Codes | |||||||||||||||||||||||||||||
58 | Befehl | Parameter a | Parameter b | Parameter c | Parameter d | Beschreibung | ||||||||||||||||||||||||
59 | # | Nach einem # Kann immer ein Kommentar folgen (Auch nach einem Befehl!) | ||||||||||||||||||||||||||||
60 | alias | String | R|D | Legt einen String(a) fest der als alternative für ein Gerät oder Register dienst | ||||||||||||||||||||||||||
61 | define | String | R|NUM | Legt einen String(a) fest der als alternative für eine nicht variable Zahl dient (Konstante. z.B. PI) | ||||||||||||||||||||||||||
62 | ||||||||||||||||||||||||||||||
63 | Sprungbefehle | |||||||||||||||||||||||||||||
64 | Befehl | Parameter a | Parameter b | Parameter c | Parameter d | Beschreibung | ||||||||||||||||||||||||
65 | j | Int | Springt an eine in a angegebene Position | |||||||||||||||||||||||||||
66 | jal | Int | Springt an eine in a angegebene Position | |||||||||||||||||||||||||||
67 | jr | Int | Springt an eine relative Position wobei a die Anzahl der Zeilen angibt die nach oben oder unten übersprungen werden. | |||||||||||||||||||||||||||
68 | ||||||||||||||||||||||||||||||
69 | Stackoperationen | |||||||||||||||||||||||||||||
70 | Befehl | Parameter a | Parameter b | Parameter c | Parameter d | Beschreibung | ||||||||||||||||||||||||
71 | peek | R | lädt den Wert ganz oben auf dem Stack und schreibt diesen in a. Verringert NICHT den Stackpointer! | |||||||||||||||||||||||||||
72 | pop | R | lädt den Wert ganz oben auf dem Stack und schreibt diesen in a. Verringert ebenfalls den Stackpointer! | |||||||||||||||||||||||||||
73 | push | R|NUM | schreibt den wert aus a auf den Stack und erhöht den Stackpointer | |||||||||||||||||||||||||||
74 | ||||||||||||||||||||||||||||||
75 | Sonstiges | |||||||||||||||||||||||||||||
76 | Befehl | Parameter a | Parameter b | Parameter c | Parameter d | Beschreibung | ||||||||||||||||||||||||
77 | move | R | R|NUM | Schreibt einen Wert (b) in das Register (a) | ||||||||||||||||||||||||||
78 | sleep | R|NUM | Lässt das Programm die in a angegebene Anzahl an Sekunden ruhen. | |||||||||||||||||||||||||||
79 | yield | Lässt das Programm einen PowerTick warten (~0,5sek.) | ||||||||||||||||||||||||||||
80 | select | R | R|NUM | R|NUM | R|NUM | Schreibt den Wert aus c in a wenn b = 1 ist. Ansonsten wird d in a geschrieben | ||||||||||||||||||||||||
81 | rand | R | Zufallszahl (Gleitkommazahl) zwischen 0-1 | |||||||||||||||||||||||||||
82 | hcf | Selbstzerstörung. Hält den MIPS Code an und lässt den Chip verbrennen. Nein kein scherz! | ||||||||||||||||||||||||||||
83 | ||||||||||||||||||||||||||||||
84 | Mathematische Befehle | |||||||||||||||||||||||||||||
85 | Einfache Mathematik | |||||||||||||||||||||||||||||
86 | Befehl | Parameter a | Parameter b | Parameter c | Parameter d | Beschreibung | ||||||||||||||||||||||||
87 | add | R | R|NUM | R|NUM | Addiert die Werte b und c und schreibt dies in a | |||||||||||||||||||||||||
88 | sub | R | R|NUM | R|NUM | Subtrahiert c von b und schreibt das Ergebnis in a | |||||||||||||||||||||||||
89 | mul | R | R|NUM | R|NUM | Multipliziert die Werte b und c und schreibt das Ergebnis in a | |||||||||||||||||||||||||
90 | div | R | R|NUM | R|NUM | Dividiert b durch c und schreibt das Ergebnis in a | |||||||||||||||||||||||||
91 | mod | R | R|NUM | R|NUM | Ermittelt den Rest einer Division aus b und c und schreibt das Ergebnis in a | |||||||||||||||||||||||||
92 | max | R | R|NUM | R|NUM | Speichert den größeren der beiden Werte b und c in a | |||||||||||||||||||||||||
93 | min | R | R|NUM | R|NUM | Speichert den kleineren der beiden Werte b und c in a | |||||||||||||||||||||||||
94 | round | R | R|NUM | Rundet den Wert b auf den nächsten Integer und schreibt dies in a | ||||||||||||||||||||||||||
95 | Erweiterte Mathematik | |||||||||||||||||||||||||||||
96 | Befehl | Parameter a | Parameter b | Parameter c | Parameter d | Beschreibung | ||||||||||||||||||||||||
97 | ceil | R | R|NUM | bildet den nächst kleineren Integer von b und schreibt diesen in a | ||||||||||||||||||||||||||
98 | floor | R | R|NUM | nächst größeren Integer von b in a schreiben | ||||||||||||||||||||||||||
99 | abs | R | R|NUM | Der Wert aus b wird immer positiv in a geschrieben | ||||||||||||||||||||||||||
100 | trunc | R | R|NUM | Entfernt den Teil vor dem Komma aus der Zahl b und schreibt diesen in a |