(BX)(SD 有效地址 (BP) DD 物理地址=(DS)*16+(BX)+(SI或(DI 物理地址=(SS)*16+(BP)+(SD或(DI 例: MOV AX,[BX+D或 MOV AX,BXID DS:(BX)(DD)字存储单元内容送AX 例: MOV AX,[BP+S或 MOV AX,[BPS∏ SS:(BP)+(SD)字存储单元内容送AX
(BX) (SI) (BP) (DI) 有效地址 = + 物理地址 = (DS) * 16 + (BX)+ (SI)或(DI) 物理地址 = (SS) * 16 + (BP) + (SI)或(DI) 例: MOV AX,[BX+DI] 或 MOV AX,[BX][DI] DS:(BX)+(DI) 字存储单元内容送AX。 例: MOV AX,[BP+SI] 或 MOV AX,[BP][SI] SS:(BP)+(SI) 字存储单元内容送AX
例:如果(DS)=2100H,(BX)=0158H,(DD=10A5H,EA=11FDH, 则执行指令 MOV AL,[BXD 有效地址:EA=(BX)+(DI)=0158H+10A5H=11FDH 物理地址:(DS)*16+有效地址=21000H+1FDH=221FDH 执行结果:将221FDH单元内容送入寄存器AL中。 5、相对基址变址寻址方式 操作数在存储器内,指令将基址寄存器(BX或BP)与 变址寄存器(SI或DI)的内容之和再加上位移量(8位 或16位),得到操作数所在单元的有效地址 (BX) (SD DISP8 有效地址= (BP) (DD DISP16
例:如果 (DS)=2100H, (BX)= 0158H, (DI)=10A5H, EA=11FDH, 则执行指令 MOV AL,[BX][DI] 有效地址:EA=(BX)+(DI)=0158H+10A5H=11FDH 物理地址:(DS)* 16 + 有效地址=21000H+11FDH=221FDH 执行结果:将221FDH单元内容送入寄存器AL中。 5、相对基址变址寻址方式 操作数在存储器内,指令将基址寄存器(BX或BP)与 变址寄存器(SI或DI)的内容之和再加上位移量(8位 或16位),得到操作数所在单元的有效地址。 (BX) (SI) DISP8 (BP) (DI) DISP16 有效地址= + +
物理地址=(DS)*16+(BX)产生的有效地址 物理地址=(Ss)*16+(BP)产生的有效地址 例:已知:(DS)=3000H,(BX)=2000H,(SI)=1000H, MK=0250H 指令: MOVAX,MK[BXIS 或 MOVAX,MK[BX+S 或MOⅴAX,[MK+BX+S 有效地址:MK+(BX)+(SI=0250H+2000H+0100H =3250H 物理地址:(DS)*16+有效地址=30000H+3250H=33250H 执行结果:将33250H单元内容送AL,33251内容送AH
物理地址 = (DS)* 16 +(BX)产生的有效地址 物理地址 = (SS)* 16 +(BP)产生的有效地址 例:已知:(DS)=3000H,(BX)=2000H,(SI)=1000H, MK=0250H 指令: MOV AX,MK[BX][SI] 或 MOV AX,MK[BX+SI] 或 MOV AX,[MK+BX+SI] 有效地址:MK+(BX)+(SI)=0250H+2000H+0100H =3250H 物理地址:(DS)*16 +有效地址=30000H+3250H=33250H 执行结果:将33250H单元内容送AL,33251H内容送AH
3、1、4段超越 当操作数在内存单元时,系统根据隐含约定,自动将 寄存器DS或SS的值作为段地址。然而,当操作数段 地址不在隐含的段寄存器时,可以使用段超越前缀取 代其隐含约定。 段超越前缀形式为: 段寄存器名: 例如: MOV AX, ES: BPI ;段地址在ES MOV AX,CS:|BX]S;段地址在CS 段地址的基本约定和允许超越的情况如表所示:
3、1、4 段超越 当操作数在内存单元时,系统根据隐含约定,自动将 寄存器DS或SS的值作为段地址。然而,当操作数段 地址不在隐含的段寄存器时,可以使用段超越前缀取 代其隐含约定。 段超越前缀形式为: 段寄存器名: 例如: MOV AX,ES:[BP] ;段地址在ES MOV AX,CS:[BX] [SI] ;段地址在CS 段地址的基本约定和允许超越的情况如表所示:
存储器存取方式约定段允许超越段偏移地址 取指令 CS 尢无 P 堆栈操作 SP 源串 DS CS, ES, SS SI 目的串 ES无 D BP作基址 CS,DS,ES有效地址EA 通用数据读写DScs,ES,SS有效地址EA 3、1、5对8086内存寻址方式的注解 (1)在汇编后,指令中的变量名有具体的偏移地址 所取代
存储器存取方式 约定段 允许超越段 偏移地址 取指令 堆栈操作 源串 目的串 BP作基址 通用数据读写 CS SS DS ES SS DS 无 无 CS,ES,SS 无 CS,DS,ES CS,ES,SS IP SP SI DI 有效地址EA 有效地址EA 3、1、5 对8086内存寻址方式的注解 (1)在汇编后,指令中的变量名有具体的偏移地址 所取代