bx
和bp
在汇编中有什么区别?例如:
mov bx, 1h
mov bp, 1h
他们引用同一块内存吗?ss
和sp
也是这样吗?在 x86
中,寄存器 bx
和 bp
是完全不相关的。它们唯一共同的地方是单词 base
。
bx
(基址索引) 是一个通用寄存器(像 ax、cx 和 dx 一样),通常用作数据指针(用于数组等)bp
(基址指针) 通常用于指向堆栈中的某个位置(例如保存当前堆栈帧的地址)同样,ss
和 sp
也是不同的。
ss
(堆栈段) 是一个段寄存器(像 cs、ds 和 es 一样)。它保存堆栈使用的 段。sp
(栈指针) 指向栈的顶部BP寄存器主要用于引用传递给子程序的参数变量。SS寄存器中的地址与BP中的偏移量相结合,可以得到参数的位置。BP还可以与DI和SI组合作为特殊寻址的基址寄存器。
BX:用于索引和间接寻址。
ss
指向与sp
相同的位置,谢谢! - tina nyaass
和sp
是完全无关的(你需要点击 x86 分段的链接来了解)。sp
和bp
之间有一定的关系。 - cnicutar