Assembler - Kontrollstrukturen

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Assembler - Kontrollstrukturen
Hallo,

bei der Vorbereitung auf die Klausur bin ich auf folgenden Frage gestoßen:

Wie könnten die Befehle [m]break[/m] und [m]continue[/m] auf Assembler abgebildet werden?

In den StuvePad habe ich hierfür keine Antwort gefunden und die Recherche im Internet
hat mich auch zu keinem Ergebnis gebracht.

Vielleicht weiß ja jemand von Euch bescheid?


int i = 0;
while(i <= 10) {
  if( i == 5) {
   break;
  }
  i++;
}

in assembler:

xor %eax, %eax
jmp loopCond
loop:
cmp %eax, $5
je end
inc %eax

loopCond:
cmp %eax, $10
jbe loop
end:

Reihenfolge der Vergleichsoperanden bei AT&T beachten:
xorl %eax, %eax
jmp loopCond
loop:
cmpl $5, %eax
je end
incl %eax
loopCond:
cmpl $10, %eax
jbe loop
end: