8086 why does the CPU make the segment address * 16 + offset a physical address?
This is because the 8086 address line is 20 bits, the segment register is 16 bits, and the segment register * 16 is actually four bits to the left, form a 20-bit and 8086-bit address line match.
IP (Instruction Pointer): The instruction pointer register, used in conjunction with Cs, can track the program execution process;
SP (Stack pointer): A stack pointer that can be used with SS to point to the current stack position.
BP (base pointer): base address pointer register, which can be used as a relative base address location of SS;
Si (source index): the source address change register can be used to store the source address change pointer relative to the DS segment;
Di (destination index): the destination address change register, which can be used to store the destination address change pointer relative to the es segment.
CS (code segment): code segment register;
DS (Data Segment): Data Segment register;
SS (stack segment): Stack segment register;
ES (extra segment): additional segment register.
8086 why does the CPU make the segment address * 16 + offset a physical address?