<<< Segment of Memory in Real Mode     Index     Segment Registers in Real Mode >>>

10. Memory Access in Real Mode


  • Recall that 8086 and 8088 CPUs had 20 address pins, limiting a program to 1 megabyte of memory.

  • To express a 20-bit address, two 16-bit registers are used:

    • segment address in one 16-bit register,

    • and the offset address in another 16-bit register.

  • The memory location of a particular byte from one megabyte of memory is calculated as

    • segment start address

    • plus distance between the byte and the segment start.

  • The byte's distance from the start of the segment is referred to as the byte's offset address.

  • SEGMENT:OFFSET addresses are always written in hexadecimal notation.

    • For example, an address of one byte of data MyByte is given as 0001:001D.

    • This means that MyByte is in segment 0001H and is located 001DH bytes from the start of that segment.

  • Since segments can overlap, same byte could also be located by SEGMENT:OFFSET combinations 0002:000D or 0001:001D.

  •   segments and offsets

      Generating 20-bit address in Real Mode


<<< Segment of Memory in Real Mode     Index     Segment Registers in Real Mode >>>