Subsections
アセンブラーは,アセンブラ言語を機械語に変換するプログラムである.アセンブラ命令
は,アセンブラーにその変換方法を指示する.CASL IIには,次の4つのアセンブラ命令がある.
START |
プログラムの先頭に,必ず書く必要がある.プログラムの実
行開始番地を指示する. |
END |
プログラムの最後に,必ず書く必要がある.プログラムの記
述の最後を示す.プログラムの実行の終了を示すものではない. |
DC |
プログラムで処理すべきデータを定義する.メモリーの初期
値を与えると解釈してもよい. |
DS |
プログラムの実行に必要なメモリーを確保する. |
|
|
プログラムは命令とデータから構成されると以前に述べたが,データ部を構成するために,
DCと
DSの命令がある.
実際のCPUの動作を示す命令が機械語命令である.要するにこれは,CPUというハードウェ
アーができることを示している.プログラムを構成するデータと命令のうち,後者は機械
語命令から構成される.
前回の授業では,データ転送に関する3つの機械語命令を学習した.
LD |
メインメモリーや他の汎用レジスターのデータ(内容)を汎用レ
ジスターにコピーする. |
ST |
汎用レジスターのデータ(内容)をメインメモリーにコピーする. |
LAD |
メインメモリーの実効番地を汎用レジスターにコピーする.指
標レジスターの使い方によっては,汎用レジスターの値を操作できる. |
|
|
本日は,CASL IIの整数の演算である算術加算・減算と論理加算・減算,論理演算につい
て,説明する.教科書 [
1]のp.45-55である.学習のゴールは,以下の命令
の動作を理解することである.
- 1語を符号付き整数として取り扱い,加算と減算を行う.
算術加算 |
ADDA |
1語のデータを符号付き整数と見なし,加算を行う. |
算術減算 |
SUBA |
1語のデータを符号付き整数と見なし,減算を行う. |
- 算術加算とは異なり,これらは1語を符号無し整数として取り扱い加算・減算を行
う.
論理加算 |
ADDL |
1語のデータを符号無し整数と見なし,加算を行う. |
論理減算 |
SUBL |
1語のデータを符号無し整数と見なし,減算を行う. |
- 2年生のとき学習したブール代数の演算である,論理積と論理和,排他的論理和の
命令について説明する.これらは,1語を各ビットごとに演算を行う.
論理積 |
AND |
1語のデータを各ビット毎に論理積を計算する. |
論理和 |
OR |
1語のデータを各ビット毎に論理和を計算する. |
排他的論理和 |
XOR |
1語のデータを各ビット毎に排他的論理和を計算する. |
理解のポイントは,
- 演算するデータは16ビットで,それを符号付2進数,あるいはブール代数の真偽と
して取り扱う.負の数は2の補数という表現が使われる.
- 計算結果,フラグレジスタがどのようになるかを考える.
である.
ホームページ:
Yamamoto's laboratory著者:
山本昌志
Yamamoto Masashi
2006-01-22