ラベル欄 | 命令コード欄 | オペランド欄 |
---|---|---|
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で,'備蓄する'などの意味がある.書式や機能は教科書に書かれている通り(p.42).
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減少させる