Some 16-bit stuff...

A segment address is bit shifted to the left
by four bits to form a 20-bit physical address
and a 16-bit offset is added to the result to
index into a segment.

So 1234:0100 would create the
physical address 12440

Is this correct???????????

Yep! For REAL mode (16-bit) absolutely true!


A slightly more visual method is..

12340 <-- Seg 1234:0
_0100 <-- Offset 0:0100
---------
12440 <- 1244:0 1240:40 Same physical address!

OR
Seg 1234 + (0100 >> 4)
Seg: 1244 And set offset to 0

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.