Content for Reverse Engineering

Understanding the x86’s Decimal Adjust after Addition (DAA) instruction

“I’ve been looking at the DAA machine instruction on x86 processors, a special instruction for binary-coded decimal arithmetic. Intel’s manuals document each instruction in detail, but the DAA description doesn’t make much sense. I ran an extensive …

Reverse-engineering the conditional jump circuitry in the 8086 processor

“Intel introduced the 8086 microprocessor in 1978 and it had a huge influence on computing. I’m reverse-engineering the 8086 by examining the circuitry on its silicon die and in this blog post I take a look at how conditional …

Reverse-engineering the Intel 8086 processor’s HALT circuits

“The 8086 processor was introduced in 1978 and has greatly influenced modern computing through the x86 architecture. One unusual instruction in this processor is HLT, which stops the processor and puts it in a halt state. In this blog post …

Counting the transistors in the 8086 processor: it’s harder than you might think

“How many transistors are in Intel’s 8086 processor? This seems like a straightforward question, but it doesn’t have a straightforward answer. Most sources say that this processor has 29,000 transistors.1 However, I have traced out every …

The 8086 processor’s microcode pipeline from die analysis

“Intel introduced the 8086 microprocessor in 1978, and its influence still remains through the popular x86 architecture. The 8086 was a fairly complex microprocessor for its time, implementing instructions in microcode with pipelining to improve performance. This blog post explains …

Inside the 8086 processor’s instruction prefetch circuitry

“The groundbreaking 8086 microprocessor was introduced by Intel in 1978 and led to the x86 architecture that still dominates desktop and server computing. One way that the 8086 increased performance was by prefetching: the processor fetches instructions from memory before …

How the 8086 processor’s microcode engine works

“The 8086 microprocessor was a groundbreaking processor introduced by Intel in 1978. It led to the x86 architecture that still dominates desktop and server computing. The 8086 chip uses microcode internally to implement its instruction set. I’ve been reverse-engineering …

A bug fix in the 8086 microprocessor, revealed in the die’s silicon

“The 8086 microprocessor was a groundbreaking processor introduced by Intel in 1978. It led to the x86 architecture that still dominates desktop and server computing. While reverse-engineering the 8086 from die photos, a particular circuit caught my eye because its …

PixMob IR Reverse Engineering Project

“Hacking the PixMob infrared protocol to enable control of PixMob wristbands at home. PixMob bracelets are LED wristbands distributed to every member of the audience at large events which all light up in sync to create massive, distributed light shows …

Reverse-engineering the LM185 voltage reference chip and its bandgap reference

“Many circuits, such as a computer power supply or a phone charger, require a stable voltage reference, but it’s harder than you might expect to keep a voltage stable when the temperature changes. One integrated circuit that does this …