answersLogoWhite

0


Best Answer

DI is the Index register in Data segment(16-bit, 64 KB) .

Destination Index (DI) is a 16-bit register. DI is used for indexed, based indexed and register indirect addressing, as well as a destination data address in string manipulation instructions.

User Avatar

Wiki User

11y ago
This answer is:
User Avatar

Add your answer:

Earn +20 pts
Q: What is the purpose of DI register in microprocessor in 8086?
Write your answer...
Submit
Still have questions?
magnify glass
imp
Related questions

Which register is used as an offset address for the string instruction destination in the microprocessor?

DI is used as an offset address for string instruction destinations in the microprocessors.


How do you get the input in assembly language using 8086 microprocessor for addition?

Code segmentassume cs:codemov si,1500hmov di,1600hmov ax,[si]mov bx,[si+2]add ax,bxmov [di],axmov [di+2],dxmov ah,4chint 21hcode endsend


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


Draw the register organisation of 8086 and explain typical application of each register?

In the 8086/8088 microprocessor, there are eight 8 bit general registers, AH, AL, BH, BL, CH, CL, and DH, DL. They can be used as four 16 bit registers AX, BX, CX, and DX. There are four 16 bit pointer/index registers, SP (stack pointer), BP (base pointer), SI (source index), and DI (destination index). There are four 16 bit segment registers, CS (code segment), DS (data segment), SS (stack segment), and ES (extra segment). There is the 16 bit instruction pointer, IP, and there is a 16 bit flags register.


What are SI and DI register?

The source index (SI) register is required for some string (character) operations. In this context the SI is associated with the DS register. The destination index (DI) register is also required for some string operations. In this context the DI is associated with the ES register.


What is the size of flag register?

All of the 8086/8088 registers, AX, BX, CX, DX, SP, BP, SI, DI, CS, DS, SS, ES, IP, and FLAGS, are 16 bit registers. The AX, BX, CX, and DX registers may also be viewed as 8 eight bit registers AH/AL, BH/BL, CH/CL, and DH/DL.


What are index register and segment register?

A segment register is a register that contains the base address, or something related to the base address, of a region of memory. In the 8086/8088, the four segment registers are multiplied by 16 and added to the effective address to form the physical address. An index register, on the other hand, is a register that contains an address that is added to another address to form the effective address. In the 8086/8088, four address components are involved; 1.) the displacement contained within the instruction, often called the offset, 2.) a base address specified by the r/m field, often the BP or BX register, 3.) an index address specified by the r/m field, often the SI or DI register, and 4.) the segment address specified by context or by a segment override prefix, often the CS, DS, SS, or ES register.


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.


What are the function of dI and sI register?

The SI (Source Index) and DI (Destination Index) registers are useful in repeated string operations, such as copy. The DS (Data Segment) register is paired up with SI and the ES (Extra Segment) register is paired up with DI.


How many registers are there in an 8085 microprocessor?

Accumulator or A register is an 8-bit register used for arithmetic, logic, I/O and load/store operations. Flag is an 8-bit register containing 5 1-bit flags: * Sign - set if the most significant bit of the result is set. * Zero - set if the result is zero. * Auxiliary carry - set if there was a carry out from bit 3 to bit 4 of the result. * Parity - set if the parity (the number of set bits in the result) is even. * Carry - set if there was a carry during addition, or borrow during subtraction/comparison. General registers: * 8-bit B and 8-bit C registers can be used as one 16-bit BC register pair. When used as a pair the C register contains low-order byte. Some instructions may use BC register as a data pointer. * 8-bit D and 8-bit E registers can be used as one 16-bit DE register pair. When used as a pair the E register contains low-order byte. Some instructions may use DE register as a data pointer. * 8-bit H and 8-bit L registers can be used as one 16-bit HL register pair. When used as a pair the L register contains low-order byte. HL register usually contains a data pointer used to reference memory addresses. Stack pointer is a 16 bit register. This register is always incremented/decremented by 2. Program counter is a 16-bit register.


What is the use of the extra segment in a 8086 processor?

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


Why CMPS instruction is used in 8086 programming?

The CMPS instruction in the 8086/8088 is compare string. It iterates until CX is zero, or [DS:SI] is not equal to [ES:DI], incrementing (or decrementing if DF is set) SI and DI, and decrementing CX along the way.