basic block

A sequence of assembly language instructions that are always executed together in succession.

An example is:

1     a++;
2     b++;
3     c = a+b;
4     if (a == b) { c = 0;
5          d = 0;
6     }
7     e = 0;

The statements on line 1, 2, and 3, and the comparison on line 4, all form one basic block that ends with the conditional jump implementing the if statement.

The assignments on line 4 and 5 form a second basic block.

Line 7 begins a third basic block, because the assignment e = 0; is not indivisibly attached to those on lines 4 and 5, since the if statement on line 4 may cause those assignments to be skipped.