begin process at 2010 03 18 14:58:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Assembleur

 > 

Archives

 > 

Newbii

 > 

débutant qui a un prob avec l'int21h


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

débutant qui a un prob avec l'int21h

mardi 25 mars 2003 à 21:38:42 | débutant qui a un prob avec l'int21h

sibi12

salut voivi mon code :

mov ah, 09h
mov dx, offset buffer
int 21h

buffer a été déclaré comme ca:

buffer db 50 dup(0)

le compilateur me met une erreur pour la ligne mov dx, offset buffer: les operandes ne sont pas de meme taille.

si je mets mov edx, offset buffer le proramme se plante à int 21h

aidez-moi svp merci d'avance
mardi 25 mars 2003 à 22:59:19 | Re : débutant qui a un prob avec l'int21h

gblade


Ca fait trop longtemps que je n'ai pas programmer sous MASM mais à mon avis, tu travailles en mode 32bits et non 16bits.
Désolé de ne pas pouvoir t'en dire plus :/.
@+

-------------------------------
Réponse au message :
-------------------------------

> salut voivi mon code :
>
> mov ah, 09h
> mov dx, offset buffer
> int 21h
>
> buffer a été déclaré comme ca:
>
> buffer db 50 dup(0)
>
> le compilateur me met une erreur pour la ligne mov dx, offset buffer: les operandes ne sont pas de meme taille.
>
> si je mets mov edx, offset buffer le proramme se plante à int 21h
>
> aidez-moi svp merci d'avance
>
mercredi 26 mars 2003 à 17:18:14 | Re : débutant qui a un prob avec l'int21h

Nemesis

je suis d'accord avec gblade... Tu dois utiliser le mode 32 bits et pas le mode 16 bits. Les adresses 32 bits ne tiennent pas dans le registre dx, mais elles tiennent dans edx. En mode 32 bits, tu n'a pas accès au interruptions dos.

A mon avis il faudrait te reporter à la doc de ton compilateur pour savoir comment utiliser le mode 16 bits (mode réel) à la place du mode 32 bits (mode protégé)

Nemesis

-------------------------------
Réponse au message :
-------------------------------

>
> Ca fait trop longtemps que je n'ai pas programmer sous MASM mais à mon avis, tu travailles en mode 32bits et non 16bits.
> Désolé de ne pas pouvoir t'en dire plus :/.
> @+
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > salut voivi mon code :
> >
> > mov ah, 09h
> > mov dx, offset buffer
> > int 21h
> >
> > buffer a été déclaré comme ca:
> >
> > buffer db 50 dup(0)
> >
> > le compilateur me met une erreur pour la ligne mov dx, offset buffer: les operandes ne sont pas de meme taille.
> >
> > si je mets mov edx, offset buffer le proramme se plante à int 21h
> >
> > aidez-moi svp merci d'avance
> >
>
jeudi 27 mars 2003 à 15:39:20 | Re : débutant qui a un prob avec l'int21h

sibi12

Merci c vrai que j'avais pas penser que j'étais en mode protéger

@+



-------------------------------
Réponse au message :
-------------------------------

> je suis d'accord avec gblade... Tu dois utiliser le mode 32 bits et pas le mode 16 bits. Les adresses 32 bits ne tiennent pas dans le registre dx, mais elles tiennent dans edx. En mode 32 bits, tu n'a pas accès au interruptions dos.
>
> A mon avis il faudrait te reporter à la doc de ton compilateur pour savoir comment utiliser le mode 16 bits (mode réel) à la place du mode 32 bits (mode protégé)
>
> Nemesis
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> >
> > Ca fait trop longtemps que je n'ai pas programmer sous MASM mais à mon avis, tu travailles en mode 32bits et non 16bits.
> > Désolé de ne pas pouvoir t'en dire plus :/.
> > @+
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > salut voivi mon code :
> > >
> > > mov ah, 09h
> > > mov dx, offset buffer
> > > int 21h
> > >
> > > buffer a été déclaré comme ca:
> > >
> > > buffer db 50 dup(0)
> > >
> > > le compilateur me met une erreur pour la ligne mov dx, offset buffer: les operandes ne sont pas de meme taille.
> > >
> > > si je mets mov edx, offset buffer le proramme se plante à int 21h
> > >
> > > aidez-moi svp merci d'avance
> > >
> >
>
lundi 31 mars 2003 à 18:52:59 | Re : débutant qui a un prob avec l'int21h

