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 :

Écrire en assembleur un panneau de signalisation routière pour 8086


Sujet :

x86 16-bits Assembleur

  1. #1
    Futur Membre du Club
    Homme Profil pro
    electronique
    Inscrit en
    Juillet 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : electronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4
    Par défaut Écrire en assembleur un panneau de signalisation routière pour 8086
    bonjour à tous(tes) je suis nouveau sur ce forum! au faite j ai une urgence; j"ai un TP en asm à déposer ce vendredi, il consiste à faire un panneau de signalisation routiere utilisant un processeur 8086, si vous pouvez m"aidé avec la programmation en asm ça serait chouette vu que j'en suis débutant...merci à vous

  2. #2
    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
    C'est fou le nombre de profs qui demandent des trucs impossibles à des élèves qui n'ont jamais reçu un seul cours d'assembleur avant

  3. #3
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 515
    Par défaut
    Citation Envoyé par mlenchanteur Voir le message
    j"ai un TP en asm à déposer ce vendredi, il consiste à faire un panneau de signalisation routiere utilisant un processeur 8086,
    C'est-à-dire ?

    Tu dois dessiner un panneau sur l'écran d'un PC avec MS-DOS ou tu dois concevoir un vrai panneau « intelligent » à installer sur le bord d'une route et dont les fonctions seraient pilotées par un 8086 ?

    Dans le deuxième cas, on aura besoin d'un peu plus d'infos, comme les spécifications de la platine que tu utilises et, surtout, les fonctionnalités attendues de ce panneau.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    electronique
    Inscrit en
    Juillet 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : electronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4
    Par défaut
    merci de l'attention... voilà, il n'est question de réaliser un circuit eln mais juste "de simuler" le fonctionnement dudit panneau à l'aide du µproc 8086(un genre de grafcet) ... j'ai pensé à réaliser un ordinogramme à l'aide d'un logiciel du genre flowcode et en compiler en asm, sauf qu'il n'y en a pas pr le 8086...

  5. #5
    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
    J'imagine que si c'est juste pour simuler tu n'as pas besoin d'attaquer des ports I/O, et que le changement de valeur d'un octet/bit...etc... suffit.

    Mais... ton panneau il doit faire quoi ?

  6. #6
    Futur Membre du Club
    Homme Profil pro
    electronique
    Inscrit en
    Juillet 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : electronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4
    Par défaut
    Citation Envoyé par Forthman Voir le message

    Mais... ton panneau il doit faire quoi ?
    Au faite le TP tel qu'il est donné est ainsi:
    Ecrire en assembleur, un programme qui simule le fonctionnement d'un panneau de signalisation en se basant sur un µprocesseur 8086:
    le panneau doit s'allumé dans cette ordre: rouge(une temporisation de 25s)- jaune(une temporisation de 10s)-rouge(une temporisation de 25s);
    instruction de transfert 20µs, instruction de saut, logique et arithmetique 30µs, instruction de branchement 70µs et instruction spéciale 50µs.

    Je précise que je suis nul en assembleur ...

  7. #7
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 515
    Par défaut
    Ok, donc, tu dois piloter une platine imaginaire en allumant ou éteignant les bonnes lumières et pour faire les temporisations, tu utilises la longueur des instructions, qui ne te sont pas données en nombre de cycles machines mais directement en micro-secondes. Admettons.

    Tu dois également disposer d'une autre information : les ports d'entrée-sortie dont on te parlait ci-dessus. Autrement dit : à quelles adresses il faut écrire pour allumer ou éteindre les bonnes lampes.

  8. #8
    Futur Membre du Club
    Homme Profil pro
    electronique
    Inscrit en
    Juillet 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : electronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4
    Par défaut
    après avoir relu la question nul part il est fait mention de ces fameux I/O...est ce les données du problème sont incomplètes?

  9. #9
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 515
    Par défaut
    Probablement. Il n'y pas d'instruction « AllumeLampe » en assembleur, ni même dans les autres langages avant qu'on la définisse.

    Soit, on t'a filé une bibliothèque de fonctions avec des points d'entrée précis, soit tu as des spécifications « implicites » dans lesquelles il faut aller chercher, soit on t'a dit d'une manière ou d'une autre à partir de quelle situation on considère que la lampe est allumée.

    À moins que ton professeur s'attende à ce que tu fasses simplement un appel à la bonne routine, du style « CALL red_on », « CALL red_off », « CALL yellow_on », « CALL yellow_off ». Il faut lui poser la question (et lui demander aussi dans quelle catégorie il range ces instructions).

  10. #10
    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
    C'est clairement plus un problème de Maths qu'un problème d'informatique

    Le but étant de créer un sous-programme de temporisation précis suivant les
    informations qui sont données

    genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    mov ax,25 ; temporisation de 25 secondes
    call temporis
    ...
    ...
    ...
    temporis:
      mov cx,nnn
      boucle_interne:
        loop boucle_interne
      dec ax
      jnz temporis
    ret
    Il faut remplacer nnn par la bonne valeur calculée suivant les données de l'exercice.
    Donc là c'est plus de l'assembleur mais des Maths

    à+ François

  11. #11
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 515
    Par défaut
    On est d'accord, mais il faut inclure en principe les appels à l'allumage de la lampe dans la boucle pour en calculer sa durée exacte (à moins qu'on les considère comme négligeables).

  12. #12
    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
    effectivement j'ai zappé ce détail (et je pense qu'il a son importance)

  13. #13
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 25
    Par défaut
    Salut,
    Manque tous de même quelques données sur le hardware.
    Les lampes sont-elles raccordée sur un PPI style 8255.
    Dans ce cas, tu dois initialiser le 8255 en mode sortie (Adresse A0).
    Pour allumer, tu fais mov [dx],0x01 ; lampe sur port A bit 0 et Dx adresse PPI port A
    Pour éteindre: mov [dx],0;
    Boucle temp: soir un timer 8253, soit une boucle citée ci-dessus.
    En résumé:
    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
     
    debut:
    call Init_Stack ;placement de la pile Stack
    call Init_PPI    ;Mode Output pour les lampes
    debut_Prov:   ;Label de la boucle
    mov al,0x01    ;lampe verte
    mov dx,Port_Lampe; Vert= bit 0  Orange = bit 1 Rouge = bit 2
    mov [dx],al    ;Allume la lampe verte
    mov ax,0xFF  ;Tempo
    call Temp
    mov al,0x02  ;allume orange et eteind verte
    mov [dx],al
    mov al,0x50
    call Temp_Clignotte ; clignottement de la lampe orange
    mov al,0x04 ;Allume la rouge  (bit 2)
    mov [dx],al
    call temp
    jump debut_Proc
    Voila en gros la gestion

Discussions similaires

  1. reconnaissance panneau de signalisation
    Par abdessamad4500 dans le forum OpenCV
    Réponses: 1
    Dernier message: 13/03/2014, 12h49
  2. [Google Maps] distance routière pour plusieurs destinations
    Par lolidj dans le forum APIs Google
    Réponses: 6
    Dernier message: 15/06/2012, 12h38
  3. Réponses: 0
    Dernier message: 08/05/2009, 18h39
  4. Trouver le meilleur agencement de points lumineux pour un panneau de signalisation
    Par Rodrigue dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 07/01/2009, 10h21
  5. Symboles de la signalisation routière
    Par saddamtohmto dans le forum Débuter
    Réponses: 5
    Dernier message: 12/04/2008, 18h59

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