Assembly moffs16/32的分部基础

Assembly moffs16/32的分部基础,assembly,x86,instructions,opcode,Assembly,X86,Instructions,Opcode,我正在查看不同的MOV指令,对其中一个指令有疑问。MOV moffs16/32,AX指令。根据英特尔手册:“moffs8、moffs16、moffs32和MOFFS64操作数指定相对于段基的简单偏移量,其中8、16、32和64表示数据的大小。”指令的操作码是A3,我想知道的是相对于哪个段寄存器的偏移量?是CS、DS还是ES?根据《基本架构手册》第3.7.4节规定的段选择器: 可以隐式或显式指定段选择器。[...] 处理器根据需要自动选择一个段 表3-5中给出的规则 SS任何使用ESP或EBP寄存

我正在查看不同的MOV指令,对其中一个指令有疑问。MOV moffs16/32,AX指令。根据英特尔手册:“moffs8、moffs16、moffs32和MOFFS64操作数指定相对于段基的简单偏移量,其中8、16、32和64表示数据的大小。”指令的操作码是A3,我想知道的是相对于哪个段寄存器的偏移量?是CS、DS还是ES?

根据《基本架构手册》第3.7.4节规定的段选择器:

可以隐式或显式指定段选择器。[...] 处理器根据需要自动选择一个段 表3-5中给出的规则

SS
任何使用ESP或EBP寄存器作为基址的内存引用 登记

DS
所有数据引用,相对于堆栈或 字符串目标

问题中的指令仅使用单个常量偏移量,因此没有带寄存器的有效地址。因此,除非被前缀覆盖,否则它是DS