运算的对象称为运算分量,然而在指令中对其操作的对象往往称为操作数。在指令的执行中最频繁地涉及的问题之一是操作数的存取。把操作数的值存入应单元中称为存,从相应单元中取出操作数的值称为取。为对操作数进行存取,必须有分配给操作数的单元之地址。存储操作数的真实单元地址称有效地址或绝对地址,它的求得并非十分简单。获得真实单元地址的方法称寻址法。
1.直接寻址法
在直接寻法中,操作数给出的是真实的单元抛址。例如,为变量r分配的是单元1008,因此指令中直接给出地址1008。
2.间接寻址法
当指令中给出一个地址时,若指令所指的操作数是指令所给出的那个地址所指定的单元中的内容时,则称这种寻址为间接寻址法。间接寻址法在查表程序中特别有用。例如,假定有一个表从单元1000开始存放,现在查看表的各项。其位置可以从另一单元2000的内容指出:如2000中的内容是1100,则通过地址2000间接查看的是单元1100处的表项;如果把单元2000的内容增加以4,则通过地址2000间接查看的是单元1104处的表项等等。
个目录,单元1100中指出的可能是真正操作数所在单元的地址(如3200)。这时单元地址3200是从地址2000出发,通过两次间接而获得的。通过接连几次间接而获得有效地址,称多重间接。理论上间接重数可以任意多,但实际上限于硬件条件,间接重数总是有限制的。