Difference between revisions of "Label/de"
Line 2: | Line 2: | ||
<br> | <br> | ||
Zurück zu den [[Reserved words/de|reservierten Wörtern]].<br> | Zurück zu den [[Reserved words/de|reservierten Wörtern]].<br> | ||
+ | =Label= | ||
==Reines Pascal== | ==Reines Pascal== | ||
<br> | <br> | ||
Line 92: | Line 93: | ||
{{Note|Ein guter Pascal Programmierer, kann auf '''Label''' und '''Goto''' verzichten. Man kann (fast) alles mit Schleifen lösen. '''Labels''' machen auch den Code sehr '''unübersichtlich !'''}} | {{Note|Ein guter Pascal Programmierer, kann auf '''Label''' und '''Goto''' verzichten. Man kann (fast) alles mit Schleifen lösen. '''Labels''' machen auch den Code sehr '''unübersichtlich !'''}} | ||
− | |||
− | |||
[[Category:Reserved words/de]] | [[Category:Reserved words/de]] |
Revision as of 19:27, 26 February 2018
│
Deutsch (de) │
English (en) │
français (fr) │
русский (ru) │
Zurück zu den reservierten Wörtern.
Label
Reines Pascal
Das reservierte Wort label definiert einen Abschnitt mit einer oder mehreren Sprungmarken.
Das Programm springt mit dem goto Befehl zu einer Sprungmarke und arbeitet ab dieser Sprungmarke weiter.
Beispiel für Deklaration einer Sprungmarke und der Verwendung des Sprungbefehls:
var
blnWahr: Boolean;
label
Sprungmarke;
begin
...
if blnWahr = True then Goto Sprungmarke;
...
Sprungmarke:
...
end;
--Olaf 07:24, 28 October 2012 (UTC)
Assembler
Wen ein Label innerhalb eines asm-Blockes verwendet wird, muss ein Label nicht zwingend deklariert werden, aber es muss ein @ vorangestellt werden. Wird aber der asm-Block verlassen, dann muss zwingend das Label deklariert werden.
{$asmmode intel}
// Innerhalb einer reinen Assembler Procedure.
// Deklaration nicht erforderlich.
procedure asm1; assembler;
asm
@L1:
Nop
Jmp @L1
end;
// Gemischte Procedure, Deklaration nicht erforderlich.
procedure asm2;
begin
WriteLn('Hallo');
asm
@L2:
Nop
Jmp @L2
end;
end;
// Es darf deklariert werden.
// Dafür kann auf das @ verzichtet werden.
procedure asm3; assembler;
label
L3;
asm
L3:
Nop
Jmp L3
end;
// Es muss deklariert werden, da der asm-Block verlassen wird.
procedure asm4;
label
L4;
begin
L4:
asm
Nop
Jmp L4
end;
end;
Assembler nicht Intel
'@' funktioniert nur mit Intel-Assembler, bei AVR-Assembler muss man zB. ein '.' anstelle von '@' nehmen.
Beispiel AVR:
asm
.L1:
Nop
Jmp .L1
end;