(2)间接寻址方式 以间接的方式得到有效地址EA,有几个专用 的寄存器可用于间接寻址:BX,BP,SI,DI。 a.基址寻址方式 以BX作为基址寻址寄存器,操作数在数据段中。 以BP作为基址寻址寄存器,操作数在堆栈段中 EA=BX或BP的内容+8位或16位位移量
(2) 间接寻址方式 以间接的方式得到有效地址EA,有几个专用 的寄存器可用于间接寻址:BX,BP,SI,DI。 a. 基址寻址方式 • 以BX作为基址寻址寄存器,操作数在数据段中。 • 以BP作为基址寻址寄存器,操作数在堆栈段中。 EA=BX或BP的内容+8位或16位位移量
例: MOV AX,[BX] 机器码:8B04 EA=BX(位移量为0 操作:以BX的内容作为有效地址EA, 在数据段中找到对应的字单元,再将该字单 元的内容送AX中
例:MOV AX,[BX] 机器码:8B 04 操作:以BX的内容作为有效地址EA, 在数据段中找到对应的字单元,再将该字单 元的内容送AX中。 EA=BX (位移量为0)
设DS=2000H,BX=1000H 8B 代码段 本例执行后AX=50AOH 04 DS=2000H DS×16 20000H EA=BX(=10001)数 AH A 21000HA0 据段 50 AX50AO 这种寻址方式的优点就在于可以随时修改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,D寄存器作为间接寻址寄存器,操 作数在数据段中 EA=SI或D内容+8位或16位位移量 例: ADD AX,[S EA=SI 操作:以EA作为有效地址,在数据段中 找到某个操作数,再将该操作数与AX的内容 相加,结果存放在AⅩ中
b. 变址寻址方式 以SI,DI寄存器作为间接寻址寄存器,操 作数在数据段中。 EA=SI或DI内容+8位或16位位移量 例:ADD AX,[SI] EA=SI 操作:以EA作为有效地址,在数据段中 找到某个操作数,再将该操作数与AX的内容 相加,结果存放在AX中