Quels sont les composants que nous serons en train d'utiliser? Nous avons mentionné comme étant des registres où les données en cours de travail est stocké. L'un d'eux est le programme ou vous inscrire P. Il s'agit essentiellement d'une série de flip-flops, un pour chaque «bit» de l'instruction. Différents bits de ce registre sont ensuite décodées pour voir ce que l'instruction a à faire, par exemple un module complémentaire ou un test de 0.
D'autres registres seront utilisés pour stocker des données d'être ajoutée, et pour le résultat, ils pourraient aussi être pour les données à envoyer à un disque ou un lecteur de bande.
Nous allons regarder un programme simple pour calculer l'aire d'un rectangle. Nous pouvons utiliser toutes les dimensions en utilisant ce programme, nous allons utiliser 3x4 à des fins d'illustration. Pour cet exemple, nous avons seulement 5 des instructions, nous pouvons utiliser, un complément, un soustraire, un magasin, une succursale ou d'un arrêt. L'arrêt n'est pas strictement une instruction normale, mais sert le but ici.
Le programme est en mémoire de l'emplacement partir de zéro et ressemble à ceci: --
(0) 000 - 000 011 000 STORE
(1) 001 - 000 100 001 STORE
(2) 010 - 001 000 010 Ajoutez
(3) 011 - 010 001 001 SOUSTRACTION
(4) 100 - 011 001 010 DIRECTION
(5) 101 - 100 000 000 STOP
Le format de ces instructions, ou la façon dont les bits sont disposés, détermine ce que l'instruction fait, et quelles sont les données qu'il utilise. Nous utilisons un format conçu pour cette illustration. Par exemple, voici une instruction ADD
001 001 010
Les trois premiers bits sont le «commandement», ou ce que l'instruction ne. 001 est décodé comme un complément. Le reste de l'instruction nous dit ce qu'il faut ajouter. Les trois suivants sont l'adresse du registre à ajouter. Les trois derniers bits sont le registre à ajouter à. Cette instruction aura le contenu du registre 000 et les ajouter au contenu du registre 010. Le résultat sera placé dans le registre 010.
Comment pouvons-nous obtenir des données dans les registres 000 et 001? Nous avons une instruction STORE. Cette fois, le format est: --
000 011 000
Une fois de plus les 3 premiers bits sont la commande - STORE. Les 3 bits suivants sont les données, décimal 3 dans ce cas, les trois derniers sont ceux où le stocker - dans le registre 0. Nous mettrons décimal 3 dans le registre 0.
L'instruction SUBTRACT nous demande de soustraire une valeur, dans ce cas 1, à partir du contenu de registre 1. Le résultat va dans le registre 1. (Un bit supplémentaire n'est pas représenté ici dirait à la logique de décoder le littéral, ou effective, la valeur de 1 plutôt que l'adresse d'un registre).
L'instruction de branchement est ce qui rend les programmes capables de choses puissante, c'est un décideur. Le format est
011 001 010
Les 3 premiers morceaux sont interprétés comme une instruction de branchement et de permettre la logique de décoder le reste de l'instruction. les 3 bits suivants représentent l'adresse d'un registre à l'essai, et les 3 derniers bits d'une adresse en mémoire pour être utilisée pour obtenir l'instruction suivante si le test n'est pas remplie. Différents tests sont possibles, dans ce cas, nous testons pour 'non 0'.
L'étude STOP est utilisé ici pour cette illustration uniquement, normalement le programme se poursuivra.