One policy, up to three coverages
Alabama's uninsured motorist statute, Ala. Code 32-7-23, requires UM coverage in every auto liability policy delivered for a vehicle registered or principally garaged in the state unless the named insured rejects it. Subsection (c) is what sets the stacking ceiling: the primary coverage plus no more than two additional coverages in the same contract.
If you want the concepts first, read how stacked and unstacked coverage differ in Alabama, check what Ala. Code 32-7-23 allows and does not say, or see how uninsured and underinsured drivers are treated.