プログラムの仕組み -アセンブラ言語によるプログラミングを通してハードウェアと親しくなる-
単位数 | ナンバリングコード |
---|---|
2 | DIF206 |
|
|
教員名 | 中島 潤 |
---|---|
専門 | 情報通信 |
出身校等 | 北海学園大学大学院経営学研究科 博士課程単位取得退学 博士(経営) |
現職 | 北海道情報大学 経営情報学部 教授 |
授業形態 |
---|
前期印刷授業・後期印刷授業 |
授業範囲 |
---|
教科書の内容すべて |
試験範囲 |
---|
授業範囲すべて
(持ち込み許可物)自筆ノート(印刷物の貼付不可) |
科目の概要 |
---|
本科目の目的は、コンピュータのハードウェアがプログラムを実行する仕組みを理解することである。今日、プログラムは、さまざまな高水準のプログラミング言語で記述されているが、ハードウェアが解釈して実行できるのは、機械語で記述されたプログラムだけである。したがって、機械語のプログラムとは、どのようなものなのか、どのようなメカニズムで実行されるのかを理解する必要がある。機械語は、0と1の並びでしかないので、人間が直観的に理解するのは難しい。そこで、機械語と1対1に対応し、機械語よりも理解しやすいアセンブラ言語を通じて、プログラムの仕組みを学習する。 |
授業における学修の到達目標 |
---|
プログラムが動作する仕組みを理解することで、簡単な処理をCASLIIで記述できるようになるので、本科目では、教科書にしたがってCASLIIの学習を進めながら、(教科書に掲載されているレベルの)簡単な処理をCASLIIで記述できるようになることを目標とする。ただし、ある程度の規模の実用性のある複雑な処理をCASLIIで記述できるようになること、すなわち、実践的なプログラミングの能力の向上は目標としない。 |
講義の方針・計画 |
---|
教育用のアセンブラ言語CASLIIによるプログラミングを通して、プログラムの仕組みを学習するので、学習にあたっては、CASLIIのシミュレータソフトを使って、実際にプログラミング演習を行うことが不可欠である。
第1回:アセンブラ言語CASLIIとCOMETIIの概要 第2回:COMETIIの仕組み 第3回:プログラムの開始と終了(START, END),データの定義と領域の確保(DC, DS) 第4回:メモリと汎用レジスタ間の移動(LD, ST) 第5回:汎用レジスタ間のデータ移動(LD),汎用レジスタへの初期値設定,指標レジスタの変更(LAD) 第6回:加減算に使う命令(ADDA, SUBA, ADDL, SUBL) 第7回:ビット処理(AND, OR, XOR) 第8回:比較と分岐(CPX, JXX),シフト演算(SXY) 第9回:データの入出力(IN, OUT) 第10回:サブルーチンを使う(CALL, RET, PUSH, POP) 第11回:アドレスによるパラメタの受け渡し,サブルーチン側で使うマクロ命令(RPUSH, RPOP), その他の命令(SVC, NOP) 第12回:CASLIIによるプログラミング(四則演算,最大公約数を求める) 第13回:CASLIIによるプログラミング(表の中の最大値と最小値を求める,表の中の数値を並べ替える) 第14回:CASLIIによるプログラミング(表探索,うるう年の判定) 第15回:CASLIIによるプログラミング(入力文字の操作,ヒストグラムの出力,再帰的サブルーチン) |
準備学習 |
---|
印刷授業は、教科書や学習用プリントなどを基に自学自習で学習を進めますが、授業範囲の内容の他に、教科書の内容全体を2単位で90時間かけて学習することを目安としています。
わからない用語や内容は、参考文献等で検索することが準備学習として必要になります。 |
課題(試験やレポート等)に対するフィードバック方法 |
---|
印刷授業は、提出されたレポートについて講評を付与して返却する。 |
成績評価の方法およびその基準 |
---|
試験:100% |
教科書 |
---|
書 名:図解CASLIIによるプログラムの作り方(第2版)
著者名:澤田 晃 発行所:共立出版 ISBN:9784320120310 |
参考書 |
---|
なし |
その他 |
---|
アセンブラ言語は、C言語やJava言語など、高水準言語でのプログラミングの経験を積んだ技術者にとっても、難解な言語です。コンピュータの歴史から見ても、あまりに難解でどうしようもないので、高水準言語が開発されたのです。このことをよく認識しておいてください。本科目の内容を理解するためには、プログラミングの実習が極めて有効です。従って、CASLIIのシミュレータソフトを使って、プログラムを作成し、実行してみてください。アセンブラ言語によるプログラミングには、将棋や碁などのゲームに通じる面白さがあります。これらのゲームは、予めルールや定石をマスターしていないと楽しめませんが、それと同じように、アセンブラ言語も、基本的な規則や使い方を理解していないと、そのパズル的な面白さを堪能することができません。日頃から物事をきちんと論理的に考える習慣がついていないと、アセンブラ言語の学習は、かなり辛いものになると予想されます。 |
試験期間 |
---|
シラバス検索画面トップページ(https://syllabus-tsushin.do-johodai.ac.jp/)下部の「2022科目試験時間割」を参照 |
学習プリント |
---|
あり |
教職科目 |
---|
情報5の1(選択) |
関連受講科目 |
---|
「情報リテラシー」、「コンピュータサイエンス入門」、「コンピュータアーキテクチャ」、「コンピュータの構成」、「コンピュータの利用」
特に、「情報リテラシー」と「コンピュータアーキテクチャ」を、既に修得していることを前提条件とする(本条件を満たさなくても履修登録は可能であるが、修得は困難であると予想される)。 |
担当教員の実務経験 |
---|
実務経験なし |