or: Making the the Sega Master System and the PC Master Race System speak the same language
First, there was the Intel 8008, a microprocessor commissioned by Datapoint to run its programmable dumb terminals. Two years later, Intel refactored the design into the 8080 but kept it similar enough to that source code could be translated. Later on, Intel released a revision of the 8080 called 8085, a variant with depletion-mode transistors (to run with only ground and +5 V) and built-in serial ports that powered the Digital VT102 terminal.
At the same time as the 8085's release, Zilog cloned the 8080 as the Z80, with a few more features. Zilog's official syntax differed from Intel's, likely in part for the same reason that Sony's SPC700 syntax differs from that of its Rockwell 65C02 predecessor: fear of a lawsuit that would have been the Oracle v. Google of the times.
While part of Intel was working on iAPX 432, another part was working on a further refactor of the 8086 to compete with the Z80 and 68000. This too included the 8008 and 8080/8085 instruction sets as subsets, allowing translation of assembly language source code with no loss (nor gain) in runtime efficiency. But again, the opcodes were renumbered.
The Z80 contains several 8-bit registers (A, B, C, D, E, H, L), plus three dedicated 16-bit pointer registers (IX, IY, and SP). Several pairs of 8-bit registers can be paired to act as additional pointer registers (BC, DE, HL).
The 8086 contains eight 16-bit registers (AX, BX, CX, DX, SI, DI, BP, and SP), plus an instruction pointer and four segment registers. The top or bottom half of each X register could also be used as 8-bit, like half of a Z80 register: AX is AH and AL, etc.
So now my question: Which 8086 register corresponds to each 8080/Z80 register? How did the 8086 assembler map register names when translating 8080 assembly language?