Difference between revisions of "Asm/es"
From Free Pascal wiki
Jump to navigationJump to searchLine 5: | Line 5: | ||
Ejemplo de cómo llamar al código de ensamblado en el programa: | Ejemplo de cómo llamar al código de ensamblado en el programa: | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
asm | asm | ||
// Aquí va el código Assembler | // Aquí va el código Assembler | ||
Line 11: | Line 11: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Ejemplo de uso del ensamblador en línea: | Ejemplo de uso del ensamblador en línea: | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
var | var | ||
intWert: Integer; | intWert: Integer; |
Latest revision as of 06:25, 31 January 2020
│
Deutsch (de) │
English (en) │
español (es) │
suomi (fi) │
La palabra reservada ASM forma parte del ensamblador en línea. Introduce una sección con código de ensamblado en el código Pascal.
Ejemplo de cómo llamar al código de ensamblado en el programa:
asm
// Aquí va el código Assembler
end;
Ejemplo de uso del ensamblador en línea:
var
intWert: Integer;
intErgebnis : Integer;
begin
intWert := ...;
// es requerido por Lazarus/Free Pascal en los procesadores Intel x86:
{$ASMMODE intel}
asm
MOV EAX, intWert // IntWert//asigna el valor de la variable IntWert al registro EAX
ADD EAX, 110B // agregar el valor binario 110 (el decimal correspondiente es 6)
SUB EAX, 2 // resta el valor decimal 2
MOV intErgebnis, EAX // asigna el contenido del registro EAX a la variable intErgebnis
end;
... := IntToStr(intErgebnis);
end;