begin process at 2010 03 20 11:17:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Assembleur

 > 

Archives

 > 

Forum general 80xxx

 > 

Affichage caractere par caractere d'une variable DT


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

Affichage caractere par caractere d'une variable DT

lundi 19 mai 2003 à 15:26:33 | Affichage caractere par caractere d'une variable DT

Eclipz

Bonjour

Voila, un souci en MASM, j'ai une variable nommée Resultat de type DT et je voudrais afficher, caractere par caractere, son résultat... le problème est que je ne vois pas comment faire... je sais qu'il y a une interruption (je sais plus laquelle) qui affiche le contenu de dl (1 caractere) mais je n'arrive pas à mettre caractere par caractere le contenu de Resultat dans dl.
Comment feriez-vous pour afficher caractere par caractere le contenu de Resultat ? A noter que ce qui est dans Resultat est au format DCB Compacté...

Par avance merci pour vos réponses

Vincent
mardi 20 mai 2003 à 01:46:37 | Re : Affichage caractere par caractere d'une variable DT

CoreBreaker


Aff db 21 dup(0);
Resultat dt 0
Flag db 1

...

mov si, offset Resultat + 9
mov di, offset Aff
mov cx, 10

boucle:
mov ah, [si]
mov al, ah
shl al, 4
and ah, 0Fh
or al, al
jnz suite1
test byte ptr [Flag], 1
jnz suite3
jmp suite2
suite1:
mov byte ptr [Flag], 0
suite2:
add al, '0'
stosb
suite3:
shl ax, 8
or al, al
jnz suite4
test byte ptr [Flag], 1
jnz suite6
jmp suite5
suite4:
mov byte ptr [Flag], 0
suite5:
add al, '0'
stosb
suite6:
dec si
loop boucle
mov byte ptr [di], '$'
mov ah, 9
mov dx, offset Aff
int 21h

Mais bien sûr il faut que DS et ES pointent sur le segment des données même si c'est CS.

Core Breaker


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

> Bonjour
>
> Voila, un souci en MASM, j'ai une variable nommée Resultat de type DT et je voudrais afficher, caractere par caractere, son résultat... le problème est que je ne vois pas comment faire... je sais qu'il y a une interruption (je sais plus laquelle) qui affiche le contenu de dl (1 caractere) mais je n'arrive pas à mettre caractere par caractere le contenu de Resultat dans dl.
> Comment feriez-vous pour afficher caractere par caractere le contenu de Resultat ? A noter que ce qui est dans Resultat est au format DCB Compacté...
>
> Par avance merci pour vos réponses
>
> Vincent
jeudi 22 mai 2003 à 10:33:33 | Re : Affichage caractere par caractere d'une variable DT

Eclipz


salut ! merci beaucoup pour ta réponse mais qu'est-ce que tu veux dire avec ce qui suit ?


> Mais bien sûr il faut que DS et ES pointent sur le segment des données même si c'est CS.
>
> Core Breaker
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Bonjour
> >
> > Voila, un souci en MASM, j'ai une variable nommée Resultat de type DT et je voudrais afficher, caractere par caractere, son résultat... le problème est que je ne vois pas comment faire... je sais qu'il y a une interruption (je sais plus laquelle) qui affiche le contenu de dl (1 caractere) mais je n'arrive pas à mettre caractere par caractere le contenu de Resultat dans dl.
> > Comment feriez-vous pour afficher caractere par caractere le contenu de Resultat ? A noter que ce qui est dans Resultat est au format DCB Compacté...
> >
> > Par avance merci pour vos réponses
> >
> > Vincent
>
jeudi 22 mai 2003 à 11:03:40 | Re : Affichage caractere par caractere d'une variable DT

TangiX

> salut ! merci beaucoup pour ta réponse mais qu'est-ce que tu veux dire avec ce qui suit ?
>
>
> > Mais bien sûr il faut que DS et ES pointent sur le segment des données même si c'est CS.
> >
> > Core Breaker
> >

Si tu a mis tes variable dans le meme segment que le code alors DS = CS
De plus Core Breaker à utilisé l'instruction stosb dans son code qui écrit à ES:DI donc il faut que ES=DS



TangiX
jeudi 22 mai 2003 à 20:39:33 | Re : Affichage caractere par caractere d'une variable DT

CoreBreaker

Plus simplement que je n'ai pas initialiser les registres de segments donc que tu dois t'assurer qu'il sont correctement initialisés. Je ne les ai pas initialisés car cela dépend du modèle mémoire:

tiny: ds==es==cs
small: ds==es et cs!=ds
...

Core Breaker



Cette discussion est classée dans : variable, caractere, contenu, resultat, dt


Répondre à ce message

Sujets en rapport avec ce message

Access violation et ecriture de variable [ par anthraxx ] J'ai une question qui me traKsse avec MASM:quand je declare un tampon comme cela:buffer db 100 dup(0)et dans le code, j'essaye d'ecrire dedans, avec u Comment convertir une chaine de caractere en nombre [ par davidv ] Voila,comment une chaine de caractere "12" par exemplepeut elle etre convertie en nombre 12.merci a tousdavidV affichage du resultat d'une recherche [ par salade007 ] Debutant, je cherche à connaitre la ligne qui correspond dans un programme en asm à l affichage dans une femêtre windows d'une recherche.pour tout dir affichage du contenu d'un registre général [ par did2604 ] Bonsoir,Quel est le code qui permet d'afficher le contenu d'un registre général (bx par exemple). Exemple, le registre BX contient la valeur 3F8 et j' pic16f84 [ par h82kev ] comment envoyer un caractere avec le pic16f84 ainsi que de lire un caractere et de le mettre sur un lcd? declaration [ par noel70 ] Bonjour a tous.Voila, lorsqu'on veut déclarer une variable de type réelle, on utilise cette syntaxe..dataNom_de_la_varaible dq 0.0J'aimerais sav couleur en TASM ? [ par redwings ] j'aimerai savoir les instructions qui permettent d'affiche un caractere en couleurAL contient le caractere ...MOV DL,AL MOV AH,02hINT 21h...merci décompter une variable sous fasmw [ par palyer ] bonjour.j ai commencé la programmation sous fasmw156 récement et j aurai besoin d aide pour un probleme tout bete :je cherche a pouvoir decrementer un Pas de conversion [ par noel70 ] Bonjour à tous.Est-ce que quelqu'un saurait il comment on peut faire pour afficher dans une zone de texte, le contenu d'une adresse memoire.Je m'expli Variable [ par RM50Man ] phrase_debut            DB   10, 13, "Lancement du test...", 10, 13, 0pkoi il y a 10 puis 13 ??????????,,RM50man


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 : 0,452 sec (4)

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