A worksheet for bitwise operations

Click here to download the worksheet (PDF)

The problem

When doing a lot of low-level system code, you constantly need to build hexadecimal constants and masks for bitwise arithmetic. Maybe you are accessing specific bits of an I/O register, or making sure you extract the proper field of a packed variable.

You can scribble your binary and hexadecimal masks on a loose sheet of paper, but this is error-prone. Most calculators are unwieldy when it comes to bitwise manipulations and spreadsheets are heavyweight.

The solution

Here is a worksheet you can print to ease the work of applying bitwise operations (rotates, shifts, masks) or building binary and hexadecimal constants.

Its features are:

  • Compatible with Letter or A4 paper
  • Three grids of 5 lines for 32-bit work
    • Separated by nibbles (4-bit groups) for easy conversion from binary to hex
    • First and last line of each grid has a hex digit box in each nibble
    • Regular (bit 0 is LSb) and PowerPC (bit 0 is MSb) bit indices in each column
    • Decimal weight in small in each box (1,2,4,8)
  • Table of the 32 first powers of 2
  • Decimal/Binary/Hexadecimal conversion table reminder for values 0-15

This worksheet makes quick work of generating mask constants or figuring-out a pesky rlwimi (Rotate Left Word Immediate Mask Insert) operands list.

Click here to download the worksheet (PDF)

Here are some screenshots:

Detail of grid and tables
Detail of grid and tables
Full worksheet overview
Full worksheet overview
Example of worksheet in use (scanned)
Example of worksheet in use (scanned)

Leave a Reply