answersLogoWhite

0

extra segment is a 16-bit register containing address of 64KB segment, usually with program data. By default, the processor assumes that the DI register points to the ES segment in string manipulation instructions. ES register can be changed directly using POP and LES instructions. It is possible to change default segments used by general and index registers by prefixing instructions with a CS, SS, DS or ES prefix. any corrections most welcome

User Avatar

Wiki User

19y ago

What else can I help you with?

Related Questions

Why you Use Memory Segmentation In 8086 Microprocessor?

The 8086/8088 is a 16 bit processor running on a 16 bit (8086) or 8 bit (8088) bus with a 20 bit address bus. In order to obtain the extra 4 bits of addressibility, Intel designed segment registers that are effectively multiplied by four and then added to the 16 bit offset address generated by the instruction. This yields 64K segments of 64KB each, although they overlap each other at a distance of 16 bytes.


Why in memory segmentation of 8086 it use 64Kb instead of 1Mb?

Each segment in the 8086/8088 is 64KB because that is how Intel designed the microprocessor. The offset address is 16 bits, making the allowable range 64KB. See the related questions link for a further discussion of segmented architecture.


What is physical addressing in mp 8086?

Physical addressing in the 8086 microprocessor refers to the method by which the CPU accesses memory locations using a combination of segment and offset addresses. The 8086 employs a segmented memory model, where memory is divided into segments, and each segment has a base address. The physical address is calculated by shifting the segment address left by 4 bits and adding the offset address, resulting in a 20-bit physical address space that allows the processor to access up to 1 MB of memory. This system enables more efficient memory management and allows programs to use memory in a modular way.


A Explain the use of Code Segment CS and data segment DS register in 8086 microprocessor?

Code segment (CS) is a 16-bit register containing address of 64 KB segment with processor instructions. The processor uses CS segment for all accesses to instructions referenced by instruction pointer (IP) register. CS register cannot be changed directly. The CS register is automatically updated during far jump, far call and far return instructions. Data segment (DS) is a 16-bit register containing address of 64KB segment with program data. By default, the processor assumes that all data referenced by general registers (AX, BX, CX, DX) and index register (SI, DI) is located in the data segment. DS register can be changed directly using POP and LDS instructions. Code segment (CS) is a 16-bit register containing address of 64 KB segment with processor instructions. The processor uses CS segment for all accesses to instructions referenced by instruction pointer (IP) register. CS register cannot be changed directly. The CS register is automatically updated during far jump, far call and far return instructions. Data segment (DS) is a 16-bit register containing address of 64KB segment with program data. By default, the processor assumes that all data referenced by general registers (AX, BX, CX, DX) and index register (SI, DI) is located in the data segment. DS register can be changed directly using POP and LDS instructions.


How do i use 8086 micro-processor for making an electronic device to produce simulated daylight D65 and also measures and displays it's intensity?

better read books~!


How the speed of 8086 microprocessor can be increased?

To increase the speed of the 8086, you need to increase the clock speed, reduce the number of wait states, or both. You could also optimize your code so that it runs faster. Since the 8086 is a segmented memory architecture, it is more efficient to use operands in one segment and to make near references to them.


Why 8086 was not use IBM PC?

Because IBM wanted to build a computer with an 8-bit data bus. The 8086 and 8088 are the same processor, with the 8086 running on a 16-bit data bus, and the 8088 running on an 8-bit data bus. This allowed IBM to make the most use of older designs that supported 8-bit data buses, such as the 8080, the 8085, and the Z80.


What is the working of 8087 NDP microprocessor?

The 8087 Numeric Data Processor is an adjunct to the 8086/8088 microprocessor, that gives the 8086/8088 floating point capability and 8 more registers. The 8087 integrates itself with the 8086/8088 in such a way that the pair actually becomes one processor, appearing to have the extra instructions and registers to start with.Since it was an optional add-on to the system, many run-time libraries would detect whether or not the 8087 was present, and either use it or emulate it.This separation of functionality into two chips was maintained in the product line up until the 80386DX and 80486, although the NDP was called something else (such as the 80287, and 80387) at which point the NDP became a permanent part of the instruction set.


What may the reson for developing an external 8 bit processor like 8088 along 8086 multiprocessing and management?

The 8088 is an 8 bit bus implementation of an 8086, which is a 16 bit processor. The reason for providing the 8088 variant is simply to minimize the hardware cost and complexity of designing a system to use the 8088. This is the approach used for the first IBM PC. Some implementations, such as the Tandy 1000SX, used the 80186, a highly integrated version of the 8086, in a 16 bit bus configuration. Later versions, in order to increase performance, went ahead and provided 32, 64 and 128 bit bus implementations of advanced processors.And, no, the 8086 is not a multiprocessing computer. It is a single processor. Intel did not get into multiprocessing until the Xeon and the Pentium IV.


How does a compute know whether the contents of a memory location should be treated as a program instruction or as a piece of data?

It all depends on the flow of the instruction stream. If the processor fetches the memory location under direct fetch under control of the program counter, it is clearly an instruction. If the processor accesses the memory location as a result of fetching or storing an operand, it is clearly data. Where it may be unclear, and subject to interpretation, is when the fetch is part of a table lookup indexing through an array. It could go either way, depending on how you look at it. In the 8085, if S0 and S1 are both high during a fetch, it is an opcode fetch. The 8086/8088 is similar but S0 and S1 are inverted in that case, i.e. both low during opcode fetch. The bottom line is that, for the 8085, it does not matter because there is only one address space and, for the 8086/8088, the processor knows when to use CS (Code Segment) versus DS (Data Segment).


Explain about segment registers in 8086MP?

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.


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.