138418

2011年2月6日日曜日

Assemblerの作成

ゆくゆくはgccを移植したいと考えているが、
(出来るかも知れないな、、
出来るといいな、、
ま、チョット覚悟はしておけ、、、
今のところその程度のノリで考えている。)
いきなりgccでは難易度が高すぎるのでとりあえずは簡易AssemblerをC言語で作成した。
簡易版とは言っても、可読性の良いprogramを書きたいのでLABELや
定数の別名定義等は使えるようにした。
また、このAssembleはsimulation用のprogram作成にも使うので、
出力はBinary objectではなく数値文字列を出力するようにした。


例えば上図の左端のようなsourceをAssembleするとその右のようなListと
右端のようなobject fileを出力する。
Assembler programの行数はcommentや空行や構造体型宣言や配列定義等
ひっくるめて802行になった。programのcode正味では500行程度だろう。


0 件のコメント:

コメントを投稿

ERROR: Failed to spawn fakeroot worker to run ...

なにかと忙しくてなかなか趣味の時間を確保できない。 ...orz  家の開発機のOSはLinux Mintなのだが、最近バージョンを22に更新したところ、myCNC用のpetalinuxをビルドできなくなってしまった。ビルドの途中で ERROR: Failed to spawn ...