计算机指令寻址模式深度解析
1. 基本寻址模式概述
指令的长度和其操作数的位置与寻址模式密切相关。较短的指令,其操作数可能存于内存;而较长的指令,操作数可能在其他地方。基本的寻址模式包括内存立即数、内存直接寻址和内存间接寻址。
这三种基本寻址模式都可以与索引结合使用。索引是第二代计算机开发的重要编程概念,它利用硬件寄存器修改指令中的内存地址,即硬件寄存器的值与指令中的地址相加得到最终地址,这个硬件寄存器被称为索引寄存器。通过将索引与基本寻址模式结合,可以衍生出更多的寻址模式。
2. 索引寻址
索引寻址最初是与内存直接寻址结合使用的,有效地址(EA)的计算方式为:
- 有效地址 = 指令中编码的地址 + 索引寄存器的内容(如果指定)
运算在运行时由加法器完成,结果位被放置在地址总线上以从内存中获取操作数。从软件角度看,指令包含基地址,硬件寄存器包含索引或偏移量,有效地址指向内存块中间的操作数。
下面是一个使用索引寻址将 1 到 100 的整数存储到名为 intArray 的内存块中的循环示例:
;A loop to store 1, 2, 3,.., up to 100 in a memory block named
;intArray to mean integer array.
. . .
intArray
dw 100 dup (?)
. . .
mov
di, 0
;initial index
mov
ax, 1
;counter
b0010: mov
intArray[di]
超级会员免费看
订阅专栏 解锁全文
1109

被折叠的 条评论
为什么被折叠?



