变址寄存器不可分割成8位寄存器。作为通用寄存器,也可存储算术逻辑运算的操作数和运算结果。它们可作一般的存储器指针使用。在字符串操作指令的执行过程中,对它们有特定的要求,而且还具有特殊的功能。

变址寄存器的主要用途

SI:存储器指针,传指令中的源操作数指针。 DI:存储器指针,串指令中的目的操作数指针。
变址寄存器(SI,DI): 首先,变址寄存器和上面介绍的指针寄存器(也就是 BP 和SP),它们的功能其实都是用于存放某个存储单元地址的偏移, 或者是用于某组存储单元开始地址的偏移,即作为存储器指针使用,...
变址寄存器(SI,DI):
首先,变址寄存器和上面介绍的指针寄存器(也就是 BP 和SP),它们的功能其实都是用于存放某个存储单元地址的偏移,
或者是用于某组存储单元开始地址的偏移,即作为存储器指针使用,当然,由于变址寄存器和指针寄存器都是属于通用寄存器,
所以它们也可以保存算术结果或者说是具有暂存数据的功能,但是因为它们不是数据寄存器,所以无法分割成 2 个独立的 8 位寄存器使用,
关于变址寄存器和指针寄存器的详细使用,笔者将会在下一篇博文中作出最详细的介绍,
SI (Source Index) 是源变址寄存器,DI (Destination Index) 即是目的变址寄存器,
8086 CPU 中的 SI 寄存器和 DI 寄存器其实和 BX 寄存器的功能是差不多的,
只不过 SI 寄存器和 DI 寄存器均不是数据寄存器,所以它们不能够拆分为 2 个独立的 8 位寄存器,
而这也就是 SI 寄存器和 DI 寄存器与BX 寄存器所不同的地方,
既然,SI,DI 两个寄存器的功能和 BX 差不多,自然,SI 和DI 中也是可以暂存一般性数据的,
同时,通过使用 SI 和DI 寄存器也是可以用来完成寻址操作的。