计组


寻址方式特征优点缺点
立即寻址操作数直接包含在指令中速度最快,不需要访问内存操作数范围受指令长度限制
直接寻址指令地址字段直接给出操作数地址简单,只需一次访存地址空间受限,寻址范围小
间接寻址指令地址字段指向存放有效地址的存储单元可扩大寻址范围,支持程序动态修改地址需要多次访存,速度慢
寄存器寻址操作数在CPU寄存器中速度快,不访问内存可用寄存器数量有限
寄存器间接寻址寄存器中存放操作数地址地址范围大,访问灵活需要访问内存,速度较慢
变址寻址有效地址 = 指令地址字段 + 变址寄存器内容适合数组、循环访问硬件结构较复杂
基址寻址有效地址 = 基址寄存器内容 + 偏移量支持程序重定位,扩大寻址范围需要额外寄存器
相对寻址有效地址 = PC当前值 + 地址偏移量适合转移指令,支持程序浮动寻址范围有限
堆栈寻址操作数存放在栈顶,由SP指示指令短,适合函数调用、中断处理访问灵活性较低

总结:

  • 速度排序(快 → 慢):寄存器寻址 ≈ 立即寻址 > 直接寻址 > 间接寻址
  • 扩大地址范围:间接寻址、基址寻址、变址寻址
  • 适合数组处理:变址寻址
  • 适合程序模块化与重定位:基址寻址、相对寻址
  • 适合函数调用:堆栈寻址

核心公式:

  • 直接寻址:EA = A
  • 间接寻址:EA = (A)
  • 变址寻址:EA = A + IX
  • 基址寻址:EA = A + BR
  • 相对寻址:EA = PC + A

其中 EA(Effective Address)表示有效地址,A表示指令中的地址字段。