Nullable

旧レガシーガジェット研究所

assembly

CPUをつくる ~ FPGA編 ~

概要 FPGA上で動作するMIPSプロセッサを作ったので学習の流れや大まかな作り方をまとめる。 https://github.com/0n1shi/mips-fpga 成果物 FPGAでつくったMIPS上でフィボナッチ数の計算が動いた!以前Goで書いたMIPSのエミュレータとも結果が一致している・・…

CPUエミュレータを書く

概要 https://github.com/0n1shi/mipsemu CPUエミュレータを書いたのでまとめる。 今回書いたのはMIPS1のCPUエミュレータ。命令は全て実装したわけではなくC言語のコードいくつか書きクロスコンパイルしたバイナリを実際に動作させ、ある程度のコードが問題…

ディスアセンブラを書く

概要 以下のような出力を行う簡単なディスアセンブラを書いたので作り方をまとめる。

Unix xv6 ~ 起動 ~

概要 xv6のコードリーティングを通してUnixの動作を追う。今回はCPUの起動からカーネルの起動直前までを見ていく。 xv6 xv6は、ANSI Cによる、6th Edition Unixのマルチプロセッサx86システムへの再実装である。 xv6はMITにおけるオペレーティングシステムエ…

Unix xv6 ~ イメージ ~

概要 xv6のコードリーティングを通してUnixの動作を追う。今回は起動イメージを見ていく。 リポジトリは以下。 https://github.com/mit-pdos/xv6-public xv6 xv6は、ANSI Cによる、Sixth Edition Unixのマルチプロセッサx86システムへの再実装である。 xv6は…

インライン・アセンブリに関して

概要 Linux Kernelのソースを読むのに必要だったため簡単にまとめた。参考資料にはサンプルなどが豊富に用意されている。