stationeers.de Mod-Werkstatt · Dominik1199
EN Anmelden
  1. Start
  2. IC10-Akademie
  3. Tag 18

Tag 18 von 365 · Einsteiger · Monat 1: Erste Schritte

Sprünge gegen Null

bltz, bgtz, blez und bgez springen je nach Vorzeichen. Mit einer Differenz statt zwei Werten wird jede Entscheidung zur Frage: über oder unter null?

Lektion 10 Min. Woche 3

Das lernst du heute

  • Bltz, bgtz, blez, bgez einsetzen
  • Differenzen statt zwei Werte vergleichen
  • Vorzeichen deuten

In der Schleuse zählt nicht, wie hoch der Druck ist, sondern wie weit Kammer und Außenseite auseinanderliegen. Solche Fragen beantwortest du am besten mit einer Differenz und einem Sprung gegen null.

Die vier neuen Sprünge

Befehlspringt, wenn
bltz a ziela < 0
bgtz a ziela > 0
blez a ziela ≤ 0
bgez a ziela ≥ 0

Zusammen mit beqz und bnez aus der letzten Lektion hast du jetzt alle sechs Vergleiche gegen null. Das z steht für zero.

Erst die Differenz, dann der Sprung

start:
yield
l r0 d0 Pressure     # Kammer
l r1 d1 Pressure     # draussen
sub r2 r0 r1         # Kammer minus draussen
bgtz r2 hoeher       # Kammer hat mehr Druck
s d2 On 0
j start
hoeher:
s d2 On 1
j start

Das Vorzeichen von r2 trägt die ganze Information: positiv heißt, in der Kammer ist mehr Druck. Den Betrag der Differenz kannst du gleich auf eine Anzeige schreiben – „+12“ sagt mehr als zwei einzelne Drücke.

Vorzeichen deuten

Differenzbedeutet
Ist − Soll < 0zu wenig: zu kalt, zu niedrig, zu leer
Ist − Soll > 0zu viel: zu warm, zu hoch, zu voll
Ist − Soll = 0genau getroffen – bei Messwerten fast nie

Ein Band einbauen

Willst du erst ab 5 kPa Unterschied reagieren, verschiebst du die Differenz vor dem Sprung:

sub r3 r2 5          # erst ueber +5 positiv
bgtz r3 zuhoch
add r3 r2 5          # erst unter -5 negativ
bltz r3 zuniedrig
Achtung

Vergiss nach jedem Zweig das j start nicht. Ohne den Sprung läuft der Chip einfach in den nächsten Zweig hinein und schaltet dort alles noch einmal um.

Tipp

bgtz und bgez unterscheiden sich nur bei genau 0. Bei Messwerten ist das selten – bei Zählern dagegen oft. Überleg dir bei Zählern immer, was bei genau null passieren soll.

Schaubild

Ablauf mit bedingtem Sprung start: yield · l r0 r0 > 303.15? heiss: On 1 On 0 ja: bgt springt nein: nächste Zeile j start
Ein bedingter Sprung teilt den Ablauf: Stimmt die Bedingung, geht es am Label weiter, sonst in der nächsten Zeile.

Übung

Aufgabe

Eine Schleusenampel: d0 misst die Kammer, d1 die Außenseite. d3 ist eine LED-Anzeige, d2 die Freigabelampe.

  • Die Anzeige zeigt immer Kammer − außen in kPa.
  • Mehr als 5 kPa zu hoch: Lampe aus, Anzeige orange (3).
  • Mehr als 5 kPa zu niedrig: Lampe aus, Anzeige blau (0).
  • Sonst: Lampe an, Anzeige grün (2).

Löse es mit bgtz/bltz (oder bgez/blez).

Hinweise

Hinweis 1

sub r3 r2 5 ist erst positiv, wenn die Kammer mehr als 5 kPa über außen liegt.

Hinweis 2

add r3 r2 5 ist erst negativ, wenn sie mehr als 5 kPa darunter liegt.

Hinweis 3

Jeder Zweig endet mit j start.

Quiz

4 Fragen. Ab 60 % ist das Quiz bestanden – die Auswertung macht der Server.

Tag abschließen

  • Übung im Simulator bestanden
  • Quiz mit mindestens 60 % bestanden

Ohne Konto wird der Fortschritt nur in diesem Browser gespeichert.

Fehler in dieser Lektion melden

Zum Melden bitte anmelden. Anmelden

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