Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4
  1. #1

    Homme Profil pro lam lam
    Inscrit en
    mai 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Nom : Homme lam lam
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : mai 2012
    Messages : 2
    Points : -2
    Points
    -2

    Par défaut Programmation en assembleur 8086

    slt à tous. je suis un débutant en assambleur 8086. je vous sollicite afin ke vous puissez m'aider à écrire un p'ti programm en assembleur. le sujet s'intitule comm suit:

    programme à écrire:

    on entre une note (nombre < 20)
    si note > 12 alors afficher 'admis'
    si note < 8 alors aficher 'redouble'
    si note > 8 et < 12 alors afficher 'test de rattrapage'

    aider moi, car lorsque j'écri le programm ,il me dir saisir un nombre .lorsqu je saisie le nombre ,ok1 résultat et le programm pren fin.

  2. #2
    Membre Expert
    Avatar de MarieKisSlaJoue
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    mai 2012
    Messages
    480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : mai 2012
    Messages : 480
    Points : 1 185
    Points
    1 185

    Par défaut

    Salut,

    Il faut que tu donne le code que tu à déjà fait, surtout la partie qu'il ne fonctionne pas. ça nous permettra de voir l'erreur que tu as pu faire et te la corrigé. Parce que à part te dire que tu dois vérifier tes conditions on ne peux pas faire grand chose.

  3. #3

    Homme Profil pro lam lam
    Inscrit en
    mai 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Nom : Homme lam lam
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : mai 2012
    Messages : 2
    Points : -2
    Points
    -2

    Par défaut assambleur 8086

    wè t'as raison . voici le code

    Code :
    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
    <<
    DOSSEG				; modèle de segmentation du DOS
     
    .MODEL	SMALL			; petit modèle de mémoire
     
    .STACK	100H			; 100H=256 octets pour la pile
     
    Data segment
    msg db "saisir caractere" , 13,10, "$"
    msg1 db "le caractere saisi: ", 13,10, "$"
    Data ends
    pile segment stack
    db 80 dup (?)
    pile ends
    code segment
    assume CS: code, DS: Data, SS: pile
     
    main :
    mov ax, Data
    mov ds, ax
    mov ax, pile
    mov ss, ax
    mov cx, 1
     
    mov DX, offset msg
    mov AH,09 ; saisie
    int 21h ; le caractère lu arrive dans AL
    mov DL,AL
    mov AH,7
    int 21h
    mov ah,al
     
    mov AH, 4ch
    int 21h
     
    mov DX, offset msg1
    mov AH, 09
    int 21h
    mov DL, AH
    int 21h
     
    mov AH, 4ch
    int 21h
    code ends
    end main
    >>
    le programme affiche : saisir un caractère. lorsque je saisie il ne fai pus rien.
    merci d'avance pr ton aide

  4. #4
    Expert Confirmé Sénior
    Profil pro
    Développeur informatique
    Inscrit en
    novembre 2006
    Messages
    4 842
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2006
    Messages : 4 842
    Points : 6 241
    Points
    6 241

    Par défaut

    Citation Envoyé par lamtey Voir le message
    on entre une note (nombre < 20)
    si note > 12 alors afficher 'admis'
    si note < 8 alors aficher 'redouble'
    si note > 8 et < 12 alors afficher 'test de rattrapage'

    aider moi, car lorsque j'écri le programm ,il me dir saisir un nombre .lorsqu je saisie le nombre ,ok1 résultat et le programm pren fin.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    mov ax,12
    cmp ax,note_rentree ; doit etre dans le registre AH ou AL apres appel interrup
    jg afficher_admis
    mov ax,8
    cmp ax,note_rentree 
    jl afficher_redouble
     
    ; note sup a 8 et inf a 12
    mov dx,message_test_rattrapage
    mov AH,09
    int 21h
    ret ; ou bien code ends
    afficher_admis:
    mov dx,message_admis
    mov AH,09
    int 21h
    Citation Envoyé par lamtey Voir le message
    aider moi, car lorsque j'écri le programm ,il me dir saisir un nombre .lorsqu je saisie le nombre ,ok1 résultat et le programm pren fin.
    les interruptions du DOS c.a.d. 21h je ne m'en souviens plus trop bien.
    Mais si tu as des problèmes c'est que tu appelles les mauvaises , tu charges les mauvaises valeurs dans AH et AL.
    Attention à la saisie clavier de saisir les bons caractères si caractère est compris entre 0 et 9
    Tu dois faire une comparaison avec cmp ( mais il y a aussi une instruction de comparaison et de saut ) et avec jl ou jg pour aller vers une étiquette qui va t'afficher un message d'erreur de saisie

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •