Erreur compilation

Signaler
Messages postés
41
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
24 décembre 2002
-
Messages postés
69
Date d'inscription
samedi 28 octobre 2000
Statut
Membre
Dernière intervention
15 octobre 2004
-
je voudrai compiler

--------------------------------------

.model tiny

.data
HelloMessage db 13,10,'Hello World !',13,10,'$'

.code
org 100h
start:
mov ax,@data
mov ds,ax
mov ax,3
int 10h
mov ah,9
mov dx,offset HelloMessage
int 21h
xor ax,ax
int 16h
mov ax,3
int 10h
mov ah,4ch
int 21h
end start

-----------------------------------

mais masm32 ne veu po il me mes 2 erreurs

-----------------------------------

Microsoft (R) Macro Assembler Version 6.14.8444
Copyright (C) Microsoft Corp 1981-1997. All rights reserved.

Assembling: C:\WINDOWS\Bureau\massm32\Hello.asm
C:\WINDOWS\Bureau\massm32\Hello.asm(9) : error A2006: undefined symbol : DGROUP
C:\WINDOWS\Bureau\massm32\Hello.asm(22) : warning A4023: : start
Appuyez sur une touche pour continuer . . .

-----------------------------------------------

4 réponses

Messages postés
949
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006

Je crois que ton code source doit être compilé
avec TASM plutôt qu'avec MASM, sinon tu dois changer les directives (.code, .data, ...).
Messages postés
33
Date d'inscription
mercredi 15 mai 2002
Statut
Membre
Dernière intervention
24 octobre 2003

un code compilable avec MASM (c'est du dos):

TITLE titre

DOSSEG
.model SMALL
.stack 100h ;un pile de 256 octect

.DATA ;les donnee
MSG DB "Hello",10,13,"$" ;notre message
;le "$" termine toutes chaines de caracteres que
;l'on veut afficher avec la fonction 09 du dos

TEXT2 DB "Appuez sur une touche !"
DB 13,10,"$"

.CODE ;le code

mov ax,@DATA ;a mettre en debut de programme
mov ds,ax ;pour utiliser les donnee

mov dx,offset MSG ;on va afficher MSG (="hello")
mov ah,09h ;on affiche dx grace à la fonction 09
int 21h ; du dos

CALL TOUCHE ; on attend une touche

mov ax,4c00h ;fin du prog
int 21h

;*************************************
;* Sous-Programme: attente de frappe *
;*************************************

TOUCHE:
MOV AH,09h ;Invite l'opérateur à taper
MOV DX,OFFSET TEXT2 ; sur une touche
INT 21h ;Fonction de DOS

TOUCHE1:
MOV AX,0C07h ;Fonction DOS pour
INT 21h ; lire un caratère au clavier
RET ;retour à l'appelant

END

voilà!
Messages postés
1258
Date d'inscription
mercredi 21 mars 2001
Statut
Modérateur
Dernière intervention
21 juin 2009
2
poste des source pour debutant!!
ton code est super bien expliqué!
serieux, met des truc pour debutant sur le site!

@++

[BlackWizzard]
Messages postés
69
Date d'inscription
samedi 28 octobre 2000
Statut
Membre
Dernière intervention
15 octobre 2004

Déjà le code à une en-tête pour un fichier COM normalement donc il ne faut pas utiliser d'autre segment que le même que CS. ensuite le code semble être une syntaxe TASM.