堆栈段寄存器ss和栈指针sp可以修改吗
1个回答
展开全部
堆栈段寄存器ss和栈指针sp可以修改。
堆栈段寄存器ss和栈指针sp它只是在堆栈操作时(比如PUSH,CALL等)与SS配合指示栈顶。它也可作为一般数据寄存器存放数据和参与运算。不过,由于堆栈的重要性,一般除了特别需要处理堆栈时才使用外,应尽量避免用它作数据寄存或运算。
堆栈段寄存器ss和栈指针段寄存器的产生:
段寄存器的产生源于Intel 8086 CPU体系结构中数据总线与地址总线的宽度不一致。数据总线的宽度,也即是ALU(算数逻辑单元)的宽度,平常说一个CPU是“16位”或者“32位”指的就是这个。8086CPU的数据总线是16位。
堆栈段寄存器ss和栈指针sp地址总线的宽度不一定要与ALU的宽度相同。因为ALU的宽度是固定的,它受限于当时的工艺水平,当时只能制造出16位的ALU;但地址总线不一样,它可以设计得更宽。地址总线的宽度如果与ALU相同当然是不错的办法。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询