Last updated
Was this helpful?
Last updated
Was this helpful?
In this tutorial, you will learn how to enhance disassembly output by using bitfields.
Suppose the source code looked like this:
We have a disassembly that looks like this:
Let’s improve it by using bitfields.
We first define a bitfield type by going to the Local types window (menu Open subviews -> Local types). We press Ins to add a new enum and make it a bitfield. The name given to the bitfield does not matter much.
Note that Bitmask has been checked. Click OK.
Then we edit the enum and update it using the C syntax tab as shown in the screenshot below.
Click OK.
The first bitfield mask is 3 (or 2 bits). The name of the mask is not used by IDA, it is intended as a memory helper. The enum definition becomes:
We finally switch to the disassembly window. Through the Edit -> Operand types -> Enum member menu (or by pressing M on the second operand at addresses 0x130003E39 and 0x130003E40) we select the enum type we just defined and get this result…
That’s all folks!