Bill

Code:
1. The set-up generally is of the form [Register,Value]
2. Where Register goes from 0 to F
3. And value is byte sized

4. What is your variable 'a' ?
5. What size is the variable 'Max_dat' ?
6. I can't see how you are writing 'Register' and 'Data' to the MAX?
"a" is just a byte used to count, in this case it runs through the setup four times, With two displays I wanted to make sure it was setup correctly. I most likely could have done it with two cycles. ( a little overkill)

Max_Dat is a word

The lookup table has the register followed by the value. The load only happens on an even number so first I shift the "register" then the "value" and load pulse.

Works fine

Here are the variables
Code:
DATA_n	var portC.2	' Bits are shifted out this pin # to 7219.
CLK_n 	var portC.0	' Data valid on rising edge of this clock pin.
LOAD_n	var portC.1	' Tells 7219 to transfer data to LEDs.
DECODE 	CON	9	' Control register; a 1 turns on BCD decoding. 
BRITE 	CON	10	' "       "   " intensity register.
SCAN  	CON	11	' "       "   " highest # (0-7) of LED digit.
ON_OFF	CON	12	' "       "   " on/off status of display (0=off).
TEST  	CON	15	' Test mode (all digits/segment on, 100% bright)

max_dat	VAR	WORD	' Word to be sent to MAX7219.
Good luck