Intel 8086汇编中MOV [SI+BP],AX指令应使用哪个段寄存器?
Intel 8086中
MOV [SI+BP], AX的默认段寄存器规则 - 8086的内存寻址段选择规则里,只要寻址表达式中包含BP(基址指针寄存器),默认就使用SS(栈段寄存器)计算物理地址,和BP与其他变址寄存器(如SI、DI)的书写顺序无关。
- 所以
MOV [SI+BP], AX这条指令的默认段寄存器是SS,不是DS。 - 官方规则明确:Intel x86架构基础手册中规定,所有以BP作为基址的内存访问,默认关联SS段,若要改用其他段(比如DS),必须通过段前缀(如
DS:[SI+BP])显式声明。
内容的提问来源于stack exchange,提问作者Jeremiah Boey
相关产品推荐
相关产品推荐

