Diary of Sacred Fox - July 19, 2003

The Quintetには通算 179067 人(今日:0, 昨日:1)のお客様が来場しています

2003/07/19

mini-cpu

略してミニクピュ(違)

暇つぶしにやってみた
ミニクピュが想定していたALUの仕様が自分の作ったALUと酷似していたので結構簡単に作れた
やるべき作業はこんな感じだった

  1. ALUを8ビット以外で書いているときには修正, generic mapでOKかと, 聖狐はアセンブリに合わせてALUを変更するついでに完全に8ビット化してgenericを駆逐してしまいましたが…genericを8ビットに合うように直す
  2. アセンブラ(asm.pl)かALUを修正して命令名に齟齬が出ないようにする
  3. io.asmを動かしてみる
  4. 入力はリダイレクション(stdin)のみ許している, ちょっと改造すれば引数渡しもできるけど…(このいい加減さがPerlの強み)アセンブラで何か適当にプログラムを書く
  5. 動かせば完成

普通に作っていたら多分Chipの半分も使わないで書けるような容量になっているので何も難しいことは無いかと思われる
ただ, プログラムは32行しかかけないので妙なものは書けない
入力はディップスイッチで出力は7-Segment LEDを使えない(使いたかったらアーキテクチャを改造?)8連LED1組のみ
Delayed-Slotのような妙なものも無いのでここでは大してつまづかないかと
あとはアセンブリの構文をちゃんと理解できれば終わったも同然
妙にこれも単に最初から完成直前(むしろ完成後にALUを抜いたと思われる)のCPUが付属しているから, 感謝感謝…簡単な課題なのである
ちなみに忘れたときのためにコンパイルの一連作業を書いておくと…

  1. fc2_shell -f filename.fc2
  2. make filename.bit
  3. (on ise) xchecker filename.bit

色がついているのは忘れやすいオプションや拡張子
因みにfc2_shellは0で終了しないので実行すべきこれとアセンブラを交互に『↑↑(LF)』で実行するループに…コマンドラインは『;』区切りでやることになるかと
因みにfc2_shellやmakeは面倒でもiseではなくcscでやったほうが数倍早いのでお勧め
1回1回roginして抜けるのが面倒なので自然にcsesの方でroginしておいて2つの端末間をマヌケに走り回ることになるだろうけど…

Comments (0):