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

x86 16-bits Assembleur Discussion :

[TASM] Comment afficher un message après 5 secondes ?


Sujet :

x86 16-bits Assembleur

  1. #1
    S.H
    S.H est déconnecté
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 122
    Points : 31
    Points
    31
    Par défaut [TASM] Comment afficher un message après 5 secondes ?
    Salut à tous
    Ce programme affiche Bonjour sur l'écran.
    Ma question est : comment laisser le programme afficher le message après 5 secondes ?
    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
     
    data            segment 
    Msg               db              'Bonjour$' 
    data            ends  
    code        segment 
    main         proc 
                   assume       ds:data,cs:code 
                   mov            bh,0         ; nombre de pages
                   mov            dh,12       ; nombre de ligne
                   mov            dl,40        ; numéro de la colonne
                   mov            ah,02h 
                   int              10h 
                   lea              dx,Msg
                   mov            ah,09h 
                   int              21h 
                   mov            ah,4ch 
                   int              21h 
    main         endp 
    code        ends 
                  end             main

  2. #2
    Membre confirmé Avatar de dapounet
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 469
    Points : 567
    Points
    567
    Par défaut
    Essaie ça : http://www.ctyme.com/intr/rb-1525.htm
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    mov ah, 0x86
    mov cx, 0x004C  ; 0x4C4B40 = 5000000 en décimal
    mov dx, 0x4B40  ;
    int 0x15
    Ça fonctionne avec DOSbox mais pas sous XP SP2.
    :wq

  3. #3
    S.H
    S.H est déconnecté
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 122
    Points : 31
    Points
    31
    Par défaut
    merci beaucoup dapounet
    mais le code un peux compliqué
    mais je crois avec int 21 fonction 2ch avec l'utilisation de LOOP mais comment je ne sais pas

  4. #4
    Membre confirmé Avatar de dapounet
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 469
    Points : 567
    Points
    567
    Par défaut
    Tu peux faire comme ça alors mais c'est pas vraiment moins compliqué :
    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
            mov ah, 0x2C
            int 21h
     
    ; On met dans BH le nombre de secondes que retournera la fonction 2C quand cinq
    ; secondes se seront écoulées
            mov bh, dh
            cmp bh, 55
            jae .overflow
     
            add bh, 5
            jmp .attendre
     
    .overflow:
            sub bh, 55
     
    .attendre:
            int 21h
            cmp dh, bh
            jne .attendre
    :wq

  5. #5
    Membre chevronné
    Avatar de Forthman
    Homme Profil pro
    conception mécanique
    Inscrit en
    Janvier 2005
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 702
    Points : 1 905
    Points
    1 905
    Par défaut
    Si ton prog est destiné à etre utilisé sur une machine sans OS,
    (donc sans INT 21h du DOS)
    tu peux utiliser une fonction du BIOS :

    CX:DX = valeur en µs
    AH=86h
    INT 15h

    Pour une pause de 5s tu aura donc 5000000 à placer dans CX:DX soit
    CX=76 (decimal)
    DX=19264 (decimal)

    Je sais que cette fonction du BIOS ne fonctionne pas sous XP (mais je ne sais pas pourquoi :roll: )
    A tester sous un emulateur ...

    a+ Francois

  6. #6
    S.H
    S.H est déconnecté
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 122
    Points : 31
    Points
    31
    Par défaut
    merci beaucoup

  7. #7
    S.H
    S.H est déconnecté
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 122
    Points : 31
    Points
    31
    Par défaut
    salut a tous
    Je voulais développer mon programme.mais je ne sais pas ou le problem?
    mon programme s'affiche un scroll texte
    voici le code
    Fichiers attachés Fichiers attachés

  8. #8
    S.H
    S.H est déconnecté
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 122
    Points : 31
    Points
    31
    Par défaut
    Salut à tous
    Le texte ça marche bien mais il reste un problème. Quand le temp égale 60 secondes le texte est arrêté.
    Quelqu'un me dit pourquoi, j'ai essayé plusieurs fois avec plusieurs codes mais le même problème reste.
    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
    data            segment 
    msg               db              'Bonjour$' 
    s                 db              0
    c                 db              70
    data            ends  
    code           segment 
    main           proc 
                   assume         ds:data,cs:code 
                   mov            ax,data  
                   mov            ds,ax
    
    repeat:
            mov  ah,2ch
            int  21h
            cmp  dh,60
            je   x
            add     dh,1
            mov  byte ptr[s],dh
            jmp  time
    x:
    mov  byte ptr[s],1 ; toujour ici le problem 
    
    time:
            mov   ah,2ch
            int   21h
            cmp   dh,s
            jl    time
    
            mov   ah,06h           
            mov   al,01h 
            mov   bh,0eh      
            mov   ch,13       
            mov   cl,10       
            mov   dh,13      
            mov   dl,c        
            add   dl,7           
            int   10h
            mov   bh,0     ; LE NUMERO DE LA PAGE
            mov   dh,13   ;le numero de la ligne 
            mov   dl,c     ;le numero de la colonne
            mov   ah,02
            int   10h 
            lea   dx,msg
            mov   ah,9 
            int   21h 
            dec   byte ptr[c]
            cmp   byte ptr[c],10
            jg    repeat
            mov   ah,4ch 
            int   21h 
    main    endp 
    code    ends 
            end   main
    Fichiers attachés Fichiers attachés
    • Type de fichier : rar MSG.rar (235 octets, 73 affichages)

  9. #9
    S.H
    S.H est déconnecté
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 122
    Points : 31
    Points
    31
    Par défaut
    Y at-il quelqu'un peut m'aider?

Discussions similaires

  1. Réponses: 12
    Dernier message: 17/02/2008, 13h53
  2. Comment afficher un message durant quelques secondes?
    Par slyfer dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 09/12/2007, 16h24
  3. [Struts] Comment afficher des messages de confirmation
    Par vallica dans le forum Struts 1
    Réponses: 8
    Dernier message: 28/04/2006, 14h25
  4. Réponses: 12
    Dernier message: 03/11/2005, 18h45
  5. comment affiché un message d'erreur
    Par djouahra.karim1 dans le forum Bases de données
    Réponses: 5
    Dernier message: 23/11/2004, 12h12

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