4 ms·
Nowadays UD0 UD1 UD2 are in the SDM and APM. We also got UDB (D6), the one-byte variant that arrived with x86-64 for 64-bit mode. And we have always had UDW (
by 349ru3h4f03 22d ago
Nowadays UD0 UD1 UD2 are in the SDM and APM.
We also got UDB (D6), the one-byte variant that arrived with x86-64 for 64-bit mode.
And we have always had UDW (FF FF), aka group #5 (1st FF) with a modrm byte of mod=11b r/m=111b (/7) reg=111b (2nd FF) -- that one matters for memory with all bits set to 1, or for buses terminated to all 1 when no device claims an access.
- Bluestein 22d ago[flagged]
- rramadass 21d agoCouldn't find UDW in the intel docs - https://intel.github.io/SDM/sdm.html https://intel.github.io/SDM/sdm.html But found it in wikipedia which is well structured and has detailed notes/comments on all instructions - https://en.wikipedia.org/wiki/List_of_x86_instructions https://en.wikipedia.org/wiki/List_of_x86_instructions There is also UD2A and UD2B which just seem to be synonyms for UD2 and UD1 respectively? Google tells me that they are legacy tool specific mnemonics used in older GNU GCC/Binutils.
- userbinator 21d agoI've always remembered FF FF as "??? DI", because that's what DEBUG's disassembler would render it as.
- Bluestein 21d agoSorry y'all. In a thread about encodings whose only spec is that they mean nothing (UD0/UD1/UD2, FF /7), "349ru3h4f03" is the most thematically correct username possible, it really does "check out" dang it. It even looks like hex right up until it #UDs on the r, u, and h. Invalid encoding; faults on interpretation. Tough crowd tonite.-