CoreBreaker

Le code est bon a condition de mettre la déclaration de buffer et ton code dans un segment 16bits.
Ca dépend ce que tu utilise comme compilateur.
Essaie:

mov dx, small offset buffer

Core Breaker


-------------------------------
Réponse au message :
-------------------------------

> salut voivi mon code :
>
> mov ah, 09h
> mov dx, offset buffer
> int 21h
>
> buffer a été déclaré comme ca:
>
> buffer db 50 dup(0)
>
> le compilateur me met une erreur pour la ligne mov dx, offset buffer: les operandes ne sont pas de meme taille.
>
> si je mets mov edx, offset buffer le proramme se plante à int 21h
>
> aidez-moi svp merci d'avance
>
lundi 31 mars 2003 à 19:12:32 | Re : débutant qui a un prob avec l'int21h

sibi12


non, ça ne fonctionne pas merci quand meme. Est-ce que tu sais comment définir qu'on travail en 16bit ?


-------------------------------
Réponse au message :
-------------------------------

> Le code est bon a condition de mettre la déclaration de buffer et ton code dans un segment 16bits.
> Ca dépend ce que tu utilise comme compilateur.
> Essaie:
>
> mov dx, small offset buffer
>
> Core Breaker
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > salut voivi mon code :
> >
> > mov ah, 09h
> > mov dx, offset buffer
> > int 21h
> >
> > buffer a été déclaré comme ca:
> >
> > buffer db 50 dup(0)
> >
> > le compilateur me met une erreur pour la ligne mov dx, offset buffer: les operandes ne sont pas de meme taille.
> >
> > si je mets mov edx, offset buffer le proramme se plante à int 21h
> >
> > aidez-moi svp merci d'avance
> >
>
lundi 31 mars 2003 à 23:15:28 | Re : débutant qui a un prob avec l'int21h

gblade


Assembler en 16 bits :
Pour NASM :
[BITS 16]

Pour MASM :
_DATA segment use16

(je crois)

-------------------------------
Réponse au message :
-------------------------------

>
> non, ça ne fonctionne pas merci quand meme. Est-ce que tu sais comment définir qu'on travail en 16bit ?
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Le code est bon a condition de mettre la déclaration de buffer et ton code dans un segment 16bits.
> > Ca dépend ce que tu utilise comme compilateur.
> > Essaie:
> >
> > mov dx, small offset buffer
> >
> > Core Breaker
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > salut voivi mon code :
> > >
> > > mov ah, 09h
> > > mov dx, offset buffer
> > > int 21h
> > >
> > > buffer a été déclaré comme ca:
> > >
> > > buffer db 50 dup(0)
> > >
> > > le compilateur me met une erreur pour la ligne mov dx, offset buffer: les operandes ne sont pas de meme taille.
> > >
> > > si je mets mov edx, offset buffer le proramme se plante à int 21h
> > >
> > > aidez-moi svp merci d'avance
> > >
> >
>
mardi 1 avril 2003 à 00:00:27 | Re : débutant qui a un prob avec l'int21h

sibi12


Merci pour tes réponse mais cela ne fonctionne tjrs pas,

Voila ma ligne :

mov dx, small offset buffer

il me met qu'il ne trouve pas d'opérateur (missing operator in expression) !!!!!!!!

-------------------------------
Réponse au message :
-------------------------------

