"IBM personal computer assembly language tutorial" - читать интересную книгу автора (Auerbach J.)

.......
MOV AX,PLACE ;Access storage symbolically by 16 bit address

In the above example, the assembler knows that no special issues are
involved because the machine generally uses the DS register to complete
a normal data reference.

If you had used ES instead of DS in the above example, the assembler
would have known what to do, also. In front of the MOV instruction
which accessed the location PLACE, it would have placed the ES segment
prefix. This would tell the machine that ES should be used, instead of
DS, to complete the address.

Some conventions make it especially easy to forget about segment regis-
ters. For example, any program of the COM type gets control with all
four segment registers containing the same value. This program exe-
cutes in a simplified 64K address space. You can go outside this
address space if you want but you don't have to.

2. You will want to learn what other registers are available and learn
their personalities:

AX and DX are general purpose registers. They become special only
when accessing machine and system interfaces.

CX is a general purpose register which is slightly specialized for
counting.

BX is a general purpose register which is slightly specialized for
forming base-displacement addresses.

AX-DX can be divided in half, forming AH, AL, BH, BL, CH, CL, DH,
DL.

SI and DI are strictly 16 bit. They can be used to form indexed
addresses (like BX) and they are also used to point to strings.

SP is hardly ever manipulated. It is there to provide a stack.

BP is a manipulable cousin to SP. Use it to access data which has
been pushed onto the stack.

Most sixteen bit operations are legal (even if unusual) when per-
formed in SI, DI, SP, or BP.





IBM PC Assembly Language Tutorial 5