ラベル欄 | 命令コード欄 | オペランド欄 |
---|---|---|
label | LD | r1,r2 |
label | LD | r,adr[,x] |
COMET IIでは、算術演算や論理演算は必ず汎用レジスター上で行われる 4。そのため、演算の対象となるデータを汎用レジスター に格納しなくてはならない。LD命令は、メインメモリーのあるアドレスのデー タを汎用レジスタにコピーする命令として使われる。そればかりではなく、 汎用レジスター間のコピーにも使われる。しかし、汎用レジスターからメイ ンメモリーや、メインメモリーからメインメモリーへのコピーはできない。 メインメモリーへのコピーはST 命令を使う。
語源は、英語の1oadです。loadのにはいろいろ意味がありますが、その中で' 読み込む'と意味で使われています。パソコンでアプリケーションを実行する とき、ハードディスクにあるプログラムをメインメモリーへ読み込むこともロー ドといいます。ネットでのファイルの受け渡しのことも、ダウンロードやアッ プロードと言う。
LD GR0,GR1 ;GR1の内容をGR0へコピー LD GR0,A ;ラベルAが示す番地の内容をGR0へコピー LD GR0,A,GR1 ;(A+GR1)番地の内容をGR0へコピー LD GR1,GR1 ;GR1の符号をチェック
ラベル欄 | 命令コード欄 | オペランド欄 |
---|---|---|
label | ST | r,adr[,x] |
ST命令は、LD命令とは逆に、汎用レジスタの内容をメインメモリの指定番地に コピーする。語源はSToreで、'備蓄する'などの意味がある。書式や機能は教 科書に書かれている通りである。
ST GR0,A ;GR0の内容をメインメモリーのA番地へコピー ST GR0,A,GR1 ;GR0の内容を(A+GR1)番地へコピー
ラベル欄 | 命令コード欄 | オペランド欄 |
---|---|---|
label | LAD | r,adr[,x] |
LD命令は、メインメモリーの指定した番地の内容(データ)を汎用レジスタにコ ピーする。一方、LAD命令は、その番地(実効アドレス)を汎用レジスタにコピー する。
実効アドレス(adr,[x])の指定に10進定数や16進定数を指定することにより、 直接、汎用レジスタに値を格納することができまる。そのため、汎用レジスタ に初期値を設定したり、制御変数の値を操作するときに使われ、非常に使い勝 手のある命令になっている。
LAD GR0,A ;ラベルAの実効アドレスをGR0へコピー LAD GR0,A,GR1 ;(A+GR1)をGR0コピー LAD GR0,4 ;GR0の内容を4に設定 LAD GR1,0,GR2 ;GR2の内容をGR1へコピー LAD GR1,3,GR2 ;(3+GR2の内容)をGR1へコピー LAD GR1,1,GR1 ;GR1の値を1増加させる LAD GR1,-1,GR1 ;GR1の値を1減少させる