>
> Assembler en 16 bits :
> Pour NASM :
> [BITS 16]
>
> Pour MASM :
> _DATA segment use16
>
> (je crois)
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> >
> > non, ça ne fonctionne pas merci quand meme. Est-ce que tu sais comment définir qu'on travail en 16bit ?
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Le code est bon a condition de mettre la déclaration de buffer et ton code dans un segment 16bits.
> > > Ca dépend ce que tu utilise comme compilateur.
> > > Essaie:
> > >
> > > mov dx, small offset buffer
> > >
> > > Core Breaker
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > salut voivi mon code :
> > > >
> > > > mov ah, 09h
> > > > mov dx, offset buffer
> > > > int 21h
> > > >
> > > > buffer a été déclaré comme ca:
> > > >
> > > > buffer db 50 dup(0)
> > > >
> > > > le compilateur me met une erreur pour la ligne mov dx, offset buffer: les operandes ne sont pas de meme taille.
> > > >
> > > > si je mets mov edx, offset buffer le proramme se plante à int 21h
> > > >
> > > > aidez-moi svp merci d'avance
> > > >
> > >
> >
>
mardi 1 avril 2003 à 21:30:37 | Re : débutant qui a un prob avec l'int21h

gblade


Arf, moi perso je n'ai jamais rajouté small devant offset mais si ça marche enfin bon essaie le code suivant (non testé) :

_DATA segment public use16
buffer db 10 dup(0) ; je connais plus al syntaxe exacte
_DATA ends

_TEXT segment public use16
mov dx, offset buffer
_TEXT ends

-------------------------------
Réponse au message :
-------------------------------

>
> Merci pour tes réponse mais cela ne fonctionne tjrs pas,
>
> Voila ma ligne :
>
> mov dx, small offset buffer
>
> il me met qu'il ne trouve pas d'opérateur (missing operator in expression) !!!!!!!!
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> >
> > Assembler en 16 bits :
> > Pour NASM :
> > [BITS 16]
> >
> > Pour MASM :
> > _DATA segment use16
> >
> > (je crois)
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > >
> > > non, ça ne fonctionne pas merci quand meme. Est-ce que tu sais comment définir qu'on travail en 16bit ?
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Le code est bon a condition de mettre la déclaration de buffer et ton code dans un segment 16bits.
> > > > Ca dépend ce que tu utilise comme compilateur.
> > > > Essaie:
> > > >
> > > > mov dx, small offset buffer
> > > >
> > > > Core Breaker
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > salut voivi mon code :
> > > > >
> > > > > mov ah, 09h
> > > > > mov dx, offset buffer
> > > > > int 21h
> > > > >
> > > > > buffer a été déclaré comme ca:
> > > > >
> > > > > buffer db 50 dup(0)
> > > > >
> > > > > le compilateur me met une erreur pour la ligne mov dx, offset buffer: les operandes ne sont pas de meme taille.
> > > > >
> > > > > si je mets mov edx, offset buffer le proramme se plante à int 21h
> > > > >
> > > > > aidez-moi svp merci d'avance
> > > > >
> > > >
> > >
> >
>
mercredi 2 avril 2003 à 01:13:09 | Re : débutant qui a un prob avec l'int21h

sibi12



non ça veut rien savoir je crois que je vais laisser tomber le mode réel...

merci qd meme pour ton aide

@+

-------------------------------
Réponse au message :
-------------------------------

