40 likes | 223 Views
演習問題 2.1 解答例. メモリアドレスは,10進数でも16進数でも記述できるので, LD GR1, #0100 LD GR0, GR1 ST GR1, #0101 LAD GR1, 0 LAD GR1, 1, GR1 LAD GR1, -2, GR1 あるいは, LD GR1, 256 LD GR0, GR1 ST GR1, 257 LAD GR1, #0000 LAD GR1, #0001, GR1 LAD GR1, #FFFE, GR1 など.. 演習問題 2. 2 解答例.
E N D
演習問題 2.1 解答例 メモリアドレスは,10進数でも16進数でも記述できるので, LD GR1, #0100 LD GR0, GR1 ST GR1, #0101 LAD GR1, 0 LAD GR1, 1, GR1 LAD GR1, -2, GR1 あるいは, LD GR1, 256 LD GR0, GR1 ST GR1, 257 LAD GR1, #0000 LAD GR1, #0001, GR1 LAD GR1, #FFFE, GR1 など.
演習問題 2.2 解答例 理由は,GR0 をインデックスレジスタに使えないため.それは2ワード命令においてインデックスレジスタの記述を省略するとき(アドレス修飾をしないとき)のインデックスレジスタフィールドのコードに 0000 を割り当ていることに起因している.GR0 をインデックスレジスタとして使えるようにするには,このコードと競合しないように,例えばインデックスレジスタでの GR0 のコードに 1000 を割り当てるなどの仕様にすればよい.また逆に,GR0 に 0000,インデックスレジスタ省略に 1000 を割り当ててもよい.
演習問題 2.3 解答例 (1) LAD GR1, 1, GR1 では, GR1 の値に 1 加算した値が GR1 へ格納される. ADDD GR1, 1, GR1 では,GR1 の値に 1 加算した値のアドレスの内容が GR1 に加算される. (2) LD GR3, -1, GR3 では, GR3 の値から 1 減算した値のアドレスの内容が GR3 へ格納される. LAD GR3, -1, GR3 では,GR3 の値から 1 減算した値が GR3 へ格納される.
演習問題 2.4 解答例 ソースプログラム ラベル ニモニック オペランド SUBTRA START LD GR3,VALUE1 SUBA GR3,VALUE2 ST GR3,ANSWER RET VALUE1 DC 18 VALUE2 DC 24 ANSWER DS 1 END オブジェクトプログラム アドレス:機械語 ↓ ↓ #1000: #1030 #1001: #1007 #1002: #2130 #1003: #1008 #1004: #1130 #1005: #1009 #1006: #8100 #1007: #0012 #1008: #0018 #1009: #0000 VALUE1: #1007 VALUE2: #1008 ANSWER: #1009 ラベル-アドレス 対応表