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 :

Programme avec l'heure qui s'actualise + questions débutant


Sujet :

x86 16-bits Assembleur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 9
    Par défaut Programme avec l'heure qui s'actualise + questions débutant
    Bonjour,

    Je me demandais si c'était possible d'écrire un programme assembleur avec l'heure qui s'actualise. J'en ai déjà écrit un mais qui affiche uniquement l'heure (non actualisée).

    Si quelqu'un a un code source je suis prenant pour l'analyser.

    J'aurais aussi aimé savoir comment identifier quel assembleur est utilisé dans un code. Il y a certains codes sources sur internet que j'aimerais faire fonctionner mais je ne sais que compiler en TASM et les autres sont dénués d'identificateur pour savoir à quel assembleur ils appartiennent et pouvoir utiliser l'assembleur adéquat.

    Également, existe-t-il une interruption qui attend une touche clavier pour interrompre le programme ? Par exemple j'affiche l'heure (en théorie, actualisée) et puis lorsque j'appuie sur une touche, ça s'arrête ou disparaît.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    Alors, pour les sources, il est dans le zip à https://sourceforge.net/projects/shaynoxhackos/, pour le clavier, il faut ouvrir le fichier "HackOS-3.0_(64bits).zip\nasm\1.ASM\HackOS\kernel.asm" et va à la fonction keywait(), pour l'heure "HackOS-3.0_(64bits).zip\nasm\1.ASM\HackOS\programme\void_Date().asm"

    Ces sources sont documentées.

    Ensuite, pour savoir comment identifier le type de syntaxe d'un assembleur, normalement comme tout code-source qui se respecte, il est suivi d'un build file, mais si tu n'en as pas il te faudra donc télécharger plusieurs compilateurs et le tester avec.

    De mémoire il y à fasm/masm/nasm/tasm/yasm/sasm/emu8086/... .

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

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

    Informations forums :
    Inscription : Janvier 2005
    Messages : 702
    Par défaut
    Bonjour,

    Effectivement, des questions de débutant (ok, on a tous commencé comme ça)
    Déjà, tu devrais nous dire sous quel environnement tu programmes, car les réponses peuvent varier d'un système à l'autre.

    Par exemple, pour afficher l'heure "actualisée" avec sur un système monotache comme DOS, tu as deux options :
    1 - c'est le programme principal, tu utilises ton écran comme une grosse pendule
    2 - c'est un programme résident, et tu affiches l'heure dans un coin pendant que le système continue de fonctionner comme si de rien n'était

    Dans le premier cas c'est un programme classique avec boucle interrompue par une touche
    Dans le deuxième cas, c'est un programme résident (d'un niveau bien supérieur)

    Pour savoir quel assembleur utiliser avec un code source... et bien tu vas devoir apprendre à le reconnaître tout seul
    En gros, il te faut apprendre les principales syntaxes des assembleurs (NASM, TASM, MASM, FASM...etc...)
    Ou du moins, quand tu auras trouvé "ton" assembleur, du premier coup d'oeil, tu sauras si c'est celui utilisé, et si ce n'est pas
    le cas, tu sauras faire les modifications

  4. #4
    Invité
    Invité(e)
    Par défaut
    Sinon oui, la question de l'environnement est importante, alors je dirais sois-tu travaille en x86 ou x64 mode.

    En mode 32, tu peux faire appel aux interruptions 16 bit du BIOS et des ports du CPU, en mode x64 des OS comme windows/Linux, tu ne peux pas faire appel aux int et in/out, sinon ça crash car environnement x64 protégé par l'OS.
    Et dans ce cas, tu dois faire appel aux fonctions de l'OS fourni pas des bibliothèques déjà installer comme la Windows API: https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx

    Mais cela ne veut pas dire qu'en mode x64, tu ne peux pas faire appel aux in/out, cela ne concerne que windows et peut-être Linux.

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 9
    Par défaut
    Je vous remercie pour vos réponses.

    Shaynox tes fichiers sont très intéressants malheureusement je ne code pas en 64 bits et j'ai très difficile à les exploiter.

    ça seras le programme principal, Il affichera genre l'heure qui tourne, puis à l'appui d'une touche ça s'arrêtera.

    je code sur tasm sur du 32 bits, j'ai vu qu'il y avait l'interruption 16h pour la touche en mémoire mais je n'arrive pas à l'exploiter, de toute manière je n'arrive pas à rafraichir l'horloge

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

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

    Informations forums :
    Inscription : Janvier 2005
    Messages : 702
    Par défaut
    Dans la même ligne tu écris "32 bits" et "int 16h"
    Et là déjà ça sent pas bon

    C'est du 32 bits pour win$ ? je ne suis pas sûr que TASM soit très indiqué pour faire
    des programmes win$ (je ne suis pas sûr de ce que j'avance)

    Pourrais-tu copier/coller ton programme ici qu'on puisse voir plus clair ?

Discussions similaires

  1. Select avec des heures qui s'incrémentent
    Par ConceptInterWEB dans le forum Langage
    Réponses: 2
    Dernier message: 13/01/2014, 03h36
  2. [AC-2003] table avec champ date qui affiche aussi l'heure
    Par benoitXV dans le forum Modélisation
    Réponses: 4
    Dernier message: 30/03/2010, 13h17
  3. Réponses: 5
    Dernier message: 13/02/2010, 18h54
  4. Réponses: 4
    Dernier message: 13/10/2007, 15h18
  5. [Dates] Problème avec date (heure qui varie)
    Par Death83 dans le forum Langage
    Réponses: 10
    Dernier message: 05/08/2006, 02h19

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