• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アセンブラの間接アドレッシング)

アセンブラの間接アドレッシングについて

このQ&Aのポイント
  • 間接アドレッシングの意味と具体的な使い方について説明してください。
  • アセンブラでの間接アドレッシングは、命令のオペランドとして使用されるアドレスが、実際のデータの格納場所ではなく、その格納場所のアドレスを指す方法です。
  • 具体的なプログラム例として、記録場所の差を求めて別の場所に格納するプログラムを提示しました。

質問者が選んだベストアンサー

  • ベストアンサー
noname#63526
noname#63526
回答No.1

0000h-00FFh番地から順番に2000h-20FFh 番地の値をプラスして2000h-20FFh番地に格納するプログラムです。 i8086のアセンブラです、参考にならなければ無視して下さい。 CODE   SEGMENT      ASSUME CS:CODE,DS:CODE,ES:CODE,SS:CODE      ORG 100h STRART:      mov bx,0000h   BXレジスタに0000h代入      mov dx,2000h   DXレジスタに2000h代入      mov cx,00FFh   CXレジスタに繰り返し回数代入 loop:   mov ax,[bx]    AXレジスタに間接アドレスBX番地の値を代入      add ax,[dx]    AXレジスタの値に間接アドレスDX番地の値をプラスしてAXレジスタに代入      mov [dx],ax   間接アドレスDX番地にAXレジスタの値を代入      inc bx      BXレジスタの値を+1      inc dx      DXレジスタの値を+1      dec cx      CXレジスタの値を-1      jnz loop     CXレジスタの値が0で無い場合loopへジャンプ      mov ax,4c00h      int 21h CODE   ENDS      END STRART

Mr_KZ
質問者

お礼

すごい役に立ちました。 ありがとうございます。

その他の回答 (1)

noname#63526
noname#63526
回答No.2

ANo.1補足、間接アドレッシングは、連続するアドレスや規則性のあるアドレスを簡単に参照出来ます。

関連するQ&A