指令寻址
首先要知道程序指令是存放在内存中的
- 顺序寻址
取完一条指令后,顺序去取下一条指令,由程序计数器PC+1形成下一条指令的地址
1是指一条指令字的长度,不同机器不同 - 跳跃寻址
下一条指令的地址由转移指令的地址码字段给出
例如jmp指令,call指令。。。
数据寻址
-
立即寻址
操作数的值保存在指令本身中,而不是使用内存中的操作数
MOV AX,1234H
-
寄存器寻址
操作数在寄存器中,指令指定寄存器号。
对于16位操作数,寄存器可以是AX,BX,CX,DX,SI,DI,SP和BP;
对于8位操作数,寄存器可以是AL,AH, BL, BH, CL, CH, DL,DH;
对千386及其后继机型还可以有32位操作数,寄存器可以是EAX,EBX,ECX, EDX, ESI, EDI, ESP和EBP。
这种寻址方式由于操作数就在寄存器中,不需要访问存储器来取得操作数,因而可以得到较高的运算速度。
(BX)=1234H
MOV AX,BX
以下各种寻址方式的操作数都在除代码段以外的存储区中
EA = 基址