D/B位对栈操作的影响:
stack-segment描述符中为B位 它决定了栈段的address-size,也就是使用esp或者sp
code-segment描述符中为D位 在栈操作中 它的operand-size属性决定了栈指针(esp/sp)的增减单位(2,4,8(8为64位模式下))
*:prefixes前缀 会覆盖掉原本的D/B位属性.. 因此 当D为为1 使用诸如push word ptr [xxxxxxxx]指令时.. 栈指针会错位(此时esp-2 正常下是esp-4)
D/B位对栈操作的影响:
stack-segment描述符中为B位 它决定了栈段的address-size,也就是使用esp或者sp
code-segment描述符中为D位 在栈操作中 它的operand-size属性决定了栈指针(esp/sp)的增减单位(2,4,8(8为64位模式下))
*:prefixes前缀 会覆盖掉原本的D/B位属性.. 因此 当D为为1 使用诸如push word ptr [xxxxxxxx]指令时.. 栈指针会错位(此时esp-2 正常下是esp-4)