由四元素可组合出9种存储器寻址方式。 Pentium微处理器共有1种寻址方式: 1.立即数寻址 操作数作为立即数直接存在指令中,可为字节、字、 双字 MOVECX. 12345678H 低地址 操作码 78H ECX 12H 34H 56H 78H -56H CS段 34H 12H 高地址
由四元素可组合出9种存储器寻址方式。 Pentium微处理器共有11种寻址方式: 1. 立即数寻址 操作数作为立即数直接存在指令中,可为字节、字、 双字 MOV ECX, 12345678H 低地址 高地址 CS段 操作码 78H 56H 34H 12H ECX 12H 34H 56H 78H
2.寄存器寻址 操作数包含在指令规定的8位、16位、32位寄存器 中 MOVECX EDX ECX EDX 12H34H56H78H 12H34H56H78H 寄存器寻址由于无需从存储器中取操作数,故执行 速度快
2. 寄存器寻址 操作数包含在指令规定的8位、16位、32位寄存器 中 MOV ECX, EDX 12H 34H 56H 78H ECX 12H 34H 56H 78H EDX 寄存器寻址由于无需从存储器中取操作数,故执行 速度快
3.直接寻址 指令中的操作数部分直接给出操作数的有效地址 EA,操作数可以是16位或32位整数,操作数默认 在DS段中 低地址 操作码 MOVAX, 3000H OOH CS段 30H DS50000 3000 53000 50000 53000 DS段 34H AX 12H 34H 12H 高地址
3. 直接寻址 指令中的操作数部分直接给出操作数的有效地址 EA,操作数可以是16位或32位整数,操作数默认 在DS段中 MOV AX, [3000H] 低地址 高地址 CS段 操作码 00H 30H 34H 12H AX 12H 34H DS段 50000 53000 DS 5000 0 3000 53000 +
如果操作数在DS以外的其他段(CS,SS,ES,FS,GS) 中,指令中必须指明段寄存器 低地址 MOVAX, FS: 3000H 操作码 OOH CS段 30H FS20000 3000 23000 20000 23000 FS 段 34H AX 12H 34H 12H 高地址
如果操作数在DS以外的其他段(CS,SS,ES,FS,GS) 中,指令中必须指明段寄存器 MOV AX, FS:[3000H] 低地址 高地址 CS段 操作码 00H 30H 34H 12H AX 12H 34H FS段 20000 23000 FS 2000 0 3000 23000 +
4.寄存器间接寻址 操作数地址的偏移量(有效地址EA)存放在寄存 器中 16位寻址:偏移地址放在SL,DL,BP,BX中 以SL,DL,BX间接寻址,默认操作数在DS段中 MOVAX, ISI 以BP间接寻址,默认操作数在SS段中 MOVAX, IBPI 32位寻址:偏移地址放在8个32位通用寄存器中 除ESP,EBP默认段寄存器为SS外,其余均默认 段寄存器为DS MOVEAX IESP
4. 寄存器间接寻址 操作数地址的偏移量(有效地址EA)存放在寄存 器中 16位寻址:偏移地址放在SI,DI,BP,BX中 以SI,DI, BX间接寻址,默认操作数在DS段中 MOV AX, [SI] 以BP间接寻址,默认操作数在SS段中 MOV AX, [BP] 32位寻址:偏移地址放在8个32位通用寄存器中 除ESP,EBP默认段寄存器为SS外,其余均默认 段寄存器为DS MOV EAX, [ESP]