2.ロード・ストア命令
CASLのようなアセンブラ言語はメモリーからレジスタという記憶装置へまずデータを読み込んでから計算をしたりします。 ここではメモリー−レジスタ間のデータのやり取りを行う命令を説明します。 |
|||
(1)LD命令 メモリーからレジスタへデータを読み込む命令 |
|||
記述方法 |
|||
ラベル |
LD |
GRx,アドレス[,GRx] |
|
アドレス番地の内容をGRxに格納します。 プログラムでデータを処理しようとするときには必ずLD命令を使うことになります。 プログラム例. |
|||
PROG_LD |
START |
GO ;ラベルGOから処理開始 |
|
ADR |
DC |
10 ;定数10を定義 |
|
GO |
LD |
GR0,ADR ;GR0に10が格納される |
|
|
END |
|
|
(2)ST命令 レジスタ内のデータをメモリーへ書き込む命令 |
|||
記述方法 |
|||
ラベル |
ST |
GRx,アドレス[,GRx] |
|
レジスタ内のデータをメモリーへ書き込む命令です。 プログラム例. |
|||
PROG_ST |
START |
GO |
|
ANS |
DS |
1 ;データを格納する領域を1語長確保します |
|
GO |
ST |
GR1,ANS ;ANSの中にGR1の中身が入る |
|
|
END |
|
|
(3)LAD命令 直接アドレスを格納する命令 |
|||
記述方法 |
|||
ラベル |
LAD |
GRx,アドレス[,GRx] |
|
レジスタへアドレスを格納します。 LD命令との違い プログラム例. |
|||
PROG_LAD |
START |
GO |
|
ADR |
DC |
1 |
|
GO |
LAD |
GR2,ADR ;GR2に1ではなくADRの番地が入る |
|
|
END |
|
|
|
|||