The goal of normalization is to give each number a unique representation. We achieve this by shifting the mantissa until the left most digit is not zero. At the same time the exponent is decrement to preserve the value. So for B=2 the mantissa must start with 1. Unfortunately this leaves a gap around 0. To fill this gap we allow denormalized numbers.

Imagine you are trying represent a number smaller than the smallest normalized number. You start off with a mantissa and should normalize it. You are going to shift it left while decrementing the exponent. At some point you can't decrement the exponent any more, because it has already reached 0, but the mantissa is still not starting with 1. Now you have a denormalized number.

Are all numbers with exp = 0 denormalized?

That depends. In the process above (shift and decrement) you might reach exponent zero at the same time when the first bit of the mantissa is 1. Then you have a normalized mantissa and exponent zero. This becomes a problem when we make use of a hidden bit. Normalized numbers will have a hidden 1, while denormalized numbers will have a hidden 0. So we need some way of spotting denormalized numbers. IEEE 754 (slide 44, 45, 46) deals with this by reserving exponent zero for denormalized numbers. So there, yes, exponent zero means denormalized. But without a hidden bit you might have a normalized number with exponent zero.

[..] that the black numbers on Sheet 3-39 are denormalized

If the representation makes use of a hidden bit, then yes all the black ones are denormalized. If this is a representation without hidden bit, then only the two innermost (left and right of zero) are denormalized.