,第3章寻址方式和指令系统 变址寻址适用于对一维数组的数组元素进行检索操作。位 移量表示数组起始地址偏移量,变址表示的是可以变化的数组 元素下标。 例3-10执行指令 MOV CX,LIST[Dn的结果是将内存中从 DS:[DI+LIS们处开始的连续两个单元内容送入CX中,其中LIST 是用符号表示的位移量,变址寄存器使用的是DI,所以默认段 为l
第3章 寻址方式和指令系统 变址寻址适用于对一维数组的数组元素进行检索操作。位 移量表示数组起始地址偏移量,变址表示的是可以变化的数组 元素下标。 例3-10 执行指令MOV CX,LIST[DI]的结果是将内存中从 DS∶[DI+LIST]处开始的连续两个单元内容送入CX中,其中LIST 是用符号表示的位移量,变址寄存器使用的是DI,所以默认段 为DS
,第3章寻址方式和指令系统 7.基址加变址寻址 由指令中的基址寄存器内容和变址寄存器内容相加得到操作 数的有效地址EA的寻址方式称为基址加变址寻址,即 EA=[基址寄存器]+[变址寄存器] 如 MOV AX, BX+SI E Mov AX, BXI SIl MOV EAX, EDX EBP E MOV EAX, [EDX+EBP
第3章 寻址方式和指令系统 7.基址加变址寻址 由指令中的基址寄存器内容和变址寄存器内容相加得到操作 数的有效地址EA的寻址方式称为基址加变址寻址,即 EA=[基址寄存器]+[变址寄存器] 如: MOV AX, [BX+SI] ;或 MOV AX,[BX][SI] MOV EAX,[EDX][EBP] ;或 MOV EAX,[EDX+EBP]
,第3章寻址方式和指令系统 基址加变址寻址有16位和32位寻址两种情况,每种情况下基 址、变址寄存器的使用规定和段寄存器的默认规定与基址寻址、 变址寻址相同。但当一种寻址方式中既有基址寄存器又有变址寄 存器,而两个寄存器默认的段寄存器又不相同时,一般规定由基 址寄存器来决定默认哪一个段寄存器作段基址指针。缺省时操作 数所在段由指令中的基址寄存器决定,若使用BP、ESP或EBP,则 默认操作数在SS段中;若使用其他基址或变址寄存器,则默认操 作数在DS段中。如: OVAX,[BⅩ][Sn];基址寄存器是BX,默认DS为段基址寄存器 MOV EAX,[ EBPJ ECX];基址寄存器是EBP,默认SS为段基址寄存器 基址加变址寻址可用于二维数组操作(如检索数组元素)和二重循 环等
第3章 寻址方式和指令系统 基址加变址寻址有16位和32位寻址两种情况,每种情况下基 址、变址寄存器的使用规定和段寄存器的默认规定与基址寻址、 变址寻址相同。但当一种寻址方式中既有基址寄存器又有变址寄 存器,而两个寄存器默认的段寄存器又不相同时,一般规定由基 址寄存器来决定默认哪一个段寄存器作段基址指针。缺省时操作 数所在段由指令中的基址寄存器决定,若使用BP、ESP或EBP,则 默认操作数在SS段中;若使用其他基址或变址寄存器,则默认操 作数在DS段中。如: MOV AX, [BX][SI] ;基址寄存器是BX,默认DS为段基址寄存器 MOV EAX,[EBP][ECX] ;基址寄存器是EBP,默认SS为段基址寄存器 基址加变址寻址可用于二维数组操作(如检索数组元素)和二重循 环等
,第3章寻址方式和指令系统 例3-11设DS)=2000,(SI)=20OH,(BX)=1000H (21200H=21H,执行指令MOAL,[SI+BX]的结果是 (AL)=21H,执行过程如图3-11所示 DS 2000F ×1OH SI 200H BX 1000F D没 低 21H2120OF 21H 高 AL 图3-11例3-11基址加变址寻址示意图
第3章 寻址方式和指令系统 例3-11 设(DS)=2000H,(SI)= 200H ,(BX)= 1000H , (21200H)=21H,执行指令MOV AL,[SI+BX]的结果是: (AL)=21H ,执行过程如图3-11所示。 图3-11 例3-11基址加变址寻址示意图 200H 1000H + S I BX ×10H 21H … … 低 高 DS段 21H AL 21200H DS 2000H +
,第3章寻址方式和指令系统 例3-12执行 MOV BX,[EDI+EAX]的结果是将内存中 DS:[EDI+EAX]处开始的连续两个单元内容送BX中
第3章 寻址方式和指令系统 例3-12 执行MOV BX,[EDI+EAX]的结果是将内存中 DS∶[EDI+EAX]处开始的连续两个单元内容送BX中