アセンブリ言語はハードウェアに最も近いプログラミング言語である。
機械語命令、バイナリ表現、基本的なアーキテクチャなどを修得する。
アセンブリ言語はハードウェアに最も近いプログラミング言語である。
機械語命令、バイナリ表現、基本的なアーキテクチャなどの学習を通して、
プログラミング言語やコンピュータシステムの仕組みを理解するための基礎知識を得る。
1. イントロダクション
2. アセンブリ言語の基本的な文法:機械語命令,アセンブリ命令,ラベル,コメント
3. 命令とデータのバイナリ表現(1):ニモニック,ラベル
4. 命令とデータのバイナリ表現(2):2の補数,バイトオーダ,アラインメント
5. CPU,レジスタ,メモリ,機械語命令,プログラムカウンタ,命令実行サイクル
6. 機械語命令(1):アドレッシングモード,データ転送
7. 機械語命令(2):算術演算,論理演算,シフト演算
8. 機械語命令(3):ジャンプ命令,フラグ,比較命令
9. 機械語命令(4):関数呼び出し,スタック,スタックレイアウト
10. C言語とのリンク,関数呼び出し規約
11. インラインアセンブラ
12. バイナリ形式,ABI (application binary interface)
13. リンク,再配置,記号表,記号解決
14. 特権命令,I/O命令,割り込み
なし(資料を配布する) [教科書執筆予定]
プログラミング第一 (3学期,○,2-0-0),
情報実験第一 (3学期,◎,0-0-2),
プログラミング第三 (5学期,☆,2-0-0),
情報実験第三 (5学期,◎,0-0-3),
コンパイラ構成 (5学期,☆,2-0-0),
計算機アーキテクチャ第一 (5学期,○,2-0-0),
オペレーティングシステム (6学期,○,2-0-0),
組み込みシステム (6学期,●,2-0-0)
演習,期末試験により評価する。
プログラミング第一/情報実験第一を履修していることが望ましい。