6. Étape 6: Récapitulons : le jeux d'instructions et le langage assembleur

Dans la prochaine séance, nous construirons d'une manière pratique le nanoprocesseur. Pour préparer cette séance, attardons nous sur son jeu d'instruction et la notion de langage assembleur.

Le jeu d'instruction du nanoprocesseur

Le jeu d'instruction exact du processeur que nous étudierons est accessible à la page suivante:  Le jeu d'instructions du nanoprocesseur

Prenons la peine, d'examiner en détail ce jeu d'instruction, et l'usage qui peut être fait de chaque instruction.

Le langage assembleur

Dans les différentes étapes, nous avons eu l'occasion de décrire des programmes simples pouvant être exécutés par le nanoprocesseur. La version humainement lisible de tels programmes s'appelle le "langage assembleur". Ce type de langage est propre à chaque type de processeur puisque directement dépendant caractéristiques des processseurs. Néamoins tous les langages assembleurs ont un certain nombre de caractéristiques communes. Dans notre cas, les caractéristiques sont les suivantes

  1. Chaque ligne correspond à une instruction
  2. Chaque ligne comprend plusieurs champs:
    1. Une étiquette éventuelle permettant d'associer un mnémonique à une adresse particulière dans un programme.
    2. Le mnémonique de l'instruction
    3. L'adresse de l'argument de l'instruction, qui peut être elle même représentée par un mnémonique, un nombre, ou éventuellement une expression arithmétique simple
  3. Enfin, pour définir des zones de données, nous disposons d'une "directive" (.db pour define byte)

Ainsi, écrit, un tel langage peut être traité automatiquement pour générer le code binaire du programme devant être traité par le nanoprocesseur. 

Prenons la peine d'examiner tout d'abord  le programme de test du nanoprocesseur qui teste chacune des instructions, ainsi que le programme musical qui servira à la démonstration finale.