4 ms·
Money. When Motorola 68000 was out, it was doing 32bits linear addressing. The mov operation would load directly from the memory by using a direct addressing.
by SFjulie1 12y ago
Money.
When Motorola 68000 was out, it was doing 32bits linear addressing.
The mov operation would load directly from the memory by using a direct addressing.
Wiring 32 wires is expensive.
Wiring 2 overlaping address bus of 16 bits partially ovelapping was less. Intel CPU ASM works big endian because we all prefer to write AND 0xFF, DSI to get the 8 lower bit of a number.
The first register would hit segment, and the second the offset.
Hence you would first need to load the page (that would wire the multiplexing) to get the offset in the page/segment.
The addressing bus would be accessed with a stack. So first you push the lower 16 bits, and then the highest 16 bits. Which would revert since its a FIFO in first loading the segment address, then the offset address.
The cost of this "savings" in terms of CPU cycle was marginal while the gain in money was tremenduous.