Difference between revisions of "Asm/es"

From Lazarus wiki
Jump to navigationJump to search
(Created page with "{{Asm}} 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ó...")
 
Line 1: Line 1:
{{Asm}}
 
 
 
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.
 
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.
  

Revision as of 01:49, 1 February 2018

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;