本年度,3年生の電子計算機では,アセンブラ言語を学習する.それにはには
いろいろあるが,ここでは情報処理技術者試験で使われる「CASL II」という
言語を学習する.
前年の授業,2年生の「電子計算機」とのかかわりについて,簡単に述べてお
く.2年生と3年生の「電子計算機」を通して,コンピューターの基本的な
仕組みを理解することがこれらの講義の目的である.2年生の「電子計算機」の
授業で学習したことは,大体
のようなことであったはずである.ここで,学習したことで最も重要なことは,
- いかなる論理演算(真理値表で表せる)であろうとも,論理和(OR)と論理積(AND),否定
(NOT)のゲートで作ることが可能である
ということである.これらの例として,最後に加算の回路を学習したであろう.皆さ
んは,加算にかかわらずどんな論理の回路でも設計できまるはずである.言い方を変
えると,どんな演算回路でも皆さんは設計できるということである.それも,たった3
種類の素子(OR, AND, NOT)だけで,可能なのであるから驚きである.
この講義の目的は,
- コンピューターの基本的な仕組みを理解する
- 基本情報処理技術者試験に合格する
である.これらの目的を達成するために,諸君には多くの課題を課すことにする.与えられた課題を地道にこなし,コンピューターと言うものを理解して欲しい.
これら,二つの目的のうち,後者は分かる.CASL IIが基本情報処理技術者試験の科目となっているからである.1年生の時に学習したFROTRANは,科目となっていない.C言語を知らない者が,これに合格するには,CASL IIを勉強するのがもっとも近道である.4月と10月の2回/年,試験が実施されるので,気概のある者はトライせよ.ただし,これに合格するためには,この講義だけでは不足でもう少し勉強が必要である.
FORTRANを学習しても,コンピューターの仕組みは分からない.C言語でもほとんど分からないだろう.一方,アセンブラ言語の場合,コンピューターの仕組みが分からないと,この言語でのプログラムは不可能である.なぜならば,アセンブラ言語はコンピューター(CPU)の動作を記述する言語であるからである.まだ,諸君にはこのことの意味は分からないだろうが,本日の授業の後半で,このことを述べる.
先に示した目標に達成するために,以下のような内容の講義を進める.
- コンピューターの基本的な構造を学ぶ
- コンピューター内部での文字や数字の表現方法を学ぶ
- アセンブラ言語の命令の種類と基本動作を学ぶ
- アセンブラ言語のプログラムの方法を学ぶ
本心を言うと,次のようなことが理解できれば,この講義を受けた価値はあると思う.
- コンピューター(電子計算機)の仕組みを理解する.
- 0と1で書かれた機械語とコンピューターの頭脳といわれるCentral
Processing Unit(CPU)の関係を理解する.
- 0と1で書かれた機械語とC言語やFORTRANのような高級言語との関係を
理解する.
そして,3月始めの学年末試験で合格した者が実際に得られるものは,
- 単位
- コンピューターの仕組みは,簡単だなーという実感
- アセンブラが理解できるという優越感
くらいでしょうか.落第したものは,この反対のものが得られるであろう.
ホームページ:
Yamamoto's laboratory著者:
山本昌志
Yamamoto Masashi
平成19年6月24日