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 :

Que fait ce programme ?


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 Que fait ce programme ?
    Bonjour ! je voulais savoir ce que fais ce programme ??

    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    ;****************************************************************
    ;*		utilisations des directives d'assemblage	*
    ;****************************************************************
     
            name direct
     
            .MODEL SMALL
     
    ;******************************************
    ;*		zone de pile			*
    ;******************************************
            .STACK 100h
    ;******************************************
    ;*		zone de données			*
    ;******************************************
            .DATA
    i		dw	?
    j		dw	?
    k		dw	?
    rr              db      ?
    compt		dw 	1
    resul		dw	10 dup(?)
     
     
     
    MIN		EQU	100
    MAX		EQU	200
     
    ; La chaîne de caractère à imprimer à l'écran
    affnb DB    '   ','$'
    un    DW    1
    dix   DW    10
     
    CALL  imprnb
     
    ;******************************************
    ;*		zone de code			*
    ;******************************************
     affresul DB '    ','$' 
    		.code
     
    		;affectation de l'adresse de début du code dans ds
     
    ;************************************************
    ;*		zone de macro(segment de code)	*
    ;************************************************
     
    ;à faire
     
    operation macro d1,d2,d3
     
    mov ax,2*d1+3*(d2+d3)
     
     
    endm
     
     
     
    ;************************************************
    ;*		point d'entrée			*
    ;************************************************
     
     
    DEBUT:		
     
    operation n1,n2,n3
     
    MOV AH,04CH
      INT 21H
     
    main endp
     
    imprnb proc
      MOV   BX,offset affnb    ; Je lui passe une chaine de 3 caracteres
      ADD   BX,2               ; J'ai 3 chiffre mais j'avance de 2 pour pas ecraser le caractere de fin de chaine '$'
      MOV   AX,nb              ; Je recupere le nb dans AX
      MOV   CX,3               ; CX sert de compteur pour la boucle
      @@chiffreSuivant:
        PUSH  CX
        MUL   un               ; Je multiplie AX par 1 pour eviter les divisions pas 0
        DIV   dix              ; Je divise AX par 10 pour recuper le chiffre dans DL
        ADD   DL,48            ; J'additionne 48 au chiffre pour avoir le code ascii
        MOV   [BX],DL          ; Je deplace la reponse dans la chaine
        DEC   BX               ; Je me deplace dans la chaine
        POP   CX
      LOOP @@chiffreSuivant
     ; J'affiche a l'ecran la chaine qui contient le score
      MOV   AH,09h
      MOV   DX,offset affnb
      INT   21h
      RET
    imprnb endp
     
     
     
    ;*********déclaration des types
     
    ;à faire
     
    n1=type i
    n2=type j
    n3=type k
     
    EX1=type rr
    EX2=type rr
     
    ;*********initialisations
     
    ; à faire
     
    n1=0
    n2=0
    n3=0
     
     
     
    ;************************************************
    ; boucle de 4 itérations de la macro 		*
    ;************************************************
    ;à faire
     
    REPT 4
     
    operation n1,n2,n3
     
    mov resul,ax
     
     
    n1=n1+1
    n2=n2+2
    n3=n3+3
     
     
    ENDM
     
     
    ;************************************************
    ; la détection du moment ou la différence 	*
    ; est minimale					*
    ;************************************************
     
    ;à faire
     
     WHILE (EX1-EX2) GT 10
     
     
     EX2=EX2+1
     INC compt
     
     mov bx,compt
     
     ENDM
     
    ;*****************************************
    ;    fin
    ;*****************************************
            mov     ax,4c00h                ; terminaison du programme
            int     21h
            end     DEBUT

  2. #2
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 968
    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 968
    Points : 59 743
    Points
    59 743
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Tu ne reconnais pas ton propre programme ?
    http://www.developpez.net/forums/sho...36&postcount=3

  3. #3
    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
    je voulais savoir si cela affiche mon résultat à l'écran !!

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Et bien. Je ne comprend pas trop ton code. Et je ne comprend vraiment pas pourquoi tu fait un message de la sorte .

    Je ne peut pas te dire comment parce que j'utilise seulement les interruptions du BIOS pour créer mon OS.

    Ce qui est clair. C'est que c'est un programme DOS puisqu'il contient int 21h qui est une interruptions propre à DOS.

    On dirait aussi, que c'est un jeux

    Bonsoir

Discussions similaires

  1. Que fait ce programme ( les structures?)
    Par autoin dans le forum Débuter
    Réponses: 4
    Dernier message: 04/04/2008, 22h36
  2. que fait ce programme java?
    Par freemasons dans le forum Langage
    Réponses: 5
    Dernier message: 17/01/2008, 17h45
  3. que fait ce programme?
    Par minen dans le forum C
    Réponses: 15
    Dernier message: 31/12/2006, 19h08
  4. Que fait ce programme de matrices ?
    Par Premium dans le forum C
    Réponses: 10
    Dernier message: 29/07/2006, 00h00
  5. Que fait ce programme ?
    Par babar56 dans le forum C
    Réponses: 32
    Dernier message: 16/01/2006, 22h31

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