例: MOV CX,-6[BX];(①DS)+(BX-6)CX 设执行前:(BX)=16H,(DS)=2000H,(20010H=3789H 执行 DS BX 代 MOVCⅩ 2000H 16H OFFH OFAH 段数据段 89H 20010H 37H20011执行后(CX)=3789H, 其他寄存器内容不变。 例:MOV[BX+7],BX MOV DL, 4[AX X MOV BX,ES:ABC[SI];其中ABC为变量名,它表示变量 到所在段段首址的EA
11 例:MOV CX,-6[BX] ;((DS)+(BX)-6) CX 设执行前 : (BX)=16H,(DS)=2000H,(20010H)=3789H 执行: 执行后(CX)=3789H, 其他寄存器内容不变。 : DS BX MOV CX OFFH OFAH + : 89H 20010H 37H 20011H : 代 码 段 数 据 段 2000H 16H -6 例:MOV [BX+7],BX MOV DL,4[AX] × MOV BX,ES:ABC[SI] ;其中ABC为变量名,它表示变量 到所在段段首址的EA
六,基址变址寻址方式 LBR+IRI 其中:BR为基址寄存器,仅为BX和BP之一; IR为变址寄存器,仅为S和DI之一。 操作对象在内存中。 操作数的EA=(BX)+(S或(DI (BP)+(SI)或(DI 缺省段跨越符,其物理地址:((DS)+(BX)+(SⅠ或DI 4 (SS)+(BP)+(SI或DI 4 MOV AX, [ BX+BP x MOV [SI+DI, CX Mov BX+CX, AX 12
12 格式:[BR+IR] 其中:BR为基址寄存器,仅为BX和BP之一; IR为变址寄存器,仅为SI和DI之一。 特点:• 操作对象在内存中。 • 操作数的EA= (BX)+(SI)或(DI) (BP)+(SI)或(DI) •缺省段跨越符,其物理地址: (DS)+(BX)+(SI)或DI 4 (SS)+(BP)+(SI)或DI 4 例:MOV AX,[BX+BP] × MOV [SI+DI],CX × MOV [BX+CX],AX × 六. 基址变址寻址方式
MOV AX, [BX+DI< MOV AX, [BXJ DI 设执行前(DS)=2100H (BX)=158H (DI)=10A5H (221FDH=1234H EA=158H+10A5H=11FDH °物理地址:(DS)+EA=21000H+11FDH221FDH 4 DS BX D 指令码 2100H158H 10A5H 数 34H 221FDH+ 据 12H 221FEH 段 执行后:(AX)=1234H 当 MOV AL,[BX+DI];(221FDH字节-34H→AL即(AL)=34H 13
13 例:MOV AX,[BX+DI] MOV AX,[BX][DI] 设执行前 (DS)=2100H (BX)=158H (DI)=10A5H (221FDH)=1234H EA=158H+10A5H=11FDH ∴物理地址:(DS)+EA=21000H+11FDH=221FDH 4 : DS BX DI 指令码 : 4 : + 34H 221FDH 12H 221FEH : 2100H 158H 10A5H 数 据 段 执行后:(AX)=1234H 当 MOV AL,[BX+DI];(221FDH)字节=34H AL 即(AL)=34H
七,相对基址变址寻址方式 X BR+IR 其中:BR为基址器。仅为BX,BP之 IR为变址器,仅为SI,DI之; Ⅹ为一整常数或已定义的变量名 对象在内存中; 操作数的EA=(BX)+(SD或(DⅠ)+X (X为变量名,则该变量名 到所在段的段首的字节 个数) (BP)+(SI或(DI)+Ⅹ
14 格式:X[BR+IR] 其中:BR为基址器,仅为BX,BP之一; IR为变址器,仅为SI,DI之; X为一整常数或已定义的变量名。 特点: •对象在内存中; •操作数的EA= (BX)+(SI)或(DI)+X (X为变量名,则该变量名 到所在段的段首的字节 个数) (BP)+(SI)或(DI)+X 七.相对基址变址寻址方式
例: MOV AX,8[BX+SI] 执行前:(AX)=45H,(BX=30H,(SI)=20H,(DS)=1000H (10058H)=99H DS BX S 100_30H」□20H」 代码段数据段 指令码 8 99H 10058H 10059H 执行后:(10058H)→AX (AX)=99H : MOV DX,MBX+DI];设M已定义在数据段中 MOV SS:[BⅩ+SI+7],CⅩ;物理地址=(SS)+(BX)+(SⅠ+7 15
15 例:MOV AX,8[BX+SI] 执行前:(AX)=45H,(BX)=30H,(SI)=20H,(DS)=1000H (10058H)=99H : 指令码 8 : : 99H 0 : 代 码 段 数 据 段 DS BX SI + 10058H 10059H 执行后:(10058H) AX (AX)=99H 1000H 30H 20H 例:MOV DX,M[BX+DI] ;设M已定义在数据段中 MOV SS:[BX+SI+7],CX ;物理地址=(SS)+(BX)+(SI)+7 4