[Résolu] Comment accèder à une variable d'une autre librarie ASM

Comment accèder à une variable d'une autre librarie ASM [Résolu] - ASM - Programmation

Marsh Posté le 19-04-2005 à 15:48:26    

Comment définir qu'un variable est 'externe' dans une librarie TASM?  
 
En C le problème est vite résolu ( j'ai dis vite pas nécessairement 'propre') en la déclarant extern... je suppose qu'on peut faire qq chose de comparable en assembleur...
 
Cette variable se trouve dans une autre librairie TASM.


Message édité par avander le 20-04-2005 à 15:32:14
Reply

Marsh Posté le 19-04-2005 à 15:48:26   

Reply

Marsh Posté le 19-04-2005 à 15:50:12    

heuuu, je verrais un public ou un truc du genre.

Reply

Marsh Posté le 19-04-2005 à 16:07:19    

Oui ça dois être un truc du genre...  
 
public machin... dans l'une et
 
EXTRN machin... dans l'autre, je creuse, je creuse...  :hello:
 
ps: un petit exemple en dur c'est pas de refus  :jap:


Message édité par avander le 19-04-2005 à 16:39:57
Reply

Marsh Posté le 19-04-2005 à 18:59:36    

bin quand je faisais de l'asm comme ça c'était surtout avec le watcom.
 
il est possible qu'un _ soit nécessaire pour aller avec la décoration C ou un autre truc du style.
 
avec le watcom par exemple:
 
_DATA  SEGMENT USE32 DWORD PUBLIC 'DATA'
       PUBLIC _KEYS,_SCANKEY,_CHARBUFFER,_KB_Filter,_KB_RIDX,_KB_WIDX,_KB_Abort,_CHARTABLE,_KBHIT,_KEYBINDS,_KB_Event
       
 EXFLAG        dd 0            
_KBHIT         dd 0              
_SCANKEY       dd 0              
_KB_Filter     dd 0ffh            
....
....
_DATA ENDS

Reply

Marsh Posté le 20-04-2005 à 15:39:55    

J'ai trouvé une solution qui semble tenir la route...  
 
Dans ma première librairie je déclare une variable vidcom qui doit être accessible depuis une deuxième librairie en assembleur:  
 

Code :
  1. datasg segment 'data'
  2.         vidmod  db 0
  3. public vidmod
  4.         ...
  5. datasg ends


 
Dans la deuxième librairie je déclare la variable de façon suivante:  

Code :
  1. datasg segment 'data'
  2.         extrn vidmod : BYTE
  3.         ...
  4. datasg ends


 
Si ça vous dis, j'ai trouvé des éléments de réponse dans le tutorial suivant:  
http://atrevida.comprenica.com/
 
bjone > merci d'être passé par ici :hello:


Message édité par avander le 20-04-2005 à 15:41:06
Reply

Marsh Posté le 20-04-2005 à 16:39:51    

oki ça devait être +ou- un truc comme ça.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed