前回の 0と1の列を8桁に揃えて16進数に置き換えてみました。そうするとマシン語と呼ばれているものになります。
出力:1000,0000 = 80
演算:0011,1000 = 38
入力:0111,1000 = 78
出力:1011,0000 = B0
演算:0000,1000 = 08
入力:0111,1000 = 78
桁は減りましたがまだただの数字なので覚え難いです。一目見てわかるような文字列に置き換えてみます。
80:OUTR
38:PASS
78:IN
B0:OUTA
08:AND
78:IN
命令のようになったので処理の流れが読めるようになってきました。
OUTR | 出力をレジスタにする |
PASS | 入力をそのまま出力する |
IN | 入力を外部入力とする |
OUTA | 出力をAとする |
AND | AND演算する |
IN | 入力を外部入力とする |
実際にROMに書き込むときはOUTRを逆に1000,0000に戻せば良いです。人間でもわかる単語で命令を順に記述し、それを2進数に置き換え、0は電圧をLowに、1は電圧をHighにしてROMに書き込みます。これこそがソフトウェアですね。