Difference between revisions of "Asm/de"
From Free Pascal wiki
Jump to navigationJump to search (Created page with "{{Asm}} <br> <br> Das reservierte Wort '''Asm''' gehört zum Inline Assembler. Es leitet im Pascalcode einen Abschnitt mit Assemblercode ein.<br> <br> Beispiel, wie der Assemb...") |
|||
Line 1: | Line 1: | ||
{{Asm}} | {{Asm}} | ||
<br> | <br> | ||
+ | Zurück zu den [[Reserved words/de|reservierten Wörtern]].<br> | ||
<br> | <br> | ||
Das reservierte Wort '''Asm''' gehört zum Inline Assembler. Es leitet im Pascalcode einen Abschnitt mit Assemblercode ein.<br> | Das reservierte Wort '''Asm''' gehört zum Inline Assembler. Es leitet im Pascalcode einen Abschnitt mit Assemblercode ein.<br> | ||
Line 32: | Line 33: | ||
<br> | <br> | ||
<br> | <br> | ||
− | --[[User:Olaf|Olaf]] 17: | + | --[[User:Olaf|Olaf]] 17:09, 24 October 2012 (UTC) |
[[category:Pascal]]{{AutoCategory}} | [[category:Pascal]]{{AutoCategory}} |
Revision as of 19:09, 24 October 2012
│
Deutsch (de) │
English (en) │
español (es) │
suomi (fi) │
Zurück zu den reservierten Wörtern.
Das reservierte Wort Asm gehört zum Inline Assembler. Es leitet im Pascalcode einen Abschnitt mit Assemblercode ein.
Beispiel, wie der Assemblercode im Programm aufgerufen wird:
asm
// Hier steht der Assemblercode
end;
Beispiel für die Verwendung von Inline Assembler:
var
intWert: Integer;
intErgebnis : Integer;
begin
intWert := ...;
// Wird von Lazarus / Free Pascal bei Intel x86 Prozessoren benötigt:
{$ASMMODE intel}
asm
MOV EAX, intWert // weist dem Register EAX den Wert der Variablen intWert zu
ADD EAX, 110B // addiere den Binärwert 110 (der entsprechende Dezimalwert ist 6)
SUB EAX, 2 // subtrahiere den Dezimalwert 2
MOV intErgebnis, EAX // weist der Variablen intErgebnis den Inhalt des Registers EAX zu
end;
... := IntToStr(intErgebnis);
end;
--Olaf 17:09, 24 October 2012 (UTC)