3 ms·
I saw an interesting trick on the i386: Some code intentionally updated the very next instruction. If you just ran it, the next instruction was already prefet
by hyperman1 4y ago
I saw an interesting trick on the i386: Some code intentionally updated the very next instruction. If you just ran it, the next instruction was already prefetched so the program worked. If you single stepped it, the next instruction was in the INT 1 handler, so the debugger ran the modified instruction. This way, your program knew it was being debugged, and could take countermeasured
- userbinator 4y agoFor better or worse, those tricks disappeared with the P6, where they decided the prefetch queue length shouldn't affect SMC semantics.
- rasz 4y agoAncient diagnostic programs used to probe queue buffer depth in order to differentiate between 8088 (4 bytes) and 8086 (6 bytes).