Nos plus fidèles lecteurs se souviennent probablement de notre série d'initiation au langage machine, publiée dans les numéros 5 à 9 de SVM. Cette série était accompagnée d'un logiciel d'apprentissage, qui simule le fonctionnement d'un microprocesseur programmé en assembleur. L'éditeur Ere Informatique commercialise désormais cet ensemble Ordidactic, avec un copieux livret reprenant les articles d'Emmanuel Sartori parus dans SVM. La même cassette renferme des versions du programme destinées aux ordinateurs les plus répandus : Amsrad, Oric-Atmos, Commodore 64, Thomson TO 7-70 et M05 ,'MSX' , Sinclair ZX81 et Spectrum.L'assembleur vous fait encore peur? On n'en finit pourtant plus d'énumérer les avantages de ce dialogue direct avec le micro-ordinateur. Beaucoup moins gourmand en mémoire, incroyablement plus rapide, il est le mieux à même de tirer totalement parti des possibilités d'une machine. En l'occurrence, il n'y a aucun mystère : les meilleurs programmes de jeux, c'est-à-dire les plus riches, les plus beaux, les plus intelligents, sont tous écrits en assembleur. C'est la manière la plus simple de « parler » à un ordinateur sans interprète. Notons à ce sujet qu'on emploie souvent improprement le terme de langage machine pour désigner l'assembleur. Ce sont deux choses différentes. Le langage machine, bien que parfois utilisé par certains professionnels, est effroyablement fastidieux, car exclusivement composé de nombres binaires ou hexa-décimaux. L'assembleur, lui, offre des instructions et des variables. Il est donc beaucoup plus pratique à utiliser. Cependant, plus long à programmer que le Basic, moins « naturel » , il est souvent considéré comme un langage de spécialiste. De plus, il n'existe aucun standard en la matière. Chaque microprocesseur a son propre jeu d'instructions, chaque ordinateur a des routines particulières. Ce sont ces obstacles qu Ordidactic prétend lever. Tout d'abord, en démontrant que l'apprentissage de l'assembleur n'exige pas un investissement intellectuel plus grand que n'importe quel autre langage ; ensuite, en dégageant de la diversité des langages d'assemblage le tronc commun qui permettra par la suite à chacun de passer aux applications réelles sur des matériels spécifiques. Pour y parvenir, Ordidactic s'appuie sur trois idées : un microprocesseur imaginaire au jeu d'instructions simplifié, la représentation à l'écran de ses divers éléments (compteur, accumulateur, registres, pile machine) et de leur contenu, et enfin l'exécution ligne par ligne du pseudo-programme en assembleur que l'on aura écrit. Grâce à ce dernier point, une série d'opérations effectuée habituellement en quelques fractions de seconde sera décomposée pas à pas, en montrant l'évolution du travail dans le cœur de notre microprocesseur imaginaire baptisé S001, et les modifications qui se produisent dans les registres, la mémoire, etc. Dans la pratique, un menu général donne accès à cinq fonctions principales : saisie du programme, exécution pas à pas, exécution normale, lecture et sauvegarde de programmes, remise à zéro. Les mnémoniques de l'assembleur Ordidactic, c'est-à-dire les instructions de base comprises par le S001, sont au nombre de dix-sept, et bénéficient de quatre modes d'adressage différents (la manière de manipuler les données : directe, indirecte, immédiate ou implicite). Des possibilités certes réduites, mais qui permettent sans simplisme d'entrevoir les fantastiques possibilités du langage machine. Toutes les étapes de l'initiation sont bien sûr disséquées et expliquées dans le manuel qui reprend les articles publiés il y a deux ans dans SVM. De plus, le programme est écrit en Basic (mais oui !), il n'est pas protégé et autorise donc toutes les modifications, transformations et améliorations que chacun désirera apporter, y compris naturellement l'introduction de routines en langage machine ! Yann GARRET, S&V
|