Microprocessor-8086-addressing-modes
提供:Dev Guides
マイクロプロセッサ-8086アドレス指定モード
命令でソースオペランドが示されるさまざまな方法は、*アドレッシングモード*と呼ばれます。 8086プログラミングには8つの異なるアドレス指定モードがあります-
即時アドレス指定モード
データオペランドが命令自体の一部であるアドレス指定モードは、即時アドレス指定モードと呼ばれます。
例
MOV CX, 4929 H, ADD AX, 2387 H, MOV AL, FFH
レジスタアドレッシングモード
これは、レジスタが命令のオペランドのソースであることを意味します。
例
MOV CX, AX ; copies the contents of the 16-bit AX register into
; the 16-bit CX register),
ADD BX, AX
直接アドレス指定モード
メモリ位置の実効アドレスが命令に直接書き込まれるアドレッシングモード。
例
MOV AX, [1592H], MOV AL, [0300H]
間接アドレス指定モードを登録する
このアドレス指定モードでは、BP、BX、DI、SIのいずれかのレジスタに保持されているオフセットアドレスを介して、任意のメモリ位置でデータをアドレス指定できます。
例
MOV AX, [BX] ; Suppose the register BX contains 4895H, then the contents
; 4895H are moved to AX
ADD CX, {BX}
ベースのアドレス指定モード
このアドレッシングモードでは、オペランドのオフセットアドレスは、BX/BPレジスタの内容と8ビット/16ビットの変位の合計によって与えられます。
例
MOV DX, [BX+04], ADD CL, [BX+08]
インデックス付きアドレッシングモード
このアドレス指定モードでは、SIまたはDIレジスタの内容と8ビット/16ビットの変位を加算することにより、オペランドオフセットアドレスが検出されます。
例
MOV BX, [SI+16], ADD AL, [DI+16]
ベースインデックスアドレッシングモード
このアドレッシングモードでは、ベースレジスタをインデックスレジスタの内容に加算することにより、オペランドのオフセットアドレスが計算されます。
例
ADD CX, [AX+SI], MOV AX, [AX+DI]
変位モードでのインデックス付きベース
このアドレッシングモードでは、オペランドオフセットはベースレジスタの内容を追加して計算されます。 インデックスは、コンテンツと8または16ビットのディスプレイスメントを登録します。
例
MOV AX, [BX+DI+08], ADD CX, [BX+SI+16]