汇編语言程序设计 其中:变址存器是EAX、EBX、BCX、EDX、ESⅠ、EDⅠ、BBP之一; 比因子可以是1、2、4、8;放移量可以是0、8位或32位 此孕扯方式操作數默认在数据段,若操作數不在默认的数据段中时, 则应使用段超越前缀明确指定。 例如: MOV EAX, COUNTI EDⅠ*2];COUN是位移量,2是比例因子 其中乘以比例因子的操作是在CPU内部由硬件完成。 (2)基扯加比例变扯寻址 由变址岢存器的内容乘以比例因子加上基扯岢存器的内容再加上 移量而得到操作数有效地扯EA的寻址方式称为基址加比例变址尋址。 即:EA=[变扯岢存器]×比例因子十[基扯岢夺器]十位移量。 若基址岢存器采用EBP、ESP时,则操作数脒认在SS段中。若基扯寄存 器采用除EBP、ESP以外的其他存器时,则操作数默认在DS段中。考 操作数不在相疝的脒认段中时,则应使用段超越前缀明确指定。 例如:MOV[ESI*+EDX],EAX ;目的操作数在DS段中汇编语言 程序设计 其中:变址寄存器是EAX、EBX、ECX、EDX、ESI、EDI、EBP之一; 比例因子可以是1、2、4、8;位移量可以是0位、8位或32位。 此寻址方式操作数默认在数据段,若操作数不在默认的数据段中时, 则应使用段超越前缀明确指定。 例如:MOV EAX,COUNT[ EDI*2 ];COUNT是位移量,2是比例因子 其中乘以比例因子的操作是在CPU内部由硬件完成。 (2) 基址加比例变址寻址 由变址寄存器的内容乘以比例因子加上基址寄存器的内容再加上位 移量而得到操作数有效地址EA的寻址方式称为基址加比例变址寻址。 即:EA= [ 变址寄存器 ]×比例因子+[ 基址寄存器 ]+位移量。 若基址寄存器采用EBP、ESP时,则操作数默认在SS段中,若基址寄存 器采用除EBP、ESP以外的其他寄存器时,则操作数默认在DS段中。若 操作数不在相应的默认段中时,则应使用段超越前缀明确指定。 例如:MOV [ ESI*4+EDX ],EAX ;目的操作数在DS段中