4 ms·
This is how much memory the 8086 had: 0b11111111111111110000 + 0b1111111111111111 + 1 = 0x10fff0 = 1mb+64kb-16 (for 8086)
by jart 4y ago
This is how much memory the 8086 had:
0b11111111111111110000 + 0b1111111111111111 + 1 = 0x10fff0 = 1mb+64kb-16 (for 8086)
- rep_lodsb 4y agoNope. The 8086 only had 20 physical address lines, so any address beyond FFFF:000F would wrap around to low memory. Some old Microsoft runtime library adjusted the data segment in order to place variables descending from the top offset. If the program was loaded below 64K, the segment value would become 'negative', which was not a problem until the 286 added more address lines. The main reason for the A20 gate hack was to fix this.
- peterfirefly 4y agoAddress space is not memory. (+ what the string function said: It really was 1MB.)