Section courante

A propos

Section administrative du site

ASM

Assembleur
Turbo Pascal 6+

Syntaxe

ASM
instructasm1
instructasm2
...
instructasmn
END;

Paramètres

Nom Description
instructasm1,instructasm2, instructasmn Ce paramètre permet d'indiquer une suite d'instruction assembleur à inclure

Description

Ce mot réservé permet l'inclusion d'instruction assembleur en ligne.

Exemple

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

  1. Program AsmSamples;
  2.  
  3. Procedure PrintNumber(X:Integer);Assembler;ASM
  4.  MOV AX,X
  5.  OR  AX,AX
  6.  JNS @Positif    
  7.  PUSH AX
  8.   MOV AH,02h
  9.   MOV DL,'-'
  10.   INT 21h
  11.  POP AX
  12.  NEG AX
  13. @Positif:
  14.  MOV BX,10           
  15.  XOR CX,CX
  16. @NextDigit:
  17.  XOR DX,DX
  18.  DIV BX
  19.  PUSH DX
  20.  INC CX              
  21.  OR  AX,AX
  22.  JNZ @NextDigit
  23. @PrintOneDigit: 
  24.  POP AX       
  25.  ADD AL,48           
  26.  MOV DL,AL           
  27.  MOV AH,02h
  28.  INT 21h             
  29.  LOOP @PrintOneDigit
  30. END;
  31.  
  32. BEGIN
  33.  Write('Nombre -13=');
  34.  PrintNumber(-13);
  35.  WriteLn;
  36.  Write('Nombre 127=');
  37.  PrintNumber(127);
  38.  WriteLn;
  39.  WriteLn('Attend qu''un touche soit enfoncé..');
  40.  ASM
  41.   XOR AX,AX
  42.   INT $16
  43.  END;
  44. END.

on obtiendra le résultat suivant :

Nombre -13=-13
Nombre 127=127
Attend qu'un touche soit enfoncé..

Voir également

Langage de programation - Pascal et Assembleur
Langage de programmation - Assembleur 80x86 - Lexique et dictionnaire d'instruction assembleur 80x86

Référence

Aide-mémoire de Turbo Pascal versions de 3 à 6, Edition Marabout, De Groote, Virga, 1992, ISBN: 2-501-01833-8, page 100 à 101.

Dernière mise à jour : Dimanche, le 25 janvier 2015