指令由操作码和操作数组成,操作码通过指令指针PC找到,那么CPU是如何找到操作数的呢?
确定指令中操作数所在存储单元地址的方式,就是我们所说的寻址方式。对于只有操作码的指令,不存在寻址方式问题;对于双操作数指令来说,每一操作数都有自己的寻址方式。
例如,在含有两个操作数的指令中,第一操作数(也称为目的操作数)有自己的寻址方式;第二操作数(称为源操作数)也有自己的寻址方式。
指令中的操作数来源的规定:操作数只能是下列内容之一:
(1)CPU内某一寄存器名,如累加器A、通用寄存器B、堆栈指针SP、程序状态字寄存器PSW以及工作寄存器组R7~R0。
(2)存储单元。存贮单元地址范围由CPU寻址范围以及实际安装的存储器容量、连接方式决定。
(3)I/O端口号。在通用微机系统中,I/O地址空间与存储器地址空间相互独立;不过在单片机系统中,I/O端口地址空间往往与外存储器地址空间连在一起,不再区分。
(4)常数。常数类型及范围与CPU类型有关。
|