【お知らせ】プログラミング記事の投稿はQiitaに移行しました。

全部入りbinutils

スタート低レイヤー#2id:shinichiro_hさんに全部入りのbinutilsが作れるということを教えて頂きました。

さっそく試してみました。MSYS(MinGW)用のバイナリを置いておきます。

/usr/localに展開するだけで使えます。

$ tar xvf binutils-2.23.2-msys-cross-all.tar.xz -C /usr/local
続きを読む

8086版V6のABI(仮)

先日、PDP-11から8086へのトランスレータを試作しました。

簡単なプログラムを変換して大まかなABIが見えてきたので、仮にまとめます。詳細についてはV6移植ハッカソンで作業しながら決めていこうと思います。

続きを読む

スタート低レイヤー#2で発表して来ました

2013/7/27(土)に開催されたスタート低レイヤー#2でELFについて発表して来ました。

私自身とても勉強になりました。主催のmasterqさんはじめ、他の発表者の方々、参加者の方々、お疲れ様でした。

PDP-11のアセンブリを8086に変換

V6移植ハッカソンでは手始めにトランスレータを作りながらPDP-11から8086への変換について調べる予定です。現場でスクラッチから始めると発散しかねないので、ある程度方向付けるためトランスレータを試作しました。

コマンドライン引数を表示するだけのプログラムが変換できます。

トランスレータはやっつけですし、出力結果もきれいではありませんが、元の雰囲気が残っているように感じます。トランスレータでの実験を基にコンパイラに手を入れる予定です。

続きを読む

8086版V6でC言語のハローワールド

8086版V6でC言語のハローワールドが実行できる最低限のlibcを実装しました。OS本体はまだ存在しないためインタプリタ上で実行します。

$ cat hello.c
main(){printf("hello\n");}
$ 8086v6-cc hello.c
"hello.c", line 1: (warning) 'main' old-fashioned function definition
"hello.c", line 1: (warning) implicit declaration of function printf
$ 7run a.out
hello
続きを読む