Discoveries in Intel's microcode

Andrew Jenner has compared the microcode in the 8088 and 8086 and found some interesting things:

Recently I realised that, as part of his 8086 reverse-engineering series, Ken Shirriff had posted online a high resolution photograph of the 8086 die with the metal layer removed. This was something I have been looking for for some time, in order to extract and disassemble the 8086 microcode. I had previously found very high resolution photos of the die with the metal layer intact, but only half of the bits of the microcode ROM were readable. Ken also posted a high resolution photograph of the microcode ROM of the 8088, which is very similar but not identical. I was very curious to know what the differences were…

I didn’t find many opportunities for improvement. If the MOVS/LODS opcode was split up into separate microcode routines for LODS and MOVS, the LODS routine could avoid a conditional jump and execute 1 cycle faster.

And:

Does the microcode have any hidden features, opcodes or easter eggs that have not yet been documented?

It does!
…
I contemplated using this in a demoscene production as another “we break all your emulators” moment…

3 Likes