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

Turbo Pascal Discussion :

Emploi de byte absolute $f000:$fffe [Turbo Pascal]


Sujet :

Turbo Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 167
    Billets dans le blog
    9
    Par défaut Emploi de byte absolute $f000:$fffe
    Bonjour !

    J'étudie en ce moment un programme de jeu d'échecs en Turbo Pascal. Parmi les variables globales il y a celle-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      id: byte absolute $f000:$fffe;
    La variable n'est utilisée qu'une seule fois dans le programme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        if (id=252) or (id=248) then
        begin
          profondeur:=3;
          profondeurMax:=5;
        end;
    Il s'agit apparemment d'augmenter la profondeur de la recherche, puisque les variables profondeur et profondeurMax sont initialisées à des valeurs inférieures au moment de leur déclaration :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      profondeur: byte = 2;
      profondeurMax: byte = 4;
    Qui pourrait me dire à quoi correspond cette variable ?

  2. #2
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 466
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 466
    Par défaut
    Bon en fouillant dans mes souvenirs... La zone pointée par F000:0000 est la zone ROM de la carte mère, où on trouve plein d'infos intéressantes, comme le type de PC.

    Trouvé sur le web: http://objectmix.com/asm-x86-asm-370...ial-model.html

    En gros, dans le programme, est checké le modèle de PC. Si c'est un modèle récent (pour l'époque), donc probablement plus de mémoire et plus de CPU, on augmente le degré de recherche.

    Autant dire que ce code de nos jours ne peut plus fonctionner dans un environnement protégé (à partir de Windows 95, enfin là c'était encore assez permitif héhé, on va dire windows NT/XP). Même si ca marchait à l'époque, ca relevait plus du bricolage (certes intéressant).

    [EDIT] Encore ici : http://webpages.charter.net/danrolli...hhelp/0093.HTM [/EDIT]

  3. #3
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 167
    Billets dans le blog
    9
    Par défaut
    Merci pour la réponse.

    Sachant cela, je pense que je vais tout simplement supprimer la variable. J'aime autant avoir une force de jeu constante, et un code plus "universel".

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Le grand mode d'emploi du forum, à lire si vous souhaitez tout savoir !
    Par Anomaly dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 2
    Dernier message: 03/06/2013, 17h36
  2. [C#] Conversion d'un byte[] en byte *
    Par karsh dans le forum Windows Forms
    Réponses: 6
    Dernier message: 08/12/2004, 10h53
  3. Réponses: 19
    Dernier message: 14/08/2003, 11h37

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