Section courante

A propos

Section administrative du site

ASM

Assembleur
Delphi/Kylix/Lazarus

Syntaxe

ASM
   InstructionAsm [ Séparateur InstructionAsm ]
END

Paramètres

Nom Description
InstructionAsm Ce paramètre permet d'indiquer n'importe quel instructions assembleur correspondant au microprocesseur destinataire, soit normalement des instructions Assembleur 80x86.

Description

Cette instruction permet d'intégrer des instructions en ligne assembleur dans le code source Pascal.

Remarques

Exemples

Voici quelques exemples typiques de l'utilisation de cette fonction :

  1. Program AsmSampl;
  2.  
  3. {$APPTYPE CONSOLE}
  4. Uses SysUtils;
  5.  
  6. Var _EAX,_EBX:LongInt;
  7.  
  8. BEGIN
  9.  ASM
  10.   MOV EAX,1
  11.   MOV EBX,2
  12.   XOR EAX,EBX
  13.   XOR EBX,EAX
  14.   XOR EAX,EBX
  15.   MOV _EAX,EAX
  16.   MOV _EBX,EBX
  17.  END;
  18.  WriteLn('EAX = ',_EAX);
  19.  WriteLn('EBX = ',_EBX);
  20. END.

on obtiendra le résultat suivant :

EAX = 2
EBX = 1

Voici un exemple de la fonction d'API de Windows du nom de «GetCurrentProcessorNumber» sous un système d'exploitation Windows XP Professionnel à l'aide d'un code source avec un compilateur «Delphi 3» :

  1. Program AsmGetCurrentProcessorNumberSamples;
  2.  
  3. {$APPTYPE CONSOLE}
  4. Uses SysUtils;
  5.              
  6. Function GetCurrentProcessorNumber:LongInt;Assembler;ASM
  7.  MOV EAX,1;
  8.  DB  $0F,$A2 { CPUID }
  9.  SHR EBX,24;
  10.  MOV EAX,EBX;
  11. End;
  12.  
  13. BEGIN
  14.  WriteLn('Nombre de processus courant = ',GetCurrentProcessorNumber); 
  15. END.


Dernière mise à jour : Mercredi, le 18 février 2015