数据寻址方式
1、 立即数寻址
立即数寻址:指令需要的操作数紧跟在操作码之后称之为指令机器码的一部分,并随着处理器的取址操作需要从主存进入指令寄存器。这些操作数用常量形式直接表达,从指令代码中立即得到立即数,立即数寻址方式只用于指令的原操作数,在传送指令过程中常用来给寄存器和存储单元赋值。
2、 寄存器寻址
指令的操作数存放在处理器的寄存器中,就是寄存器存储方式绝大多数的指令采用通用寄存器寻址(IA-32处理器是:EAX,EBX,ECX,EDX,ESI,EDI,EBP,ESP其支持的16位形式:AL,AH,BL,BH,CL,CH,DL,DH),部分支持专用寄存器,如段寄存器和标志寄存器。
3、 存储器寻址
- 1、 段寄存器的默认和超越
段寄存器(段选择器)有默认的使用规则。一般是DS段寄存器指向的是数据段,如果采用的是EBP(BP)或者是ESP(SP)做基地址指针,则默认SS段寄存器指向堆栈段。
- 2、 偏移地址的形成
由于段基地址由默认的或者是指定的段寄存器,所以存储器操作数寻址使用的偏移地址常称为有效地址。
- 3、 直接地址
有效部分只有位移量部分,且直接包含在指令代码中,就是存储器的直接寻址方式,直接寻常用于存取变量。
例如:mov ecx,count;m