Assembling Pi

A.3 Verknüpfungen von Basic Blocks

3.2.2 Kontrollstrukturen: If-not-then

In Assembler ist die simpelste Kontrollstruktur ein if-not-then. Sprich, wenn eine Bedingung nicht erfüllt ist, wird ein Codeabschnitt ausgeführt, anderenfalls wird er übersprungen.

Der Pseudocode für diese Kontrollstruktur ist folgender:

if not(Condition) then do ...

Beispiel in ARM-Assembler:

start:
        MOV r0, #111    @ Beispielwert 1
        MOV r1, #222    @ Beispielwert 2

@ Kontrollstruktur if not...then...
        CMP r0, r1      @ check(r0 == r1)
        BEQ endif

ifnot:                  @ Wenn Condition == false
        MOV r0, #123
        B endif

@ Ende der Kontrollstruktur
endif:
        MOV r0, #00

Der Kontrollflussgraph zum Beispiel:

Screenshot of Example Program

Betrachtet man den Controlflow-graph dieser Kontrollstruktur in einem Disassembler, ergibt sich folgendes Bild:

If-not then

zurück Hauptmenü weiter
3.2 Kontrollstrukturen
3.2.1 Intro
3.2.2 If-not-then
3.2.3 If-elseIf-then
3.2.4 If-then elseif-then
3.2.5 Switch-Case
3.2.6 While-Schleifen
3.2.7 Do-While-Schleifen
3.2.8 Zustandsautomaten