現在地

コメントを追加

 プログラミング言語AWK第二版がでた記念に、AWKで簡易アセンブラを書いてみました。
 まだ170行しかなくラベルすら使えませんが、拡張機能のない素のAWKでも動くはず。
 
https://d.kuku.lu/srd3msype

 今岡氏のDL166(https://monoist.itmedia.co.jp/mn/series/33743/)を参考にCPU自体も書き換え160行まで減らしました。
 ステージデコードを簡略化し、回路規模と実行サイクルも削減。そのため、INX DCXとCLC SECのオペコードを入れ替えました。
 新旧ブロック図を見比べると一目瞭然。

2clk NOP HLT CLC SEC XCH Bcc Jcc
3clk INX DCX ROR RRC ROL RLC XOI ANI ORI ADI LDI LDX STX XOR AND ORR ADC LDA ADC LDA SBB STA

 verilogで複数レジスタをまとめて一つのレジスタとして扱う際に、別名をつける方法ってないんでしょうか。
 右辺はfunctionで可能だが、左辺はどうしたらよいかわからない。
 あと、AWKで書いていて、verilogでもcaseのbreak,continueが選択出来たら、と思いました。

Plain text

  • HTMLタグは利用できません。
  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。
  • 行と段落は自動的に折り返されます。
※ コメントは原則公開です。個別のご相談などは「ご意見・ご要望」からお願いします。