◄ WORLD V · SONNY 5DART 470 · a helldive at the net

THE 68000 the other 16-bit chip — 32-bit inside, and it did not look back

While the 65816 permuted the 6502 — keeping the old opcodes and widening behind a mode bit — Motorola went the other way. The 68000 (1979) was a clean break: 32-bit registers, a flat address space, a brand-new instruction set owing nothing to the 6800. Internally 32-bit, it ran a 16-bit ALU and bus, so a 32-bit add streamed through in two 16-bit halves — which is why it is called 16/32-bit. It became the common chip of the era: the Amiga, Atari ST, early Macintosh, Sega Genesis, and a wall of arcade boards. Two philosophies of moving past 8-bit: permute the old, or design the new.

THE TECHNIQUE 32-bit registers, 16-bit ALU — a 32-bit add in two 16-bit halves

The demo adds two 32-bit numbers the 68000 way — low half, carry, high half — matching a direct 32-bit add: live demo


HISTORY & CREDIT Motorola 68000 · 1979

“Every chip that outgrew 8-bit stayed compatible.” — the 68000 broke cleanly; only the 6502 line permuted. cited

the design · 32-bit registers, flat address space, a new ISA — not 6800-compatible.
16/32 · a 16-bit ALU/bus streams a 32-bit op in two halves — hence “16/32-bit.”
1979 · Motorola — the Amiga, Atari ST, Macintosh, Genesis, arcades: the common 16-bit chip.

A 32-bit machine that broke with its past instead of folding it in — the road not taken by the 65816. clean break

RECOMMEND FOR I-13 the two-halves add, on the compiler

On the canonical compiler, a 32-bit add done in two 16-bit halves (with carry) equals a direct 32-bit add:

$ i13 run ln_68000.i13 # 32-bit add via two 16-bit halves RUN OK · 64 step(s) · peak stack 3 · call depth 1 sum_halved = 300000 -- low half + carry + high half sum_direct = 300000 same = 1
Recommend as a NULL — and the batch’s foil. The 68000’s two-halves add computes the same 32-bit result as a direct add (i13 prints 300000 both ways); doing it in 16-bit chunks is a resource/microarchitecture fact (B40), not a new invariant. Its role in the batch is the contrast: it is the chip that did not permute — a clean break, where the 65816 folded the old machine in. NULL.