- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アセンブラの間接アドレッシング)
アセンブラの間接アドレッシングについて
このQ&Aのポイント
- 間接アドレッシングの意味と具体的な使い方について説明してください。
- アセンブラでの間接アドレッシングは、命令のオペランドとして使用されるアドレスが、実際のデータの格納場所ではなく、その格納場所のアドレスを指す方法です。
- 具体的なプログラム例として、記録場所の差を求めて別の場所に格納するプログラムを提示しました。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
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
その他の回答 (1)
noname#63526
回答No.2
ANo.1補足、間接アドレッシングは、連続するアドレスや規則性のあるアドレスを簡単に参照出来ます。
お礼
すごい役に立ちました。 ありがとうございます。