アセンブラ

提供: 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)

media:アセンブラ-assembler.zip

TODO

浮動小数のサンプルをちゃんと動かす

11/14 by ひらの

R形式(シフト)ですが、$2でなく$r2ですね。