计算机寻址方式

一、指令寻址
1.两种方式
顺序寻址
每次寻址后 PC自动 +1 ;
跳跃寻址
当跳转到 JUP 指令时 其后的为立即数指令 ,便跳转到对应的指令数。
计算机寻址方式_第1张图片

  • 数据寻址 计算机寻址方式_第2张图片

  • 立即寻址特征 计算机寻址方式_第3张图片
    地址村的为立即数特征

  • 直接寻址特征 计算机寻址方式_第4张图片形式地址为: 操作数的真实地址

  • 隐含寻址 计算机寻址方式_第5张图片
    其中一个操作数的地址隐藏 在ACC( 累加寄存器)相加的数在 ACC 累加寄存器中

  • 间接寻址 计算机寻址方式_第6张图片
    EA为操作数在主存中的实际地址

  • 寄存器寻址 计算机寻址方式_第7张图片
    所需要的操作数在寄存器中而不是在 主存中

  • 寄存器间接选址 计算机寻址方式_第8张图片
    寄存器中没有存操作数 而是存了操作数在 主存的地址

  • 寄存器间接选址 计算机寻址方式_第9张图片
    寄存器中没有存操作数 而是存了操作数在 主存的地址

2.基址寻址

形式地址加上基址寄存中的数
计算机寻址方式_第10张图片
加以改进 :在指令码中加入基址寄存器的编号
3.相对寻址
计算机寻址方式_第11张图片

优点:

  • 可扩大寻址范围 (基址寄存器的位数大于形式地址A的位数)
  • 用户不必考虑自己的程序存于主存的哪一空 间区域,故有利于多道程序设计; 说明:基址寄存器是面向操作系统的,其内容由操作系统或管理程序确定。在程序执行过程中,基址寄存器的内容不变(作为基地址),形式地址可变(作为偏移量)。当采用通用寄存器作为基址寄存器时,可由用户决定哪个寄存器作为基址寄存器,但其内容仍由操作系统确定。

变址寻址
计算机寻址方式_第12张图片

优点:

  • 可扩大寻址范围 (基址寄存器的位数大于形式地址A的位数)
  • 在数组处理过程中,可设定 A 为数组的首地址,不断改变变址寄存器 IX 的内容,便可很容易形成数组中任意数据的地址。特别适合编制循环程序。

相对寻址
计算机寻址方式_第13张图片

计算机寻址方式_第14张图片
将上面 改为相对距离地址
计算机寻址方式_第15张图片

PC的作用: 告诉我们当前正在执行指令的地址 改为相对寻址后 该程序变为可浮动程序 也即为移动到任意的位置上便可运行。

二、
设相对寻址的转移指令,第一字节为操作码,第二三字节为相对位移
量(补码),数据在存储器中采用以低字节地址为字地址的存储方
式,每当 CPU 从存储器取出个字节时 PC 自增1:( PC )+1ー> PC 。

计算机寻址方式_第16张图片
说明: 内存中的高位字节存放数据的低位字节; 内存中的地位字节存放数据的高位字节。
这样一来,高位内存中的地址 则为数据中的次地址
计算机寻址方式_第17张图片 内存中的高位字节存放数据的高位字节; 内存中的地位字节存放数据的低位字节。

例题:
计算机寻址方式_第18张图片

计算机寻址方式_第19张图片
第二字节:00H, 第三字节:2FH

计算机寻址方式_第20张图片
第二字节:D5H, 第三字节:FFH

堆栈寻址
计算机寻址方式_第21张图片
以堆栈指针 进行寻址
先进后出的方式

你可能感兴趣的:(计算机组成原理,硬件架构)