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

z/OS Discussion :

Codage table pour branchement programmé


Sujet :

z/OS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 111
    Par défaut Codage table pour branchement programmé
    Bonjour,

    J'ai une question relative au codage d'une table de branchements, dont je connais la technique, mais pour lequel il subsiste une interrogation.
    Trouvé sur Internet, je redonne le codage adopté ci-dessous qui fait intervenir 2 tables :

    Une table de connexion :

    TABLE1 EQU * ---Start of Branch table---
    B ERROR 00 = Invalid input value
    B ADD 04 = Input value was "A"
    B SUBTRACT 08 = Input value was "S"
    B MULTIPLY 12 = Input value was "M"
    * ---End of Branch table
    ERROR EQU *
    * print or display error message or similar
    ADD EQU *
    * perform addition and continue with rest of program
    B NEXT
    SUBTRACT EQU *
    * etc

    INPUT DS C The input character is in this byte.

    Et une table d'indexation de la première selon un caractère donné :
    'A' pour l'addition
    'S' pour la soustraction
    'M' pour la multiplication

    TABLE2 DC Al1(00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00) X'00'-X'10'
    DC Al1(00,00,00,00,00,00,00,00,00,00)00,00,00,00,00,00) ...
    DC Al1(00,00,00,00,00,00,00,00,00,00)00,00,00,00,00,00)
    DC Al1(00,00,00,00,00,00,00,00,00,00)00,00,00,00,00,00)
    DC Al1(00,00,00,00,00,00,00,00,00,00)00,00,00,00,00,00)
    DC Al1(00,00,00,00,00,00,00,00,00,00)00,00,00,00,00,00)
    DC Al1(00,00,00,00,00,00,00,00,00,00)00,00,00,00,00,00)
    DC Al1(00,00,00,00,00,00,00,00,00,00)00,00,00,00,00,00)
    DC Al1(00,00,00,00,00,00,00,00,00,00)00,00,00,00,00,00)
    DC Al1(00,00,00,00,00,00,00,00,00,00)00,00,00,00,00,00)
    DC Al1(00,00,00,00,00,00,00,00,00,00)00,00,00,00,00,00)
    DC Al1(00,00,00,00,00,00,00,00,00,00)00,00,00,00,00,00)
    DC Al1(00,04,00,00,16,00,00,00,00,00,00)00,00,12,00,00) x'C0' - X'CF' (04 is at offset X'c1')
    * etc

    Ma question :
    Pourquoi définir la seconde table avec DC AL1 au lieu d'un DC XL1 ?
    Quel est l'intérêt d'utiliser une constante d'adresse ?

    Merci.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Février 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 11
    Par défaut
    bonjour,

    au niveau mémoire un DC AL1 et un DC XL1 occupent le même espace (un octet)
    mais la ligne ci dessous :

    DC Al1(00,04,00,00,16,00,00,00,00,00,00,00,00,12,00,00)

    est plus facile à lire à coder et à maintenir que les définitions suivantes
    qui sont toutes équivalentes


    DC XL1'00',XL1'04',XL1'00',XL1'00',XL1'16',XL1'00',XL1'00',XL1'00',XL1'00',XL1'00',XL1'00',XL1'00',XL1'00',XL1'12',XL1'00',XL1'00'

    DC X'00',X'04',X'00',X'00',X'16',X'00',X'00',X'00',X'00',X'00',X'00',X'00',X'00',X'12',X'00',X'00'

    ( de plus, les 2 lignes ci-dessus ne tiennent pas sur 72 colonnes, il faudrait les coder sur 2 lignes)

    DC X'00040000160000000000000000120000'

    DC XL16'00040000160000000000000000120000'

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/08/2006, 10h59
  2. Sujet pour un programme en POO?
    Par dreamanoir dans le forum Langage
    Réponses: 6
    Dernier message: 28/01/2005, 19h18
  3. Nom de Champ dans une table pour utiliser For/Next
    Par Mulele dans le forum Access
    Réponses: 6
    Dernier message: 30/10/2004, 13h28
  4. Comment créé une "interface" pour mes programmes??
    Par alcazar dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 09/02/2004, 13h02
  5. [LG]Divers problémes pour un programme.
    Par Horus TCT dans le forum Langage
    Réponses: 14
    Dernier message: 24/05/2003, 23h04

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