【微型计算机原理与接口技术】寻址方式

寻址方式

  • 操作数寻址方式
    • 1.立即寻址方式
    • 2.寄存器方式
    • 存储器操作数寻址方式
      • 1.直接寻址
      • 2.寄存器间接寻址
      • 3.基址寻址
      • 4.变址寻址
      • 5.基址+变址寻址
  • 寻址方式总结

操作数寻址方式

操作数是指令的操作对象;寻址方式就是在指令中,使用特定的助记符(地址表达式),告知CPU如何计算出操作数的地址,从而正确地取出操作数进行后继的指令操作

“寻址方式”:通俗的讲,就是通知CPU本条指令的操作数在哪儿?或者说用上面方式才能得到操作数。

  • 操作数包含在指令中,这种操作数称为立即数
  • 操作数存放在CPU的某个寄存器中,这种操作数称为寄存器操作数
  • 操作数存放在存储器中,这种操作数称为存储器操作数(内存操作数)
  • 操作数存放在I/O端口中,这种操作数称为I/O端口操作数。

【微型计算机原理与接口技术】寻址方式_第1张图片

1.立即寻址方式

立即寻址方式所提供的操作数直接放在指令中,紧跟在操作码的后面,与操作码一起放在代码段区域中。立即数可以是8、16、32位。

操作数是指令的一部分,完整地取出该条指令,也就获得了操作数。
【微型计算机原理与接口技术】寻址方式_第2张图片

MOV	EAX, 12345678H
MOV 	BL, 10101010B		;AAH -> BL
MOV	CL, -4					;FCH -> CL
MOV	DL, 'A'					;41H -> DL
ADD	AL, 0C8H			
MOV	SI, 3*5					;15 -> SI

2.寄存器方式

【微型计算机原理与接口技术】寻址方式_第3张图片

存储器操作数寻址方式

  • 在读写内存操作数之前,CPU必须知道相关存储单元的物理地址
  • 由于CPU对存储器采用分段管理,因此指令格式中只能写出存放操作数的内存单元的“逻辑地址”。
  • 程序员的责任仅在于正确的书写逻辑地址表达式,然后由CPU自动运算以求出物理地址。
    【微型计算机原理与接口技术】寻址方式_第4张图片

1.直接寻址

(1)地址表达式的格式1:段寄存器:[偏移地址]
如:MOV AL, ES:[2CH]
ES附加段偏移地址为2CH的单元取出 -> AL
如:MOV AX, DS:[2000H]
数据段偏移地址为2000H的单元取一字 ->AX
【微型计算机原理与接口技术】寻址方式_第5张图片

(2)地址表达式的格式2:段寄存器:变量名
用变量名代表存储单元的有效地址

说明:

  • 格式1很少使用,因为通常情况下,程序员不知道某单元的偏移地址。
  • 汇编语言允许为某单元起一个“名字”,这个名字就称为该单元的“变量名”,经汇编之后,变量名有段基址和偏移量两种属性。
  • 变量名是唯一的,程序中不能有重复的变量名。

【微型计算机原理与接口技术】寻址方式_第6张图片

2.寄存器间接寻址

寄存器间接寻址又称间接寻址,间址。操作数在内存单元,该单元的段基址在段寄存器中,偏移地址在间址寄存器中,CPU首先进行地址计算
(1)间接寻址的地址表达式:段寄存器:[间址寄存器]
某单元的物理地址 = 段寄存器内容 * 16 + 间址寄存器
(2)访问约定的逻辑段,间接寻址的地址表达式简化为:[间址寄存器]
某单元的物理地址 = 约定的寄存器内容 * 16 + 间址寄存器
【微型计算机原理与接口技术】寻址方式_第7张图片

间址寄存器和约定访问的逻辑段:
【微型计算机原理与接口技术】寻址方式_第8张图片
【微型计算机原理与接口技术】寻址方式_第9张图片
【微型计算机原理与接口技术】寻址方式_第10张图片
【微型计算机原理与接口技术】寻址方式_第11张图片

3.基址寻址

该寻址方式的偏移地址由两部分组成。一部分在基址寄存器中,另一部分为常量。

(1)基址寻址的地址表达式:段寄存器:[基址寄存器 + 位移量]
物理地址 = 段寄存器内容 * 16 + 基址寄存器 + 位移量

(2)访问约定的逻辑段,简化的地址表达式:[基址寄存器 + 位移量]
物理地址 = 约定的段寄存器内容 * 16 + 基址寄存器 + 位移量

基址寄存器和约定访问的逻辑段
【微型计算机原理与接口技术】寻址方式_第12张图片
【微型计算机原理与接口技术】寻址方式_第13张图片
【微型计算机原理与接口技术】寻址方式_第14张图片

4.变址寻址

(1)有比例因子的变址寻址其地址表达式为:段寄存器:[比例因子 * 变址寄存器 + 位移量]
物理地址 = 段寄存器 * 16 + 比例因子 * 变址寄存器 + 位移量

(2)没有比例因子的变址寻址其地址表达式为:段寄存器:[变址寄存器 + 位移量]
访问约定的逻辑段可简化为:[变址寄存器 + 位移量]
物理地址 = 约定的段寄存器 * 16 + 变址寄存器 + 位移量

变址寄存器和约定访问的逻辑段
【微型计算机原理与接口技术】寻址方式_第15张图片
【微型计算机原理与接口技术】寻址方式_第16张图片

5.基址+变址寻址

存储单元的偏移地址由3部分组成

(1)有比例因子的基址加变址的地址表达式为:
段寄存器:[基址寄存器+比例因子*变址寄存器+位移量]
访问约定逻辑段其地址表达式简化为:[基址寄存器+比例因子*变址寄存器+位移量]

(2)无比例因子基址加变址地址表达式:
段寄存器:[基址寄存器+变址寄存器+位移量]
访问约定逻辑段:[基址寄存器+变址寄存器+位移量]

【微型计算机原理与接口技术】寻址方式_第17张图片

寻址方式总结

【微型计算机原理与接口技术】寻址方式_第18张图片
【微型计算机原理与接口技术】寻址方式_第19张图片

你可能感兴趣的:(#,微型计算机原理与接口技术)