C言語で作る小さなシステム– category –
-
C言語で作る小さなシステム
【低レイヤ入門】C言語で作る自作VMを少しOSらしくする: Welcomeプロンプトから外部バイナリを起動する | UNIX Cafe
前回は、小さな自作VM上で、Enterまでの入力をVM内メモリに保存する line-buffer.bin を追加しました。 line-buffer.bin では、SYSCALL 2 で1 byteずつ入力を読み、STB [R1], R0 で memory[0x180] から順番に保存しました。最後に 0x00 を書くことで、入力... -
C言語で作る小さなシステム
C言語でLC-3仮想マシンを自作する全12回まとめ: CPU、アセンブラ、デバッグ機能まで作る入門連載 | UNIX Cafe
LC-3VM:C言語で小さなCPUを動かす連載です このページは、C言語でLC-3仮想マシンを自作する全12回の連載まとめ記事です。 この記事で作るもの: LC-3の.objファイルを読み込み、命令を1つずつ実行するC言語製VM 2048.objやrogue.objをターミナル上で動かす... -
C言語で作る小さなシステム
いちばんやさしい!OS自作超入門 学習メモまとめ|第3章・第4章・第7章のつまずき整理 | UNIX Cafe
書籍『いちばんやさしい!OS自作超入門』を読みながら、実際にコードを写経して動かした際の学習メモをまとめました。 この記事は書籍の内容を置き換えるものではなく、手元でコードを動かすときのつまずきやすいポイントを整理するための補助メモです。 ... -
C言語で作る小さなシステム
仮想メモリ空間へ!『いちばんやさしい!OS自作超入門』第7章のつまずき解消ガイド | UNIX Cafe
前々回の第4章では、Simple OSの上でオリジナルコマンドやタイマー割り込みを動かす楽しさを味わいました。続く第5章・第6章でマルチタスクの土台を整え、いよいよ今回は書籍の大きな山場である「第7章:仮想メモリ編」へと突入します。 第6章までは... -
C言語で作る小さなシステム
Simple OSが動き出す!『いちばんやさしい!OS自作超入門』第4章のトラブル解決ガイド | UNIX Cafe
第4章で気になったことを整理する 前回は、『いちばんやさしい!OS自作超入門』の環境構築やアセンブルの流れなど、本格的な開発に入る前の準備段階を整理しました。 いよいよ今回は「第4章:シングルタスクOSの開発」に突入します。これまではバイ... -
C言語で作る小さなシステム
OS自作のはじめの一歩!『いちばんやさしい!OS自作超入門』序盤のつまずき解消ガイド | UNIX Cafe
先日、自作LC-3 VM(仮想マシン)のコードをGitHubに公開し、CPUが命令を読み込んでレジスタやメモリを書き換えるハードウェアの世界を間近で見ることができました。 この経験をベースに、次なるステップとして挑戦を始めたのが『いちばんやさしい!... -
C言語で作る小さなシステム
C言語で始めるLC-3仮想マシン自作入門(第12回:最終章!.gitignoreやライセンスを整えてGitHubで正しく公開する方法) | UNIX Cafe
自作LC-3 VMをGitHubで公開できる形に整える 前回は、第10回までに作った観察機能を使って、小さいLC-3プログラムの動きを読みました。 --traceで命令の流れを見て、--profileで命令ごとの実行回数を数え、--breakや--dump-memoryでループ中の状態やメモリ... -
C言語で作る小さなシステム
C言語で始めるLC-3仮想マシン自作入門(第11回:16進数とアセンブリが繋がる瞬間!自作デバッガから覗く「コンピューターの秘密」)| UNIX Cafe
小さいLC-3プログラムをデバッグする 前回は、VMに--dump-registersと--dump-memoryを追加し、プログラム終了後のレジスタとメモリを確認できるようにしました。 第6回以降では、VMの中を観察するための機能を少しずつ増やしてきました。命令の流れを見る-... -
C言語で作る小さなシステム
C言語で始めるLC-3仮想マシン自作入門(第10回:–dump 機能実装!実行後のCPUとメモリの生データを総まとめ)| UNIX Cafe
レジスタとメモリをダンプして状態を見る 前回は、VMに--break x3002オプションを追加し、指定したアドレス値とPCの値が一致したときだけ止められるようにしました。 ブレークポイントで止まれるようになると、見たい場所まで一気に進められます。ただ、こ... -
C言語で作る小さなシステム
C言語で始めるLC-3仮想マシン自作入門(第9回:PC(プログラムカウンタ)を先読み!自作デバッガへの本格ステップ)| UNIX Cafe
ブレークポイントでPCが指定アドレスと一致したら止める 前回は、VMに--stepオプションを追加し、1命令実行するたびに停止してEnterで次へ進められるようにしました。 --stepは、Hello Worldのような短いLC-3プログラムを1命令ずつ確認するには便利です。...
