アセンブラ
提供: IS2005 Wiki (CPU実験)
アセンブラだけ別にこっちにあげときます。
最初はCでlexとyaccを使って書いてみたがラベルなどを導入するにあたってperlで書いた方がいくらかマシなような気がしたので書き直しました。例によって無駄に時間かかってしまった。
目次
NOP挿入にかかわる不具合(12/29)
12/20の版にNOP挿入に関するいくつかの不具合がありますので、シミュレータ上で動かす分だと問題ないですが、できれば使わないでください。
修正版は、書庫[[1]] に含まれています。
アセンブラ/新シミュレータ(12/20)
しょうもない不具合を修正して(orz)ついにシミュレータで完動したようです。 おめでとうございます。実機完動に向けてがんがりましょう(三角関数が動けばたぶん動くかなどうだろ)。
また、ステップ実行機能をちょっと仕様を変更して復活させました。ブレークポイントを設定しておくと、それ以降がステップ実行になります。
その他、アセンブラの-rオプションを廃止して自動判別としました。
media:アセンブラ-assembler.20051220.zip
アセンブラと旧シミュレータの改造版(12/18, 12/19更新)
命令セット変更、遅延ロード検出(アセンブラ側)、ある程度のメモリ破壊検出(シミュレータ側)に対応。
ライブラリを大幅増強。
データ形式はhex形式でなく、bin形式としてある。
media:アセンブラ-assembler.20051219.zip
高山氏の最新シミュレータときちんとマージしていないので、欠けている機能あり。
追記: Makefileはそのままだとうまくいかないので適当に置き換えてください。
つかいかた
- ./assemble [-r] [-b 数字] lib.s test.s > test.bin
- ./simulate test.bin < base.sld
物(11/12)
TODO
浮動小数のサンプルをちゃんと動かす
11/14 by ひらの
R形式(シフト)ですが、$2でなく$r2ですね。