Aktuell kommt es zu Probleme mit dem Email Versand dies wird schnellstmöglich behoben.

stationeers.de Mod-Werkstatt · Dominik1199
EN Anmelden
  1. Start
  2. IC10-Akademie
  3. Rechnen: move, add, sub, mul, div

Kapitel 1 · Erste Schritte

Rechnen: move, add, sub, mul, div

Die Grundrechenarten und warum der Chip in Kelvin denkt.

Lektion 3 von 18 8 Min.

Alle Rechenbefehle folgen demselben Muster: erst das Ziel, dann die Werte.

add r1 r0 273.15   # r1 = r0 + 273.15
BefehlBedeutung
move r? ar = a
add r? a br = a + b
sub r? a br = a − b
mul r? a br = a · b
div r? a br = a / b
mod r? a bRest von a / b (nie negativ bei positivem b)

Für a und b darf ein Register oder eine feste Zahl stehen. Das Ziel muss immer ein Register sein. Du darfst auch in dasselbe Register schreiben, aus dem du liest: add r0 r0 1 zählt r0 um eins hoch.

Kelvin, nicht Celsius

Stationeers misst Temperaturen in Kelvin. 0 °C sind 273,15 K. Jeder Gas-Sensor liefert Kelvin, jede Heizung erwartet Kelvin.

# r0 kommt in Kelvin vom Sensor
sub r1 r0 273.15   # r1 = Grad Celsius fuer die Anzeige
Tipp

Im IC10-Coder kannst du 21C tippen und die Leertaste drücken – der Editor macht daraus 294.15.

Keine Klammern

Es gibt keine Formeln wie (a + b) * c. Längere Rechnungen zerlegst du in mehrere Zeilen und nutzt ein Register als Zwischenspeicher:

add r2 r0 r1    # Zwischenergebnis
mul r2 r2 0.5   # Mittelwert von r0 und r1

Durch 0 teilen stürzt nicht ab, liefert aber „unendlich“. Prüf so etwas lieber vorher.

Schaubild

Datenfluss eines Rechenbefehls add r1 r0 273.15 r0 = 21 273.15 + r1 = 294.15 das Ziel steht immer vorne
Ein Rechenbefehl liest zwei Werte, rechnet und legt das Ergebnis im Zielregister ganz links ab.

Übung

Aufgabe

In r0 steht eine Temperatur in Grad Celsius (die setzt der Test vorher). Rechne sie um:

  • r1 = dieselbe Temperatur in Kelvin
  • r2 = dieselbe Temperatur in Fahrenheit (°C · 1,8 + 32)

Hinweise

Hinweis 1

Kelvin: add r1 r0 273.15.

Hinweis 2

Fahrenheit braucht zwei Zeilen: erst mit 1.8 multiplizieren, dann 32 addieren.

Hinweis 3

Überschreib r0 nicht – den Wert brauchst du für beide Rechnungen.

Esc
↑ ↓ wählenEnter öffnen/ öffnet die Suche überall