answersLogoWhite

0

There are only a certain (few) number of operations that you can perform on a segment register. Specifically, you can push/pop, and move. That's it. Besides, arbitrarily manipulating segment registers will impact your execution environment - think about what could happen to your program if you changed CS - bad, very bad, unless you also changed IP - and that is called a far jump.

User Avatar

Wiki User

13y ago

What else can I help you with?

Related Questions

What are the different types of segment register?

The code segment (CS) register is used for access to program code. The data segment (DS) register is used for access to data. The extra segment (ES) register is used for access to data during certain string primitive operations. The stack segment (SS) register is used for access to stack data.Any of these implied uses can be overridden with a segment override prefix opcode.


What is default segment register for IP?

The default segment register for the Instruction Pointer (IP) in x86 architecture is the Code Segment (CS) register. This register is used to define the segment of memory that contains the currently executing code. When a program is executed, the CPU uses the CS register in conjunction with the IP register to determine the address of the next instruction to execute.


Write a code segment to find the square of a byte available in register AL using XLAT instruction microprocessor?

The XLAT instruction is used to translate a byte in the AL register using a lookup table pointed to by the BX register (or SI in some modes). However, XLAT itself does not perform arithmetic operations like squaring. To find the square of a byte in AL, you can simply multiply it by itself using the MUL instruction. Here’s a code segment for that: mov bl, al ; Store original value in BL mul bl ; AL = AL * BL (square of AL) This code multiplies the value in AL by itself, storing the result back in AL.


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.


What is segment address?

A segment address is the contents of a segment register, CS, DS, ES, or SS. It is used after effective address generation to provide an offset in physical memory, by multiplying the segment register by 16 and then adding it to the effective address, giving a 20 bit address. This gives you addressability to 65536 segments of 65536 bytes, each separated by 16 bytes. The register used is usually implicit based on use; CS for code, DS for data, ES for certain string operations, and SS for stack. A segment override prefix can be used to select a different segment register.


What is offset in segment register?

In computer architecture, an offset in a segment register refers to the specific address within a segment of memory that the segment register points to. Segment registers are used to divide memory into different segments, enabling easier access and management of data. The offset is added to the base address contained in the segment register to form the effective address of a memory location. This method allows for more efficient memory utilization and organization, particularly in systems with limited addressing space.


What is a direct page register?

This 8 bit register contains the most-significant byte of the address to be used in the direct addressing mode. The contents of this register are concatenated with the byte following the direct addressing mode operation code to form the 16-bit effective address. The direct page register contents appear as bits A15 through A8 of the address.


What are the function of segment register?

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.


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.


How segment register are used?

The segment register in the 80806/8088 microprocessor contains the base address (divided by 16) of a region of memory. Since the register is 16 bits in size, there are 65,536 possible segment base addresses, ranging from 00000H to FFFF0H, in increments of 00010H.After address translation at the instruction level, the generated 16 bit offset is added to the selected segment register times 16 to generate a physical address between 00000H and FFFFFH. (If the offset and base go past FFFFFH, they wrap around back to 00000H.) Since the offset is also 16 bits in size, and since the overlap is only 4 bits (times 16), then each 64 kb segment overlaps by 16 bytes.There are four segment registers; CS, DS, ES, and SS, standing for Code Segment, Data Segment, Extra Segment, and Stack Segment.CS is used for opcode fetches. DS is used for normal data. ES is used for certain string operations as the destination address. SS is used for stack and frame (BP) data.The segment registers can be implicitly selected by context, or they can be explicitly selected with a segment prefix opcode.


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 registers is used to keep track of address of the memory location where the next instruction is located?

Instruction pointer (IP) is used to hold the offset of the next instruction to be fetched for BIU available from Code Segment whose base address is held in CS segment base register..