begin process at 2012 05 25 05:22:01
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Assembleur

 > 

Archives

 > 

Newbii

 > 

macro avec parametre


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

macro avec parametre

mardi 20 juillet 2004 à 16:00:36 | macro avec parametre

mat74

salut a ts ,

voila j'essaie de créer une fonction , un macro en fait qui permetrait d'afficher le msg passer en parametre j'ai fait qqs essaies et sa marche a la compilation , mais qd je lance le prog sa m'ecrit plein de caractere speciaux a l'ecran ( dos ) et pas du tt le texte mis en param .


voila le macro ( je le place au tt debut du prog ) :

ecrit_texte macro text?

push ax dx

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

pop dx ax

texte db text?

endm


et pr l'appeler je tape :

ecrit_texte 'salut'


si qq1 a une idée ....

merci d'avance
@+
mercredi 21 juillet 2004 à 14:11:56 | Re : macro avec parametre

patatalo

Membre Club Administrateur CodeS-SourceS

salut,

en fait, je suppose que tu a compilé en ".exe" et pas en ".com", ce qui fait que ton segment cs est différent de ton segment ds.

pour que ta macro fonctionne 2 possibilitées:
1- tu dois compiler de la sorte que cs=ds=es=ss
2 - tu dois mettre text dans le segment data
mtest MACRO text?
.data
text db text?
.code
lea dx,[text]
...
ENDM

@++
mercredi 21 juillet 2004 à 23:00:53 | Re : macro avec parametre

mat74

merci je viens d'essayer sa marche nickel
jeudi 22 juillet 2004 à 00:21:34 | Re : macro avec parametre

mat74

j'ai encore un pb , le macro marche , mais si je l'appel plusuieur fois il me dis que ma variable est definie plusieur fois , comment je peux faire ? j'ai essayer local texte juste av la definition de la variable mais sa me met une erreur de plus .
jeudi 22 juillet 2004 à 09:43:06 | Re : macro avec parametre

patatalo

Membre Club Administrateur CodeS-SourceS

re,

le principe est de creer un label local a la macro et donc reutilisable.

DECLARETXT MACRO text?
LOCAL text

.data
text db text?

.code
...

ENDM

@++
jeudi 22 juillet 2004 à 11:33:58 | Re : macro avec parametre

mat74

j'ai essayer de mettre local texte ds le macro , et sa marche pas il me met 'symbol already different kind : texte'
jeudi 22 juillet 2004 à 12:08:26 | Re : macro avec parametre

patatalo

Membre Club Administrateur CodeS-SourceS

re,

essai d'utiliser par exemple "__texte" ou "_@texte" ou un truc qui ressemble pas a une commande de preprocesseur.

@++
jeudi 22 juillet 2004 à 14:22:12 | Re : macro avec parametre

mat74

j'ai changer le nom de ma variable , jen ai essayer plusieur mais sa ne change strictement rien , il me met tjs la meme erreur .
comment faire ?
jeudi 22 juillet 2004 à 14:52:56 | Re : macro avec parametre

patatalo

Membre Club Administrateur CodeS-SourceS

re,

.386
.model flat,stdcall
option casemap:none

include \inc\windows.inc
include \inc\kernel32.inc
include \inc\user32.inc

includelib \lib\kernel32.lib
includelib \lib\user32.lib

COUTTXT MACRO thetxt
LOCAL @thetxt

.data
@thetxt db thetxt
db '$',0

.code
lea dx,[@thetxt]
mov ax,0900h
int 21h
ENDM

.code
start:
COUTTXT "hello "
COUTTXT "world !!!"
invoke ExitProcess,0

end start


j'ai testé, ca compile sans probleme

@++


Cette discussion est classée dans : macro, texte, parametre, ecrit, dx


Répondre à ce message

Sujets en rapport avec ce message

Simple addition [ par nostra ] Big totoJe n'arrive pas à afficher les valeurs A (=3) et B(=2) ainsi que le résultat de l'addition. Merci de trouver le ou les erreurs commises.;----- Addition pourtant simple [ par nostra ] Big totoJe n'arrive pas à afficher le résultat de l'addition malgré les remarques de Nemesis. Merci de trouver le ou les erreurs commises. ;---------- envoie d'un caractère par liaison série en asm/C [ par lordankou ] bon voila j'ai un programme en C qui appelle une procédure en assembleur et cette dernière doit retourner un caractère. j'ai donc écrit le programme s convertir un fichier ascci en fichier texte afin de pouvoir imprimer corectemen sur une imprimante laser [ par kamie ] KamieBonjour à tous,j'ai un petit problème et je ne sais pas comment faire.j'ai un fichier qui est de format ascii.lorsque nous imprimons ce fichier s loader problème de code [ par TRAX44 ] salut tout le monde !!g essayer de faire un loader (petit prog qui charge un autre prog) mais c un desartre je comprend pas très bien ce qui ne marche Pas belle police de texte ! Ouinnn ! [ par Bombela ] Salut !Je fais de la prog Windows en C++ et Asm depuis peux et les progs que je fais, que ça soit en C++ ou Asm, on une police toute grasse et pas bel Ennoncés à corriger svp :-) [ par did2604 ] Bonjour à tous,Mon professeur m'a demandé de convertir les énoncés (en langage C) suivants en assembleur, quelqu'un aurait-il la gentilesse de me les besoin d'aide pour de l'assembleur sous simulateur [ par critchou ] Bonjour, j'ai un programme à faire pour mercredi et je ne sais pas trop comment faire.Je dois écrire un texte (jusque là, ça va) et compter le nombre petit probleme de debutant [ par freekc ] j'essaie de faire un ptit prog que lorsque l'on rentre son nom prenom etc . Il y est un recapitulatif qui se mette en dessous ms lorsque que le recapi lecture / ouverture d'un fichier txt en assembleur [ par rana ] est ce quelaqu un pourrait m aider a corriger ma macro de lecture d'un fichier txt et l'ouverture d'un fichier txt, voila les macro (pb au niveau du


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 2,137 sec (3)

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