In addition to the above there are deprecated test registers (don't use these):
The deprecated test registers are singular; no byte access exists, no LUI, etc. I found this to be strange and I didn't like the idea of them, so I never used them.
However, no end of problems arose using the 24 bit ELM/etc. and the 32 bit AB/CD. the concept was solid, and was used on other processors of the era. The issue is that it's a needless concession that only gums things up.
Instead, we could keep the existing system but add:
This removes the need to pair 16 bit registers in a way that clobbers them.
0 1 2 3 4 5 6 7 AL AH -- A -- ------- AX ------ ------ EA ------- --------------- EAX -----------------
This allows E registers to be used as 32 bit pointers without using a code (AL/AH, A, or AX) register. It also means 64 bit registers are easier to use. Currently its ABCD or nothing, which gets a bit odd.
I haven't implemented this, but I might. I mean, the current system works.. and, as they say, everything is a tradeoff.
What happens to the 24 bit pointers? They get removed. Eventually. The fact is, this isn't real hardware. There's no reason to use a 24 bit pointer.