Section courante

A propos

Section administrative du site

Assembleur 80x86

PROC

  Procédure

Syntaxe

nom PROC [modificateurdelangage] [langage] [distance] [USES items,] [arguments [,arguments]...] [RETURNS argument [,argument]]
...
nom ENDP
Mode Standard
PROC [modificateurdelangage] [langage] nom [distance] [USES items,] [arguments [,arguments]...] [RETURNS argument [,argument]]
...
ENDP nom
Mode TPASCAL ou Turbo Assembler 3.0 ou plus
nomargument[[compteur]] [[:distance] [PTR] type] [:compteur2] Syntaxe de chacun des arguments

Paramètres

Paramètre Description
nom Ce paramètre permet d'indiquer le nom de la procédure.
argument Ce paramètre permet d'indiquer une des définitions de paramètre passé à la procédure.
modificateurdelangage Ce paramètre optionnel permet d'indiquer le modificateur de langage :
Valeur Description
NOWINDOWS Cette valeur permet d'indiquer que l'appel n'est pas effectuer sous Windows.
WINDOWS Cette valeur permet d'indiquer que des modifications sont faites pour des entrées/sorties de code pour Windows.
langage Ce paramètre optionnel permet d'indiquer le langage de programmation associé :
Valeur Description
ASSEMBLER Cette valeur permet d'indiquer le langage de programmation Assembleur
BASIC Cette valeur permet d'indiquer le langage de programmation Basic (Turbo Basic, Quick Basic,...)
C Cette valeur permet d'indiquer le langage de programmation C ou C++
FORTRAN Cette valeur permet d'indiquer le langage de programmation Fortran
PASCAL Cette valeur permet d'indiquer le langage de programmation Pascal (Turbo Pascal, Quick Pascal,...)
PROLOG Cette valeur permet d'indiquer le langage de programmation Prolog
distance Ce paramètre optionnel permet d'indiquer la distance d'appel applicable à la procédure :
Valeur Description
NEAR Cette valeur permet d'indiquer un appel court de 16 bits. Il utilisera probablement un retour avec «RETN» et un appel «CALL NEAR PTR». Seul le registre IP change de valeur pour indiquer la position de traitement du code machine.
FAR Cette valeur permet d'indiquer un appel long de 32 bits. Il utilisera probablement un retour avec «RETF» et un appel «CALL FAR PTR». La paire de registres CS et IP sont modifier pour indiquer la position de traitement du code machine. Lorsqu'un appel à la procédure est effectué, le registre CS est empilé et ensuite c'est le registre IP ou EIP.

Description

Cette directive permet de définir une procédure (sous-programme).

Remarques

Exemple

Cet exemple permet d'effectuer un appel court à la procédure «SamplesProc» sans passage par paramètre :

  1. codseg SEGMENT
  2. ASSUME CS:codseg,DS:codseg,ES:codseg,SS:codseg
  3. public SamplesProc
  4.  
  5. ORG 100h
  6. start:
  7.    CALL Near Ptr SamplesProc
  8.    MOV AX,4C00h
  9.    INT 21h
  10.  
  11. SamplesProc PROC NEAR
  12.    RETN
  13. ENDP SamplesProc
  14.  
  15. codseg ENDS
  16. END start

Références

Turbo Assembler - Version 3.2: Quick Reference Guide, Edition Borland International, 1992, Part #11MN-BPL-10-70, BOR 4703, page 42.
Assembleur - Référence, Edition Micro Application, Pierre Maurette, 2003, ISBN: 2-7429-3061-2, page 721 à 724.

Dernière mise à jour : Samedi, le 2 août 2014