|
|
|
|
|
by ajenner
2114 days ago
|
|
The translation.txt file is the contents of the translation ROM which tells the CPU where in the microcode to go for long jumps, calls and EA decoding. The key.txt file has the details of all the mnemonics. "000" - this is just a line number
"A CD F H J L OPQR U" - these are the actual bits from the ROM.
"R -> tmpb" - this is a move operation (each microcode instruction can do a move as well as something else) copying the value from "R" (a register described by the word length bit and either the R field or the RM field of the modrm byte depending on the direction bit) to "tmpb" (an internal register not accessible from the user-level ISA).
"4 none WB,NX" - a type 4 instruction (bookkeeping) that tells the CPU that the next instruction is the last one in the microcode burst (NX) unless a write back (WB) to memory is needed.
"0100010??.00" - this is the bit pattern by which this line of microcode is addressed. This one means opcodes 0x88-0x8b.
"MOV rm<->r" - a comment added to say what this set of opcodes actually corresponds to x86 assembler, or what it does if it's a subroutine. |
|
One last question do the individual files. There seems to be 3 distinct file groups:
0b.txt - 8t.txt
l0.txt - l3.txt
r0.txt-r3.txt
Do each of these represent different ROMs or different logical parts of the two ROMs? Or am I reading too much into the naming convention?
By the way - brilliant work. This is really a fascinating read.