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 :

Compiler un jeu Snake dans DosBox


Sujet :

x86 16-bits Assembleur

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2013
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Compiler un jeu Snake dans DosBox
    Salut tout le monde

    Je suis débutant en Assembleur ; j'ai trouvé un code qui implémente le jeu Snake, mais je n'en sors pas ! Quand je le compile dans DosBox, j'ai beaucoup de messages d'erreur. Est-ce quelqu'un peut m'éclairer, je suis vraiment perdu ! J'ai mis le code en pièce jointe, merci d'avance.
    Fichiers attachés Fichiers attachés

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 368
    Points : 23 620
    Points
    23 620
    Par défaut
    Bonjour et bienvenue,

    Il faudrait déjà que tu nous dises avec quoi tu compiles, sous quel système d'exploitation, et surtout que tu copies-colles ici les messages d'erreur en question.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2013
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    je compile avec masm 611 je suis sur wimdows 8.1 j ai fais un screenshot de code erreur dans dosbox , mais vue que je veux faire tourner mon jeux sur dosbox le systeme d exploitation que j'ai sur mon pc ne change rien non ?
    Images attachées Images attachées  

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 368
    Points : 23 620
    Points
    23 620
    Par défaut
    Citation Envoyé par Aloxis Voir le message
    je compile avec masm 611 je suis sur wimdows 8.1 j ai fais un screenshot de code erreur dans dosbox , mais vue que je veux faire tourner mon jeux sur dosbox le systeme d exploitation que j'ai sur mon pc ne change rien non ?
    Je me demande s'il ne s'agit pas là d'un programme écrit pour TASM. Quoi qu'il en soit, tes erreurs en cascade semblent montrer qu'il est mal configuré à la base. Soit ton assembleur essaie de compiler en 32 bits un programme conçu pour être en 16, soit il a des problèmes avec la notation [es:bx] par exemple. Initialement, le segment se mettait à l'extérieur : « es:[bx] ».

    Regarde dans un premier temps si tu peux passer des options à MASM pour le faire travailler dans le bon mode. Si vraiment ça ne marche pas, tu peux toujours utiliser un assembleur récent comme NASM et suivre les indications de la page suivante pour produire un *.EXE pour DOS :
    http://www.nasm.us/doc/nasmdoc8.html

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2013
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Oke je vais essayer , et niveau code pck j'essayes de dechiffrer ce que le mec fait dans les code mais j'y comprends pas grand chose fin je connais juste les instructions de base en assembleur je me suis dit que j'apprendrais en regardant le code mais bon..... je comprends pas vraiment ce qui est fait dans le code tu peux m'eclairer ? Si ca te derrange pas biensure je sais que c'est quand meme 8 ligne de code

  6. #6
    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
    Bonjour,

    ligne 42 :
    ; Delay subroutine needs to be modifed according to dosbox and NASM clockcycles.....

    J'imagine que c'est du code pour NASM

    Ce code est assez bien documenté je trouve, même si je le trouve un peu compact à mon goût

    Le problème que tu vas avoir, c'est que connaître les instructions ne suffit pas, il faut connaître l'architecture de la machine (ici un pc compatible de base codé en 8086)
    Par exemple dans le sous-programme d'effacement de l'écran CLS, je vois la valeur B800h ce qui correspond au segment vidé en mode texte...


    Dis nous ce que tu ne comprends pas plutôt, il est plus facile de répondre à plusieurs petites questions précises plutôt que d'essayer de t'expliquer le
    programme dans son ensemble (même si tu pose 1 question par ligne c'est pas grave en soit )

    à plus
    François

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2013
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Salut j'ai chercher par comment convertir mon code Nasm en Masm et je l'ai mais il reste encore quelque erreur de syntax et des erreur que je ne comprends pas mais il y en a bcp moins mtn tu peux m'eclairer stp ?






    Citation Envoyé par Forthman Voir le message
    Bonjour,

    ligne 42 :
    ; Delay subroutine needs to be modifed according to dosbox and NASM clockcycles.....

    J'imagine que c'est du code pour NASM

    Ce code est assez bien documenté je trouve, même si je le trouve un peu compact à mon goût

    Le problème que tu vas avoir, c'est que connaître les instructions ne suffit pas, il faut connaître l'architecture de la machine (ici un pc compatible de base codé en 8086)
    Par exemple dans le sous-programme d'effacement de l'écran CLS, je vois la valeur B800h ce qui correspond au segment vidé en mode texte...


    Dis nous ce que tu ne comprends pas plutôt, il est plus facile de répondre à plusieurs petites questions précises plutôt que d'essayer de t'expliquer le
    programme dans son ensemble (même si tu pose 1 question par ligne c'est pas grave en soit )

    à plus
    François
    Images attachées Images attachées  

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2013
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    J'ai mis le code modifier en piece joint
    Citation Envoyé par Aloxis Voir le message
    Salut j'ai chercher par comment convertir mon code Nasm en Masm et je l'ai mais il reste encore quelque erreur de syntax et des erreur que je ne comprends pas mais il y en a bcp moins mtn tu peux m'eclairer stp ?
    Fichiers attachés Fichiers attachés

  9. #9
    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
    Je ne connais pas Masm (ni Nasm d'ailleurs) mais pourquoi ne pas avoir cherché des exemples "pour" Masm ?
    Ou ne pas avoir compilé avec Nasm ?

    En plus tout ça pour avoir un jeu tout moche en mode texte

  10. #10
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Je rejoins Forthman , en plus la prog de jeux vidéo n'a rien a voir avec assembleur (et s'il est en mode texte ça a encore moins intérêt), étudié ce code t'apprendra rien de plus a mon avis.
    Je conseillerai t’apprendre étape par étape , connaitre bien les instructions et le hardware et puis refaire les fonctions haut niveau (printf ect).
    Ensuite tout dépendra de ce que tu voudra faire

Discussions similaires

  1. Insertion d'une image dans mon jeu snake
    Par coachcharly dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/04/2012, 15h38
  2. [ancien jeu] Snake deux joueur en ligne?
    Par Extra-Nitro dans le forum Web
    Réponses: 7
    Dernier message: 28/02/2007, 18h59
  3. [mono] Compilation sous linux, erreur dans windows
    Par AlexandreP dans le forum Mono
    Réponses: 6
    Dernier message: 18/08/2006, 19h56
  4. Compilé un prg c++ dans Eclipse avec CDT
    Par wdionysos dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 10/07/2006, 13h50
  5. Erreur de compilation de winsock.h dans VC++2005
    Par Jakariba dans le forum MFC
    Réponses: 3
    Dernier message: 24/05/2006, 15h54

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