answersLogoWhite

0

There are four segment registers in the 8086/8088 processor, CS, DS, ES, and SS, also known as Code Segment, Data Segment, Extra Segment, and Stack Segment. Any time an address is generated by the processor, it is added to the value of one of the segment registers, after that segment register is effectively multiplied by 16, or left shifted four bits, in order to generate the physical address that accesses memory. This gives an effective address range of 20 bits, or 1mb, but note that only 64kb is addressable through any segment register at one time, unless you stop to change the contents of that segment register. This is known as a segmented architecture. By default, the CS register is used when fetching instructions, the DS register is used when accessing data, the SS register is used when accessing the stack, and the ES register is used during certain string type instructions. If desired, an instruction prefix can be used to override, such as forcing use of CS instead of DS when using a table contained within opcode space.

User Avatar

Wiki User

16y ago

What else can I help you with?

Related Questions

How many base registers are there in 8086?

There are four base registers in the 8086/8088; Code Segment (CS), Data Segment (DS), Stack Segment (SS), and Extra Segment (ES).


Give the segment registers and their corresponding offset registers?

Give the effective address if the segment register is AA03 and the offset register is 0200.


Which segment is used to store interrupt and subroutine return address registers?

stack segment


How many register are located in 8088microprocessor?

there are 14 registers in 8088 micro processor. All the 14 are 16 bit registers. They are4 segment registers viz - code segment register, stack segment register, data segment register, extra segment register.general registers are - accumulator register i.e. AX, base register i.e. BX, count register i.e. CX, data register i.e. DX and stack pointer (SP), base pointer (BP).index registers are - source index(SI), destination index(DI),and the other registers are instruction pointer and flags register.


How does an 8088 microprocessor generate physical address?

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


What are segment registers?

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.


What is the BP pointing registers default memory segment?

SS


What is the example of segment register?

There are four segment registers on the 8086 and 8088. These are CS (code for code), DS (data segment), ES (extra data segment), and SS (stack segment).


What is the DI strings only pointing registers default memory segment?

ES


How many registers are located in 8088?

The 8088 microprocessor has a total of 14 registers. This includes eight general-purpose registers (AX, BX, CX, DX, SP, BP, SI, DI), four segment registers (CS, DS, SS, ES), and two pointer registers (IP and flags register). These registers serve various purposes, such as arithmetic operations, memory addressing, and control flow.


How many general purpose registers in 80386?

There exists 4 general purpose registers in 8086 namely Ax(Accumulator),Bx(Base), Cx(Count), Dx(Data).Further these 4 registers are divided into 8 based on higher and lower bits i.e.,. AX- AH &AL, BX-BH & BL, CX- CH & CL, DX- DH& DL. In 8086, there are 4 segment registers: 1. Stack segment 2. Code segment 3. Data segment 4. Extra segment


How many segment can be directly addressed at a particular time by 8086 microprocessor?

There are four segment registers in the 8086/8088, Code Segment (CS), Stack Segment (SS), Data Segment (DS), and Extra Segment (ES). As a result, there are four segments that can be directly addressed at a particular time, i.e. without an extra instruction to reload a segment register.