>
> Arf, moi perso je n'ai jamais rajouté small devant offset mais si ça marche enfin bon essaie le code suivant (non testé) :
>
> _DATA segment public use16
> buffer db 10 dup(0) ; je connais plus al syntaxe exacte
> _DATA ends
>
> _TEXT segment public use16
> mov dx, offset buffer
> _TEXT ends
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> >
> > Merci pour tes réponse mais cela ne fonctionne tjrs pas,
> >
> > Voila ma ligne :
> >
> > mov dx, small offset buffer
> >
> > il me met qu'il ne trouve pas d'opérateur (missing operator in expression) !!!!!!!!
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > >
> > > Assembler en 16 bits :
> > > Pour NASM :
> > > [BITS 16]
> > >
> > > Pour MASM :
> > > _DATA segment use16
> > >
> > > (je crois)
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > >
> > > > non, ça ne fonctionne pas merci quand meme. Est-ce que tu sais comment définir qu'on travail en 16bit ?
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > Le code est bon a condition de mettre la déclaration de buffer et ton code dans un segment 16bits.
> > > > > Ca dépend ce que tu utilise comme compilateur.
> > > > > Essaie:
> > > > >
> > > > > mov dx, small offset buffer
> > > > >
> > > > > Core Breaker
> > > > >
> > > > >
> > > > > -------------------------------
> > > > > Réponse au message :
> > > > > -------------------------------
> > > > >
> > > > > > salut voivi mon code :
> > > > > >
> > > > > > mov ah, 09h
> > > > > > mov dx, offset buffer
> > > > > > int 21h
> > > > > >
> > > > > > buffer a été déclaré comme ca:
> > > > > >
> > > > > > buffer db 50 dup(0)
> > > > > >
> > > > > > le compilateur me met une erreur pour la ligne mov dx, offset buffer: les operandes ne sont pas de meme taille.
> > > > > >
> > > > > > si je mets mov edx, offset buffer le proramme se plante à int 21h
> > > > > >
> > > > > > aidez-moi svp merci d'avance
> > > > > >
> > > > >
> > > >
> > >
> >
>


Cette discussion est classée dans : buffer, débutant, mov, offset, int21h


Répondre à ce message

Sujets en rapport avec ce message

Question de débutant [ par Laurent1313 ] Voilà je débute avec l'assembleur sous Delphi et il y a un truc que je ne comprends pas. Je voudrais juste savoir quelle est la différence entre :ça : une librairie [ par rhumsek ] slt mon prog contient une erreur d'après ma compilationje ne la voie pas pouvez vous m'aidé??TITLE Test de la librairieINCLUDE Irvine32.libCR=0DhLF=0A [Débutant] Problème de compiler [ par casafa ] Bonjour,Voila le code que j'esseye de compiler:MOV DX,offset MessageMOV AH,9INT 21hMOV AX,04c00hINT 21hMessage DB"Hello World !$"Avec le compilateur A Graphique [ par RM50Man ] Bonjour a tous!!!!Je veux tracer une ligne mais ca ne marche pas, je passe les parametre par la pile,et ensuite ds la fonction principale, je remplis Saisie clavier [ par RM50Man ] Dans le code je dos saisir une chaine mais a aucun moment le progme permet de la saisir!!!!Comment faire pour entrer une chaine? mov ah, 0ch ;effaceme [NASM-Linux] Problème de buffer [ par yann2192 ] Bonjour à tous, je me suis lancé dans l'assembleur 32bits avec les appels linux et j'ai un problème.Je récupére le chemin d'un fichier entrer par l'us assembleur [ par rojbeni ] bonjour tous,comment  faire pour  saisie une suite de nombre  a stocker  dans un tableau   . le nombre maximum de nombre que l'on peut saisir est de 1 TASM débutant [ par Frencghost ] Bonjour tout le monde,Voila je débute en ASM et j'essaye de faire un petit programme qui affiche a l'écran ce que je saisis juste avant (a l'écran aus Heure [ par noel70 ] Bonjour a tous.Voila, j'ai un probleme avec l'utilsation de l'API GetSystemTime,Pour récupérer le mois et l'année du PC.J'ai fait ceci:invoke GetSyste masm32 [ par kiki127 ] je n'arrive pas à compiler ce petit prog avec masm.pourriez vous m'indiquer la marche a suivre.merci d'avanceprog segmentorg 100hassume cs:progstart:c


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,232 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales