I think there are 66,571 unique "base pairs".
2^16 possible numbers
1001 possible sysvars (including 0)
10 "basic" commands e.g. add, mult, etc.
7 advanced commands e.g. andgle, dist, ceil, etc.
9 bitwise commands e.g. >>, ++, etc.
10 conditionals e.g. > , <, <=, etc.
4 logic commands e.g. and, or, not
3 commands that store to or manipulate sysvar locations e.g. store, inc and dec
4 flow control commands cond, start, else, stop.
And I'll throw in "end" just for completeness.
2^16 + 1001 + 10 + 7 + 9 + 10 + 4 + 3 + 4 + 1 = 66,571.
(Really, we should probably call them "codons" not base pairs, since some are degenerate. That is, there are mutliple ways to code for the same result. Sysvar type base pairs outside 0-1000 for example can exist in the DNA, but they get MODed when used. But I'll continue to call them base pairs here.)
So, while there are actually more than 66,569 different base pairs, some of those map to functional equivalents. If we are trying to calculate how many unique morphs are possible with the current DB DNA language (which I am) we should probably treat the polymorphics as all being the same. Different genomes that code for the same morph might mutate differently since their coding sequences would be different, but the morphs they code for are identical.
The max genome length today is 32000. Thus, there are 66,571 ^ 32000= 3.2528 X 10^15434 possible morphs. Thats a very very big number....