Assembling Pi

A.3 Verknüpfungen von Basic Blocks

3.2.3 Kontrollstrukturen: If-else

Pseudocode:

if(Condition) then... else...

Beispiel in ARM-Assembler:

        MOV r0, #111
        MOV r1, #222

        @ Kontrollstruktur if...then - else...
        CMP r0, r1      @ if(r0 == r1)
        BEQ iftrue
     
else:                   @ Wenn Condition == false
        MOV r0, #123
        ...
        B endif

iftrue:                 @ Wenn Condition = true
        MOV r0, #0x32
        ...
        
endif:                  @ Ende der Kontrollstruktur
        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:

Ifelse

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