`bx`和`bp`之间的区别?

时间:2011-09-02 04:45:42

标签: assembly masm masm32

汇编中bxbp之间有什么区别?示例:

mov bx, 1h
mov bp, 1h

他们引用相同的内存吗?它与sssp一样吗?

2 个答案:

答案 0 :(得分:15)

x86中,bxbp寄存器完全不相关。关于它们的唯一常见问题是单词base

  • bx (基本索引)是一个通用寄存器(如ax,cx和dx),通常用作指向数据的指针(用于数组等)
  • bp (基指针)通常用于指向堆栈中的某个位置(例如,保存当前堆栈帧的地址)

同样,sssp也不同。

  • ss (堆栈段)是段寄存器(如cs,ds和es)。它包含堆栈使用的segment
  • sp (堆栈指针)指向堆栈顶部

答案 1 :(得分:0)

BP寄存器主要帮助参考传递给子例程的参数变量。 SS寄存器中的地址与BP中的偏移量相结合,以获取参数的位置。 BP也可以与DI和SI组合用作特殊寻址的基址寄存器。

BX:用于索引和间接寻址