The strangest feature inherited from the 8008 is probably the parity flag. There are some uses other than 7-bit ASCII comms for it, but this kind of code is probably heavily 'pessimized' on modern CPUs:
TEST AL,0xc0
JZ quadrant0 ;both bits clear
JPE quadrant3 ;both bits set
JS quadrant2 ;only bit 7 set
JMP quadrant1 ;only bit 6 set
And to this day, even the reserved lower flag bits have the same values as they did on the 8080 ('S Z 0 A 0 P 1 C'). I wonder if there is actually code out there that depends on bit 1 being set.One nitpick:
>The ModR/M byte has been changed in 64-bit mode so the BX (originally HL) register is no longer special when accessing memory
It was 32-bit mode that made EAX, ECX and EDX usable for addressing, though not the 16-bit lower half registers. And nothing with that changed in the transition to 64 bits.