SS
ES
DI: ES SI: DS BX: DS
CS
The default segment for SP (Stack Pointer) relative memory accesses in the 8086/8088 is SS (Stack Segment).
In the x86 processor architecture, memory addresses are specified in two parts called the segment and the offset. One usually thinks of the segment as specifying the beginning of a block of memory allocated by the system and the offset as an index into it. Segment values are stored in the segment registers. There are four or more segment registers: CS contains the segment of the current instruction (IP is the offset), SS contains the stack segment (SP is the offset), DS is the segment used by default for most data operations, ES (and, in more recent processors, FS and GS) is an extra segment register. Most memory operations accept a segment override prefix that allows use of a segment register other than the default one.
In the x86 processor architecture, memory addresses are specified in two parts called the segment and the offset. One usually thinks of the segment as specifying the beginning of a block of memory allocated by the system and the offset as an index into it. Segment values are stored in the segment registers. There are four or more segment registers: CS contains the segment of the current instruction (IP is the offset), SS contains the stack segment (SP is the offset), DS is the segment used by default for most data operations, ES (and, in more recent processors, FS and GS) is an extra segment register. Most memory operations accept a segment override prefix that allows use of a segment register other than the default one.
8086 has memory divided into segments.Each segment has its particular register like ES, DS, SS, CD (extra segment, data segment, stack segment and code segment).These registers hold the base address BA.Now, there two base registers(BX and BP) and two index registers(SI and DI) in 8086. These registers hols the effective address EA.Now Physical address PA is sum of EA and BA.That is,PA = BA+EA
The segment register in the 8086/8088 provide a base address for any memory access. There are four segment registers, CS - Code Segment, DS - Data Segment, SS - Stack Segment, and ES - Extra Segment. Each in used in the context of a particular instruction and contains the base address of the memory segment divided by 16. This allows the processor to access up to 1 MB of memory, though only in segments of 64 KB at a time.
Registers represent the number of memory locations. A 2K memory chip has 2x1024=2048 memory locations. Hence there are 2048 registers in a 2K memory.
registers
Cash register School Register -------------------- processor register User-accessible Registers Data registers Address registers Conditional registers General purpose registers Floating point registers Constant registers Special purpose registers Instruction registers Model-specific registers Control and status registers Memory buffer register Memory data register Memory address register Memory Type Range Registers Hardware registers
Some are and some are not. A model of a relacatable program is the DOS .COM file. As a disk file, this program is a binary image of what is loaded in memory. The segment registers are loaded by the operating system, and often were unchanged by the program during operation. It is possible, however, to request more memory from the operating system (or assume the memory is there) and use it, changing the segment registers as required. The non-relocatable program is the .EXE file. In it, segment overrides are not filled in, and must be inserted by the operating system when the program is loaded. Such a file will run anywhere in memory that the operating system puts it, but it must be loaded by the operating system, and the image in memory is not the same as what is on disk.