answersLogoWhite

0


Want this question answered?

Be notified when an answer is posted

Add your answer:

Earn +20 pts
Q: What is offset in segment register?
Write your answer...
Submit
Still have questions?
magnify glass
imp
Related questions

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.


How physical address is generated in 8086 microprocessor?

For the formation of physical address we need Segment address and offset address Consider an example Segment Address : 1005H Offset Address : 5555H Segment address : 1005H 0001 0000 0000 0101 Shifted by 4 bit positions : 0001 0000 0000 0101 0000 Offset Address : + 0101 0101 0101 0101 Physical Address : 0001 0101 0101 1010 0101 1 5 5 A 5 H Physical Address of given Segment Address : 155A5H


What are 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.


How can the memory other than four 64KB segments be accessed by 8086?

You can access any location in memory. You need only to load its segment address and then refer to its offset address, using the appropriate segment register.


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 physical address in 8086 microprocessor?

Physical address in the 8086/8088 is {Selected Segment Register} * 16 + {Effective Offset Address}. It is a 20-bit address .


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 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..


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.


How do you get segmented base and offset when you have logical address?

You cannot. The conversion goes this way: segment+offset -> [segment-table] -> linear_address -> [page-table] -> physical_address PS: In most cases there is only one (4GB long) segment (or one code-segment and one data-segment), so offset is quite the same as linear address


What is a segment?

A segment, in the 8086/8088 is a 64kb chunk of memory addressable by any particular value in a segment register. Specifically, there are four segment registers, Code Segment, Data Segment, Stack Segment, and Extra Segment. Each is used in the context of a particular instruction by multiplying the segment register by 16 (left shift 4) and then adding the particular offset contained in the instruction.This gives access to 1Mb of memory (a 20 bit address bus) using only a 16 bit segment register and a 16 bit offset but, in only one instruction, you only have access to 64kb at a time. It would take two instructions to access any location in memory; one to load the segment register, and one to access the desired location.Note that, since the segment register is only left shifted by 4, that sequential segments overlap each other at a distance of 16 bytes. Note also that, in the 80386 and higher incarnations of the 8086/8088, that protected mode changed the meaning of a segment register, making it impossible to do simple 1Mb address computations unless you were in Virtual 386 mode or you were in flat 32 bit memory mode. (Almost all modern incarnations run in flat 32 bit mode or flat 64 bit mode, making the concept of segmented addressing obsolete.)


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.