コンピューターの仕事は、データの加工です。与えられたデータを、目的のデー
タに加工します。例えば、
- 整数の5と8のデータが与えられると、それを加工して和である13を表
示する。
- CD-ROMのビット列のデータを加工して、音に変換する。
- 飛行機のスロットルレバーの角度とエンジンの回転数などのデータか
ら、燃料噴射弁の角度を与えるデータを作る。
等です。どのような場合でも、図
1のように
なっている。この入出力データのことを情報と言い、それをプログラムの命令
により処理を行い、出力データを作る。情報処理とはこのようなことを言う。
コンピューターの内部、とくにデータの処理を行うCPUでは、入力と出力のデー
タはビット列である。CPUでは命令に従い、ビット列の操作を行っている。こ
のビット列を操作する処理のことを演算といい、プログラムでは演算命令がそ
れを行う。
数学でも演算と言う言葉を使うが、その内容は非常に似ている。例えば、数学
との対比では、
-
を計算して、その結果として1を得る。この場合、入力デー
タはで、演算はで、出力データは1である。
のように考えられる。
ポイント |
---|
コンピューターは、入力データのビット列から出力ビット列を作る処理を行っ
ている。そのビット列の変換の処理を演算と言う。
|
先ほど述べたように、演算命令により、データのビットパターンを変化させる。
変化させるデータは、
- 汎用レジスター(GR0〜7)
- メインメモリーの内容
- フラグレジスター(FR)
である。残りのプログラムレジスター(
PR)とスタックポインター
(
SP)は演算命令により変化はしない。
CASL IIで用意されている演算は、
である
2。たったこ
れだけで、あらゆるデータ処理を行うのである。命令の動作については、今後、
学習する。諸君は、数学的な準備は出来ているので、これらがそんなに難しく
思う必要が無い。例えば、
と言う数学の記号の代わりに、
ADDAと書く
ことを覚えればよい。
算術・論理演算命令は、整数の演算とブール代数の演算がある。それぞれは、
- 整数の演算
- 算術加算(ADDA)
- 算術減算(SUBA)
- 論理加算(ADDL)
- 論理減算(SUBL)
- ブール代数の演算
論理和(OR)
論理積(AND)
排他的論理和(XOR)
と分けることができる。整数の演算のくせに、論理加算・減算というのも変な
気がするが、仕様ではそうなっている。
本日は、算術加算・減算の演算を学習する。算術加算・減算と論理加算・減算
の違いは、前者は処理する16ビットのデータを符号有り整数、後者は符号無し
整数として取り扱うことである。
ホームページ:
Yamamoto's laboratory著者:
山本昌志
Yamamoto Masashi
平成16年9月7日