8B 代码段 04 设DS=2000H,BX=1000H 8B 代码段 本例执行后AX=50A0H 04 数 AO 50 AX DS=2000H DS×16 20000H EA=BX(=1000)数 AH AL 21000HA0 据段 50 AX AO 这种寻址方式的优点就在于可以随时修改BX寄存器的内 容,而指向不同的存储单元。故BX又称为基址指针寄存器
设DS=2000H,BX=1000H 本例执行后AX=50A0H DS=2000H DS16 20000H EA=BX(=1000H) 21000H 50 A0 8B... ... 04 A0 50 代码段 数 据 段 AX AH AL 这种寻址方式的优点就在于可以随时修改BX寄存器的内 容,而指向不同的存储单元。故BX又称为基址指针寄存器
例: MOV AL,DATA[BP] 这里DATA是以符号表示的位移量 EA=BP+位移量DATA 操作:以EA作为有效地址,在堆栈段中去 寻址字节单元,再将该字节单元内容送AL
例:MOV AL,DATA[BP] 这里DATA是以符号表示的位移量。 EA=BP+位移量DATA 操作:以EA作为有效地址,在堆栈段中去 寻址字节单元,再将该字节单元内容送AL
b变址寻址方式 以SI,DI寄存器作为间接寻址寄存器,操 作数在数据段中。 EA=S或DI内容+8位或16位位移量 例: ADD AX,[S EA=SI 操作:以EA作为有效地址,在数据段中 找到某个操作数,再将该操作数与AX的内容 相加,结果存放在AX中
b. 变址寻址方式 以SI,DI寄存器作为间接寻址寄存器,操 作数在数据段中。 EA=SI或DI内容+8位或16位位移量 例:ADD AX,[SI] EA=SI 操作:以EA作为有效地址,在数据段中 找到某个操作数,再将该操作数与AX的内容 相加,结果存放在AX中
c.基址变址寻址方式 既有基址寄存器(BX或BP),又有变址 寄存器参与(SI或Dn寻址,操作数在基址寄 存器所规定的段中。 EA=BX或BP+SI或DH+8位或16位位移量
c. 基址变址寻址方式 既有基址寄存器(BX或BP),又有变址 寄存器参与(SI或DI)寻址,操作数在基址寄 存器所规定的段中。 EA=BX或BP+SI或DI+8位或16位位移量
例: MOV AX,0260H[BX][S EA=BX+SH+0260H,操作数在数据段中 MOV AX, INF [BP+DI EA=BP+DH位移量INF,操作数在堆栈段中 以上两种基址+变址的格式都是合法的
例:MOV AX,0260H [BX] [SI] EA=BX+SI+0260H,操作数在数据段中 MOV AX,INF [BP+DI] EA=BP+DI+位移量INF,操作数在堆栈段中 * 以上两种基址+变址的格式都是合法的