指令包含操作码和操作数两部分。指令的寻址方式即指令怎样寻找下一条指令的:分为顺序寻址方式和跳跃寻址方式。当中顺序寻址方式是依据PC给出下一条要运行指令的地址。跳跃寻址方式是从运行指令中获取下一条指令的地址,之后更新PC数据。找到下一条要运行的指令。
顺序寻址方式:
如图
程序计数器+1可得到下一条指令
如图
跳跃寻址方式
如图
由指令3能够知道向下条指令为6,程序计数器的值变为6
如图
以下介绍操作数寻址方式,前面提到指令有操作码和操作数组成,一条指令中的操作数能够通过操作数地址寻找。
寻找的方式有一下几种。
首先说明,一种单地址指令的结构例如以下所看到的,当中用X,I,A各字段组成该指令的操作数地址。当中形式地址也成为偏移量。
操作码 | 变址 | 间址 | 形式地址 |
OP | X | I | A |
隐含寻址方式,操作数存在专用寄存器中
马上寻址方式。操作数存在去该指令中
直接寻址操作数存在存储器中,指令中仅仅有操作数的形式地址
间接寻址方式。操作数存在存在存储器中,但指令中的形式地址要通过存储器中的地址找到操作数。
寄存器寻址,操作数存在寄存器组中
偏移量寻址。指令须要通过操作码的隐式地址和显式地址协作寻找存储器中的操作数。
以下是堆栈寻址
这里仅仅做简单描写叙述。深入学习须要另寻资料。有错误的地方还请雅正。