IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Assembleur Discussion :

A quoi servent ces instructions ?


Sujet :

Assembleur

  1. #1
    Provisoirement toléré
    Profil pro
    Inscrit en
    Février 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 29
    Points : 17
    Points
    17
    Par défaut A quoi servent ces instructions ?
    Bonjour! je cherche à savoir kel est la fonction de chaque ligne et ce bout de programme associé à mon programme principal affiche le résultat en décimal de mon opération répété 4 fois MAIS il m'affiche chaque résultat sans espace !!

    Peut -on effectuer un espace pour chaque résultat et pourquoi doit-on utiliser toutes ces lignes juste pour afficher le résultat en décimal de mon opération?

    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
    AFFICHER_AX_DEC:		;affiche une valeur comprise entre 0 et 65535 contenue dans AX
    		push	dx cx bx ax
    			mov	bx, 2710h 			;10000 en dec
    			xor	cl, cl
    			boucle2:
    				xor	dx, dx
    				div	bx
    				;test pour ne pas afficher les zéros de devant
    				or	cl, al
    				cmp	cl, 0
    				je	nepasafficherzero2
    					push	ax	
    						add	al, 30h		;48 en dec
    						mov	ah, 0Eh
    						int	10h
    					pop	ax
    				nepasafficherzero2:
    			        cmp	bx, 1
    				je	finboucle2
    				push	ax dx
    					xor	dx, dx
    					mov	ax, bx
    					mov	bx, 000Ah	;pour diviser par 10 soit 000A
    					div	bx
    					mov	bx, ax
    				pop	ax			;je récupère dx dans ax
    				inc	sp	;j'incrémente de 2 sp pour compenser le push ax d'avant
    				inc	sp
    				jmp	boucle2
    	finboucle2:
    		cmp	cl, 0
    		jne	fin2
    		mov	ax, 0E30h
    		int	10h
    		fin2:
     
    		pop	ax bx cx dx
     
    		ret       ;  retour au sous-programme
    Merci d'avance !!

  2. #2
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 967
    Points : 59 729
    Points
    59 729
    Billets dans le blog
    2
    Par défaut
    Bonjour,
    Citation Envoyé par lebossejames
    Bonjour! je cherche à savoir quelle est la fonction de chaque ligne et ce bout de programme associé à mon programme principal affiche le résultat en décimal de mon opération répété 4 fois MAIS il m'affiche chaque résultat sans espace !!

    Peut-on effectuer un espace pour chaque résultat
    Oui, il suffit d'insérer dans la boucle
    (20h étant le code ASCII du caractère blanc).

    Citation Envoyé par lebossejames
    et pourquoi doit-on utiliser toutes ces lignes juste pour afficher le résultat en décimal de mon opération?
    Le contenu des registres n'est pas du décimal. Tu as besoin d'un bon cours d'Assembleur : la conversion en décimal est expliquée dans le tutoriel de Sébastien Le Ray, au chapitre 1.

  3. #3
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 45
    Points : 44
    Points
    44
    Par défaut
    je te propose ce code ( procedure aff_decimal)c tres simple et ca marche à tout les coup.

    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
    aff_decimal Proc near
    xor cx,cx
    mov BX,10
    et1: xor DX,DX
    div BX
    Push DX
    inc CX
    cmp ax,0
    jne et1
    et2: Pop Dx
    add dl,30h
    mov ah,2
    int 21h
    loop et2
    RET
    aff_dicimal endp
    cette procedure affiche le contenu en decimal le contenu du registre Ax (0-65556) en décimal

Discussions similaires

  1. A quoi servent ces fichiers
    Par taquilla dans le forum C++Builder
    Réponses: 1
    Dernier message: 27/12/2007, 21h39
  2. A quoi servent ces packages?
    Par jwidd dans le forum Windows
    Réponses: 0
    Dernier message: 13/08/2007, 14h06
  3. [FireBird][Transaction] A quoi servent ces paramètres
    Par aityahia dans le forum Bases de données
    Réponses: 3
    Dernier message: 06/06/2007, 10h34
  4. A quoi servent ces fichiers
    Par ChPr dans le forum NetBeans
    Réponses: 14
    Dernier message: 31/05/2007, 13h17
  5. A quoi servent ces instructions ?
    Par lebossejames dans le forum Assembleur
    Réponses: 1
    Dernier message: 09/03/2007, 21h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo