ram_1portは、clk_exではなくソースクロックで更新しているので、値は書き込みなり読み出しなりが常に実行されていて、その値はram_1portからダダ漏れしている。
RAMアドレスが64、write enableがHiであるときだけ、execモジュールから渡された値をclk_exのタイミングでOUTポートへ出力する。
RAMへのデータの出し入れ、INポートからの読み込み、OUTポートからの書き出しをテストする。
(省略) # INポートからレジスタに何か値を読み込んで、 _[(ad := ad+1)] = _in(TMP0) # それをRAM0番地に入れて、 _[(ad := ad+1)] = st(TMP0, ram[0]) # RAM63番地に何か値を入れて、 _[(ad := ad+1)], \ _[(ad := ad+1)] = ld_hl(TMP0, 60000) _[(ad := ad+1)] = st(TMP0, ram[63]) # RAM0番地に入っている値をレジスタに持ってきて、 _[(ad := ad+1)] = ld(TMP0, ram[0]) # RAM63番地に入っている値をレジスタに持ってきて、 _[(ad := ad+1)] = ld(TMP1, ram[63]) # 足し合わせて、 _[(ad := ad+1)] = add(TMP0, TMP1) # LCDに表示する。 _[(ad := ad+1)] = mov(VAL, TMP0) (省略)