R
Früher hat man sehr darauf achten müssen, die richtigen Register für den richtigen Zweck zu verwenden.
Z.B. loop - cx
stosb & co - ds:si/es:di
mul - ax/dx
jcxz - cx
adressierung - bx,bp,si,di,sp (iirc)
...
Gibt sicher noch ein paar. Bei den aktuelleren CPUs (als aktuell würde ich hier auch schon einen i486 bezeichnen) sind diese Instruktionen aber soundso nicht sehr zu empfehlen, weil entweder langsam oder durch was anderes abgelöst. Adressierung ist viel mächtiger (alle Register können verwendet werden), mul -> imul mit mehr Operanden, ...
Ein paar Einschränkungen bleiben - mir fallen da z.B. Shifts ein (cl), Division (eax/edx). Das war's auch schon, mehr fällt mir nicht ein.