Salut,
je viens de faire un petit programme tout bete d'apprentissage qui attend la saisie d'une chaine puis l'affiche inversée
le voici (les critiques sont les bienvenues) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 
.386
 
code segment use16
 
assume cs:code, ds:data, ss:pile
 
debut :
	if1
		include ma_lib.lib	;fichier externe contenant macro...
	endif
 
	mov ax,data		;initialisation segment de données
	mov ds,ax
 
	mov ah,0ch
	mov al,0ah
	mov dx,offset chaine	;attente saisie chaine -> chaine
	int 21h
 
	saut_retour		; macro effectuant un retour a la ligne et chariot
 
	xor cx,cx
	mov cl,[chaine+1]	;on place dans cx la taille de la chaine
 
	inverse :
		mov si,cx
		mov dl,chaine[si+1]	;on affiche chaine caractere par caractere
		mov ah,02h			;mais en partant de la fin
		int 21h
	loop inverse
 
	mov ah,4ch			;fin du programme
	int 21h
 
code ends
 
data segment use16
 
	chaine db 20, 20 DUP('$')	;variable pour la chaine saisie
 
data ends
 
pile segment stack use16
 
	remplissage db 256 DUP(?)
 
pile ends
 
end debut
le code est compilé avec Tasm et linké avec Tlink, le probleme c'est qu'il sort un warning à la compilation :
*Warning* inverse.asm<49> Module is pass dependent - compatibility pass was done
je suppose que le module dont parle le compilateur est ma_lib.lib, que voici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
.386
 
;----------------------------------Définition(s) Macro(s)
 
		saut_retour macro  ;macro effectuant un saut de ligne et un retour chariot
			local text
 
			push ax dx  ;sauvegarde de ax et dx
			mov ah,02h
			mov dl,10   ;ecriture du saut de ligne
			int 21h
			mov dl,13   ; ecriture du retour chariot
			int 21h
 
			pop dx ax  ;restauration de ax et dx
 
		endm saut_retour
	;---------------------------------------------------------------
J'aimerais bien comprendre pourquoi j'ai ce warning
Merci pour votre aide
A+