Appendix D: Segment Register Assumptions
Where allowed, segment assumptions can be overridden with the segment override prefixes. These are DS: SS: CS: ES:. For example:
mov ES:[BX],AX
The assumptions are these:
When the offset is specified in BX, SI, or DI, the assumed segment register is DS.
When the offset is specified in SP, the assumed segment register is SS. CANNOT BE OVERRIDDEN.
When the offset is specified in BP, the assumed segment register is SS.
For string instruction LODS, the assumed segment is DS and the assumed offset is SI. CANNOT BE OVERRIDDEN.
For string instruction STOS and SCAS, the assumed segment is ES and the assumed offset is DI. CANNOT BE OVERRIDDEN.
For string instruction MOVS, the source must be pointed to be DS:SI and the destination must be pointed to by ES:DI. CANNOT BE OVERRIDDEN.