richtig.

DDRA ist das In/out controll register
PINA ist Input
PORTA ist Output

und, unabhängig davon,
kannst du bei einem beliebigen Byte feste Werte (PORTB.3 = ) oder eben auch variable verwenden (PORTB.var = )

Schau aber nochmal in dein Programm :
"for col = 0 to 8" wären 9 Bits, soviele gibt's nicht