home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 19 / CD_ASCQ_19_010295.iso / dos / prg / noyau / dispatch.lst < prev    next >
File List  |  1994-05-25  |  17KB  |  475 lines

  1. Microsoft (R) Macro Assembler Version 6.00                 05/26/94 03:29:44
  2. TP ASSEMBLEUR / SE N°2                         Page 1 - 1
  3.  
  4.  
  5.                 ;
  6.                 ;
  7.                 ;        DISPATCHER / ELIGIBLE / P / V
  8.                 ;
  9.                 ;
  10.                 ; ART OF CODE 1994
  11.                 ;
  12.                 ;
  13.                 ; Dispatch.asm
  14.                 ;
  15.  
  16.                 PAGE 60,132
  17.                 TITLE TP ASSEMBLEUR / SE N°2
  18.  
  19.                 .MODEL SMALL,OS_DOS
  20.                 .286
  21.  
  22.                 INCLUDE gestlist.inc    ; importe les fonctions de gestion de liste
  23.                   C ; Gestlist.inc
  24.                   C ;
  25.                   C ;.......  Importation des fonctions de gestion de liste ..............
  26.                   C ;
  27.                   C 
  28.                   C EXTERNDEF   insere        : NEAR
  29.                   C EXTERNDEF   recherche        : NEAR
  30.                   C EXTERNDEF   InsereItem        : NEAR
  31.                   C 
  32.                   C EXTERNDEF   extrait        : NEAR
  33.                   C EXTERNDEF   PremierDeListe  : NEAR
  34.                   C EXTERNDEF   DernierDeListe  : NEAR
  35.                   C 
  36.                   C EXTERNDEF   FileVide        : NEAR
  37.                   C EXTERNDEF   InitVide        : NEAR
  38.                   C 
  39.                   C EXTERNDEF   empiler        : NEAR
  40.                   C EXTERNDEF   Depiler        : NEAR
  41.                   C 
  42.                 INCLUDE descript.inc    ; définition du type DESCRIPTEUR
  43.                   C ;  descript.inc
  44.                   C ;
  45.                   C ;        Description d'un objet du noyau
  46.                   C ;
  47.                   C ;
  48.                   C 
  49.  0009                  C DESCRIPTEUR    STRUCT
  50.  0000  0000              C     precedent    WORD    ?   ; lien de chainage sur le descripteur précédent
  51.  0002  0000              C     suivant    WORD    ?   ; lien de chainage sur le descripteur suivant
  52.  0004  0000              C     identite    WORD    ?   ; n° de poste dans la table des descripteurs de l'objet
  53.  0006  00              C     TypeObjet    BYTE    ?   ; type de l'objet référencé par le descripteur
  54.  0007  00              C     etat    BYTE    ?   ; état actuel du descripteur ou de l'objet
  55.  0008  00              C     priorite    BYTE    ?   ; clé d'ordonnancement des descripteurs
  56.                   C DESCRIPTEUR    ENDS
  57.                   C 
  58.  = WORD PTR identite          C identification    EQU <WORD PTR identite> ; identification de l'objet
  59.  = 0009                  C DimDescripteur    EQU SIZEOF DESCRIPTEUR    ; nombre d'octets du descripteur
  60.                   C 
  61.                 INCLUDE queue.inc       ; définition du type QUEUE
  62.                   C ; Queue.inc
  63.                   C 
  64.  = DESCRIPTEUR              C QUEUE    EQU <DESCRIPTEUR>   ; Une queue est un DESCRIPTEUR
  65.                   C 
  66.                 INCLUDE etats.inc
  67.                   C ;
  68.                   C ; fichier des etats d'un processus ou d'un descripteur d'objet
  69.                   C ;
  70.                   C ; Etats.inc
  71.                   C ;
  72.                   C 
  73.  = 0000                  C nEtat = 0
  74.                   C FOR EtatProc,<NON_EXISTANT,ACTIF,PRET,BLOQUE,EN_ATTENTE,SUSPENDU>
  75.                   C     &EtatProc  EQU  nEtat+0
  76. Microsoft (R) Macro Assembler Version 6.00                 05/26/94 03:29:44
  77. TP ASSEMBLEUR / SE N°2                         Page 2 - 1
  78.  
  79.  
  80.                   C            nEtat = nEtat + 1
  81.                   C ENDM
  82.  = 0000                 1C     NON_EXISTANT  EQU  nEtat+0
  83.  = 0001                 1C            nEtat = nEtat + 1
  84.  = 0001                 1C     ACTIF  EQU  nEtat+0
  85.  = 0002                 1C            nEtat = nEtat + 1
  86.  = 0002                 1C     PRET  EQU  nEtat+0
  87.  = 0003                 1C            nEtat = nEtat + 1
  88.  = 0003                 1C     BLOQUE  EQU  nEtat+0
  89.  = 0004                 1C            nEtat = nEtat + 1
  90.  = 0004                 1C     EN_ATTENTE  EQU  nEtat+0
  91.  = 0005                 1C            nEtat = nEtat + 1
  92.  = 0005                 1C     SUSPENDU  EQU  nEtat+0
  93.  = 0006                 1C            nEtat = nEtat + 1
  94.                   C 
  95.  = 0000                  C TERMINE EQU NON_EXISTANT
  96.  = 0000                  C LIBRE    EQU NON_EXISTANT
  97.  =-0001                  C OCCUPE    EQU (NOT LIBRE)+0
  98.  =-0001                  C INFINI    EQU (NOT LIBRE)+0
  99.                   C 
  100.                 INCLUDE types.inc
  101.                   C ; Types.inc
  102.                   C ;
  103.                   C ;............ Définition des types d'objets ................
  104.                   C ;
  105.                   C 
  106.  = 0003                  C TypeSemaphore    EQU 00000011b    ; sémaphore sans delta-liste (DIJKSTRA)
  107.                   C 
  108.  = 0004                  C TypeTampon    EQU 00000100b    ; tampon circulaire de communication
  109.                   C 
  110.  = 000C                  C TypeQueue    EQU 00001100b    ; cellule de garde d'une liste chainée
  111.                   C 
  112.  = 001C                  C TypeProcTPU    EQU 00011100b    ; processus utilisateur temps partagé
  113.  = 001D                  C TypeProcTRU    EQU 00011101b    ; processus utilisateur temps réel
  114.  = 001E                  C TypeProcTPS    EQU 00011110b    ; processus système temps partagé
  115.  = 001F                  C TypeProcTRS    EQU 00011111b    ; processus système temps réel
  116.  = 001C                  C TypeProcessus    EQU TypeProcTPU ; type générique pour les processus
  117.                   C 
  118.                 INCLUDE semphor.inc
  119.                   C ; SEMPHOR.INC
  120.                   C ;        Definition du type semaphore
  121.                   C ;
  122.                   C 
  123.  000A                  C SEMAPHORE    STRUCT
  124.  0000  0000 0000 0000 03      C          DESCRIPTEUR <,,,TypeSemaphore,LIBRE,INFINI>
  125.        00 FF
  126.  0009  00              C     compteur BYTE     ?
  127.                   C SEMAPHORE    ENDS
  128.                   C 
  129.                 INCLUDE process.inc
  130.                   C ; Process.inc : descripteurs de processus
  131.  000F                  C PROCESSUS STRUCT
  132.  0000  0000 0000 0000 1C      C       DESCRIPTEUR <,,,TypeProcessus,LIBRE,>
  133.        00 00
  134.  0009  0000              C   Reg_SP  WORD          ?
  135.  000B  0000              C   Reg_SS  WORD          ?
  136. Microsoft (R) Macro Assembler Version 6.00                 05/26/94 03:29:44
  137. TP ASSEMBLEUR / SE N°2                         Page 3 - 1
  138.  
  139.  
  140.  000D  0000              C   file      WORD          ?
  141.                   C PROCESSUS ENDS
  142.                   C 
  143.                 INCLUDE donnees.inc
  144.                   C ;
  145.                   C ;   Segment des données du noyau
  146.                   C ;
  147.                   C ; donnees.inc
  148.                   C 
  149.                   C EXTERNDEF   EnCours  : WORD       ; pointeur sur descripteur processus ACTIF
  150.                   C EXTERNDEF   QueueExp : WORD       ; pointeur sur liste des descripteurs procs PRETs
  151.                   C EXTERNDEF   NonPreemptif : BYTE    ; état d'execution du noyau
  152.                   C EXTERNDEF   FinNoyau     : BYTE    ; marque le noyau terminé
  153.                   C EXTERNDEF   NoyauFini     : BYTE    ; marque la tâche horloge terminée
  154.                   C EXTERNDEF   pHorloge   : PROCESSUS ; descripteur du processus HORLOGE
  155.                   C EXTERNDEF   pPrincipal : PROCESSUS ; descripteur du processus PRINCIPAL
  156.                   C 
  157.                 INCLUDE code.inc
  158.                   C ;
  159.                   C ;   CODE.INC
  160.                   C ;   Import/export des fonctions du noyau
  161.                   C ;
  162.                   C 
  163.                   C EXTERNDEF   eligible    : NEAR
  164.                   C EXTERNDEF   dispatcher    : NEAR
  165.                   C EXTERNDEF   P : NEAR
  166.                   C EXTERNDEF   V : NEAR
  167.                   C 
  168.  
  169.  
  170.  
  171.  0000                .CODE
  172.  
  173.  
  174.                 ;
  175.                 ;           PROCEDURE DISPATCHER
  176.                 ;
  177.                 ;
  178.  
  179.  0000                DISPATCHER PROC NEAR
  180.                     assume ds:@data
  181.  0000  9C                pushf
  182.  0001  FA                cli                     ; masquage des interruptions
  183.  0002  06                push es
  184.  0003  1E                push ds
  185.  0004  60                pusha
  186.  
  187.  0005  B8 ---- R            mov ax,@data      ; au cas où ....
  188.  0008  8E D8                mov ds,ax
  189.  
  190.  000A  80 3E 0000 E 00            cmp NonPreemptif,0    ; test si noyau non preemptif
  191.  000F  75 3A                jne fin_dispatch        ; si oui on demasque et on quitte
  192.  
  193.  0011  8B 1E 0000 E            mov bx,[EnCours]
  194.  0015  8B 36 0000 E            mov si,[QueueExp]
  195.  0019  80 7F 07 01            cmp (DESCRIPTEUR PTR [bx]).etat,ACTIF
  196. Microsoft (R) Macro Assembler Version 6.00                 05/26/94 03:29:44
  197. TP ASSEMBLEUR / SE N°2                         Page 4 - 1
  198.  
  199.  
  200.  001D  75 10                jne Change_EnCours    ; si EnCours pas actif -> on rend le processus le plus prioritaire actif
  201.  
  202.                     ; sinon
  203.  
  204.  001F  8B FE                mov di,si                  ; di pointe sur la cellule de garde
  205.  0021  8B 7D 02                mov di,(DESCRIPTEUR PTR [di]).suivant ; di pointe sur le descripteur le plus prioritaire
  206.  0024  8A 47 08                mov al,(DESCRIPTEUR PTR [bx]).priorite
  207.  0027  3A 45 08                cmp al,(DESCRIPTEUR PTR [di]).priorite
  208.  002A  76 1F                jbe fin_dispatch     ; si Encours est le plus prioritaire on ne fait rien
  209.  
  210.                     ; sinon on réalise la transition ACTIF - > PRET
  211.  002C  E8 0050 R            call ELIGIBLE ; On place EnCours dans la queue d'exploitation
  212.                           ; Puis, le premier de la queue d'exploitation devient
  213.                           ; le processus EnCours
  214.  002F                Change_EnCours:
  215.  
  216.  
  217.  002F  8C 57 0B                mov (PROCESSUS PTR [bx]).Reg_SS,ss ; on sauvegarde la pile privée
  218.  0032  89 67 09                mov (PROCESSUS PTR [bx]).Reg_SP,sp ; du programme EnCours
  219.                     
  220.  0035  E8 0000 E            call PremierDeListe ; DS:BX= ptr sur l'EnCours nouveau
  221.  0038  89 1E 0000 E            mov  [EnCours],bx
  222.  003C  8E 57 0B                mov ss,(PROCESSUS PTR [bx]).Reg_SS ; on retablit la pile privée
  223.  003F  8B 67 09                mov sp,(PROCESSUS PTR [bx]).Reg_SP ; du programme EnCours
  224.  0042  C6 47 07 01            mov (DESCRIPTEUR PTR [bx]).etat,ACTIF   ; on le rend ACTIF
  225.  0046  C7 47 0D 0000            mov (PROCESSUS PTR [bx]).file,0
  226.  
  227.  004B                fin_dispatch:
  228.  004B  61                popa
  229.  004C  1F                pop ds
  230.  004D  07                pop es
  231.  004E  9D                popf
  232.  004F  C3                ret
  233.  0050                DISPATCHER ENDP
  234.  
  235.  
  236.                 ;
  237.                 ;              PROCEDURE ELIGIBLE
  238.                 ;
  239.                 ;           Réalise la transition ??? -> PRET
  240.                 ;
  241.                 ;       Entrée : DS:BX pointe sur le DdP à inserer
  242.                 ;
  243.  
  244.  0050                ELIGIBLE PROC NEAR
  245.                     assume ds:@data
  246.  0050  56                push si
  247.  0051  8B 36 0000 E            mov si,[QueueExp]
  248.  0055  C6 47 07 02            mov (DESCRIPTEUR PTR [bx]).etat,PRET
  249.  0059  89 77 0D                mov (PROCESSUS PTR [bx]).file,si
  250.  005C  E8 0000 E            CALL INSERE         ; On insere le DdP à sa place.
  251.  005F  5E                pop si
  252.  0060  C3                ret
  253.  0061                ELIGIBLE ENDP
  254.  
  255.  
  256. Microsoft (R) Macro Assembler Version 6.00                 05/26/94 03:29:44
  257. TP ASSEMBLEUR / SE N°2                         Page 5 - 1
  258.  
  259.  
  260.                 ;
  261.                 ;         PROCEDURE P - Wait ( sémaphore s )
  262.                 ;
  263.                 ;   Entrée : (DS:SI) = pointeur sur le sémaphore s
  264.                 ;
  265.  
  266.  0061                P PROC NEAR
  267.                     assume ds:@data
  268.  
  269.  0061  9C                pushf
  270.  0062  FA                cli
  271.  0063  53                push bx
  272.  0064  1E                push ds
  273.  
  274.  0065  BB ---- R            mov bx,@data
  275.  0068  8E DB                mov ds,bx
  276.  
  277.  006A  80 7C 09 00            cmp (SEMAPHORE PTR[si]).Compteur,0    ; compteur nul ?
  278.  006E  74 05                je    Extraction            ; oui, on bloque
  279.  0070  FE 4C 09                dec (SEMAPHORE PTR [si]).Compteur    ; sinon, cpt = cpt - 1
  280.  0073  EB 0E                jmp Fin_Wait
  281.  0075                Extraction:
  282.  0075  8B 1E 0000 E            mov bx,[EnCours]
  283.  0079  C6 47 07 03            mov (DESCRIPTEUR PTR [bx]).Etat,BLOQUE
  284.  007D  E8 0000 E            call empiler
  285.  0080  89 77 0D                mov (PROCESSUS PTR [bx]).file,si
  286.  0083                Fin_Wait:
  287.  0083  1F                pop ds
  288.  0084  5B                pop bx
  289.  0085  9D                popf    ; rétablit l'ancien registre d'état ( voire les interruptions )
  290.  0086  E8 FF77                call DISPATCHER
  291.  0089  C3                ret
  292.  008A                P ENDP
  293.  
  294.  
  295.                 ;
  296.                 ;         PROCEDURE V - Signal( sémaphore s )
  297.                 ;
  298.                 ;   Entrée : (DS:SI) = pointeur sur le sémaphore s
  299.                 ;
  300.  
  301.  008A                V PROC NEAR
  302.                     assume ds:@data
  303.  
  304.  008A  9C                pushf
  305.  008B  FA                cli
  306.  008C  56                push si
  307.  008D  53                push bx
  308.  008E  1E                push ds
  309.  
  310.  008F  BB ---- R            mov bx,@data
  311.  0092  8E DB                mov ds,bx
  312.  0094  E8 0000 E            call FileVide   ; La file d'attente du sémaphore est elle vide ?
  313.  0097  75 05                jne  Sema_non_vide
  314.                             ; oui ! On augmente la valeur du sémaphore
  315.  0099  FE 44 09                inc (SEMAPHORE PTR [si]).Compteur
  316. Microsoft (R) Macro Assembler Version 6.00                 05/26/94 03:29:44
  317. TP ASSEMBLEUR / SE N°2                         Page 6 - 1
  318.  
  319.  
  320.  009C  EB 06                jmp Fin_Signal
  321.  009E                Sema_non_vide:
  322.  009E  E8 0000 E            call DernierDeListe    ; on extrait un DdP de la file d'attente
  323.  00A1  E8 FFAC                call Eligible    ; dans la queue d'exploitation
  324.  
  325.  00A4                Fin_Signal:
  326.  00A4  1F                pop ds
  327.  00A5  5B                pop bx
  328.  00A6  5E                pop si
  329.  00A7  9D                popf
  330.  00A8  E8 FF55                Call Dispatcher
  331.  00AB  C3                ret
  332.  00AC                V ENDP
  333.  
  334.                 END
  335. Microsoft (R) Macro Assembler Version 6.00                 05/26/94 03:29:44
  336. TP ASSEMBLEUR / SE N°2                         Symbols 7 - 1
  337.  
  338.  
  339.  
  340.  
  341. Structures and Unions:
  342.  
  343.                 N a m e                  Size
  344.                                          Offset      Type
  345.  
  346. DESCRIPTEUR  . . . . . . . . . .     0009
  347.   precedent  . . . . . . . . . .     0000         Word
  348.   suivant  . . . . . . . . . . .     0002         Word
  349.   identite . . . . . . . . . . .     0004         Word
  350.   TypeObjet  . . . . . . . . . .     0006         Byte
  351.   etat . . . . . . . . . . . . .     0007         Byte
  352.   priorite . . . . . . . . . . .     0008         Byte
  353. PROCESSUS  . . . . . . . . . . .     000F
  354.   precedent  . . . . . . . . . .     0000         Word
  355.   suivant  . . . . . . . . . . .     0002         Word
  356.   identite . . . . . . . . . . .     0004         Word
  357.   TypeObjet  . . . . . . . . . .     0006         Byte
  358.   etat . . . . . . . . . . . . .     0007         Byte
  359.   priorite . . . . . . . . . . .     0008         Byte
  360.   Reg_SP . . . . . . . . . . . .     0009         Word
  361.   Reg_SS . . . . . . . . . . . .     000B         Word
  362.   file . . . . . . . . . . . . .     000D         Word
  363. SEMAPHORE  . . . . . . . . . . .     000A
  364.   precedent  . . . . . . . . . .     0000         Word
  365.   suivant  . . . . . . . . . . .     0002         Word
  366.   identite . . . . . . . . . . .     0004         Word
  367.   TypeObjet  . . . . . . . . . .     0006         Byte
  368.   etat . . . . . . . . . . . . .     0007         Byte
  369.   priorite . . . . . . . . . . .     0008         Byte
  370.   compteur . . . . . . . . . . .     0009         Byte
  371. Microsoft (R) Macro Assembler Version 6.00                 05/26/94 03:29:44
  372. TP ASSEMBLEUR / SE N°2                         Symbols 8 - 1
  373.  
  374.  
  375.  
  376.  
  377. Segments and Groups:
  378.  
  379.                 N a m e                 Size     Length   Align   Combine Class
  380.  
  381. DGROUP . . . . . . . . . . . . .    GROUP
  382. _DATA  . . . . . . . . . . . . .    16 Bit     0000      Word      Public  'DATA'    
  383. _TEXT  . . . . . . . . . . . . .    16 Bit     00AC      Word      Public  'CODE'    
  384. Microsoft (R) Macro Assembler Version 6.00                 05/26/94 03:29:44
  385. TP ASSEMBLEUR / SE N°2                         Symbols 9 - 1
  386.  
  387.  
  388.  
  389.  
  390. Procedures,  parameters and locals:
  391.  
  392.                 N a m e                 Type     Value    Attr
  393.  
  394. P  . . . . . . . . . . . . . . .    P Near     0061      _TEXT    Length= 0029 Public
  395.   Extraction . . . . . . . . . .    L Near     0075      _TEXT    
  396.   Fin_Wait . . . . . . . . . . .    L Near     0083      _TEXT    
  397. V  . . . . . . . . . . . . . . .    P Near     008A      _TEXT    Length= 0022 Public
  398.   Sema_non_vide  . . . . . . . .    L Near     009E      _TEXT    
  399.   Fin_Signal . . . . . . . . . .    L Near     00A4      _TEXT    
  400. dispatcher . . . . . . . . . . .    P Near     0000      _TEXT    Length= 0050 Public
  401.   Change_EnCours . . . . . . . .    L Near     002F      _TEXT    
  402.   fin_dispatch . . . . . . . . .    L Near     004B      _TEXT    
  403. eligible . . . . . . . . . . . .    P Near     0050      _TEXT    Length= 0011 Public
  404. Microsoft (R) Macro Assembler Version 6.00                 05/26/94 03:29:44
  405. TP ASSEMBLEUR / SE N°2                         Symbols 10 - 1
  406.  
  407.  
  408.  
  409.  
  410. Symbols:
  411.  
  412.                 N a m e                 Type     Value    Attr
  413.  
  414. @CodeSize  . . . . . . . . . . .    Number     0000h     
  415. @DataSize  . . . . . . . . . . .    Number     0000h     
  416. @Interface . . . . . . . . . . .    Number     0000h     
  417. @Model . . . . . . . . . . . . .    Number     0002h     
  418. @code  . . . . . . . . . . . . .    Text        _TEXT
  419. @data  . . . . . . . . . . . . .    Text        DGROUP
  420. @fardata?  . . . . . . . . . . .    Text        FAR_BSS
  421. @fardata . . . . . . . . . . . .    Text        FAR_DATA
  422. @stack . . . . . . . . . . . . .    Text        DGROUP
  423. ACTIF  . . . . . . . . . . . . .    Number     0001h     
  424. BLOQUE . . . . . . . . . . . . .    Number     0003h     
  425. Depiler  . . . . . . . . . . . .    L Near     0000      External
  426. DernierDeListe . . . . . . . . .    L Near     0000      External
  427. DimDescripteur . . . . . . . . .    Number     0009h     
  428. EN_ATTENTE . . . . . . . . . . .    Number     0004h     
  429. EnCours  . . . . . . . . . . . .    Word     0000      External
  430. FileVide . . . . . . . . . . . .    L Near     0000      External
  431. FinNoyau . . . . . . . . . . . .    Byte     0000      External
  432. INFINI . . . . . . . . . . . . .    Number     -0001h      
  433. InitVide . . . . . . . . . . . .    L Near     0000      External
  434. InsereItem . . . . . . . . . . .    L Near     0000      External
  435. LIBRE  . . . . . . . . . . . . .    Number     0000h     
  436. NON_EXISTANT . . . . . . . . . .    Number     0000h     
  437. NonPreemptif . . . . . . . . . .    Byte     0000      External
  438. NoyauFini  . . . . . . . . . . .    Byte     0000      External
  439. OCCUPE . . . . . . . . . . . . .    Number     -0001h      
  440. PRET . . . . . . . . . . . . . .    Number     0002h     
  441. PremierDeListe . . . . . . . . .    L Near     0000      External
  442. QUEUE  . . . . . . . . . . . . .    Text        DESCRIPTEUR
  443. QueueExp . . . . . . . . . . . .    Word     0000      External
  444. SUSPENDU . . . . . . . . . . . .    Number     0005h     
  445. TERMINE  . . . . . . . . . . . .    Number     0000h     
  446. TypeProcTPS  . . . . . . . . . .    Number     001Eh     
  447. TypeProcTPU  . . . . . . . . . .    Number     001Ch     
  448. TypeProcTRS  . . . . . . . . . .    Number     001Fh     
  449. TypeProcTRU  . . . . . . . . . .    Number     001Dh     
  450. TypeProcessus  . . . . . . . . .    Number     001Ch     
  451. TypeQueue  . . . . . . . . . . .    Number     000Ch     
  452. TypeSemaphore  . . . . . . . . .    Number     0003h     
  453. TypeTampon . . . . . . . . . . .    Number     0004h     
  454. empiler  . . . . . . . . . . . .    L Near     0000      External
  455. extrait  . . . . . . . . . . . .    L Near     0000      External
  456. identification . . . . . . . . .    Text        WORD PTR identite
  457. insere . . . . . . . . . . . . .    L Near     0000      External
  458. nEtat  . . . . . . . . . . . . .    Number     0006h     
  459. pHorloge . . . . . . . . . . . .    PROCESSUS  0000        External
  460. pPrincipal . . . . . . . . . . .    PROCESSUS  0000        External
  461. recherche  . . . . . . . . . . .    L Near     0000      External
  462.  
  463.        0 Warnings
  464. Microsoft (R) Macro Assembler Version 6.00      05/26/94 03:29:44
  465. TP ASSEMBLEUR / SE N°2                         Symbols 11 - 1
  466.  
  467.  
  468.  
  469.  
  470. Symbols:
  471.  
  472.                 N a m e                 Type     Value    Attr
  473.  
  474.        0 Errors
  475.