一条指令包括操作码和地址码。
有效地址:当操作数存放在主存单元中时,若指令中的地址码不能直接用来访问主存,则将这样的地址码称为形式地址,对形式地址进行一定的计算而得到的存放操作数的主存单元的地址。
(1)立即寻址的有效地址为指令所在地址;
(2)直接寻址给出的操作数地址就是操作数的有效地址;
(3)寄存器寻址也是一种“直接”寻址;
(4)间接寻址意味着给出的地址不是操作数地址而是存放操作数地址的主存单元的地址;由间接单元地址求操作数地址再求操作数;
(5)寄存器间址及其变型:寄存器地址(R)-操作数地址(M)-操作数;
(6)变址地址:将形式地址作为基准地址,将变址寄存器内容作为修改量(变址量);
(7)相对地址
(8)堆栈地址
例题:
例题:基址寄存器的内容是3000H,变址寄存器的内容是02b0H,指令地址为1FH(形式地址),当前正在执行的指令地址为3A00H。
问:变址寻址方式的有效地址(有效操作数/有效数据)是多少?
基址寻址的有效地址是多少?
相对寻址方式的有效地址是多少?
立即数寻址方式的有效地址是多少?
解:(1)基址地址有效地址 = 基址地址 + 指令地址 = 301FH;
3000H
+ 1FH
-------------
301FH
(2)变址地址有效地址 = 02b0H +1FH = 02cFH;
(3)相对有效地址 = 3A00H +1FH = 3A1FH;
(4) 立即数有效地址 = 3A00H;