|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2008 Messages : 93 ![]() |
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. |
|
|
00
|
|
|
#2 |
|
Invité de passage
![]() Inscription : février 2008 Messages : 2 ![]() |
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' |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com