2021-01-22から1日間の記事一覧

HLT命令を74シリーズで実装する

halt命令。これで全16命令が一往実装できた。 /ホーるトゥ/

ST命令を74シリーズで実装する

汎用レジスタの値をRAMへ格納する命令。

LD命令を74シリーズで実装する

RAMからレジスタへデータを持ってくる命令。

JMP命令を74シリーズで実装する

PCを強制的に書き換える命令。

JE (jump if equal)命令を74シリーズで実装する

CMP_FLAGがHiのときにはPCを即値で書き換える。 CMP_FLAGがLoのときにはPCをカウントアップする。

CMP (比較)命令を74シリーズで実装する

74シリーズにコンパレーターはいくつかあるがここでは74684を使うことにする。 OP_CODEが10のときに2つの16ビットレジスタが同士が一致したらコンペアフラグが立つ。それ以外のOP_CODEのときは出力がオフになる。

LDL命令(2バイトのうち下位バイトを書き換え)およびLDH命令(2バイトのうち上位バイトを書き換え)を74シリーズで実装する

まずLDLを実装する。 次にLDHを実装する 2つを組み合わせる。 以下の2つを確かめる。 OP_CODEが8のときに下位バイトだけが書き換えられること。 OP_CODEが9のときに上位バイトだけが書き換えられること。 0xFFFFの下位バイトを0xAAで書き換える。 0xFFFFの上…

SL (左シフト)、SR (右シフト)、SRA (算術右シフト)の各命令を74シリーズで実装する

まずSL、SR、SRAをそれぞれ実装する。 SL: SR: SRA: 全部組み合わせる。 以下の3つを確かめる。 OP_CODEが5のときに左に1ビットシフトすること。 OP_CODEが6のときに右に1ビットシフトすること。 OP_CODEが7のときに、全体が右に1ビットシフトするが、最上位…