This is NOT my code.

Code:
DEFINE OSC 20

p_01 var PORTD.4
p_02 var PORTD.5
p_03 var PORTD.6
p_04 var PORTD.7
p_05 var PORTB.0
p_06 var PORTB.1
p_07 var PORTB.2
p_08 var PORTB.3
p_09 var PORTB.4
p_10 var PORTB.5
p_11 var PORTB.6
p_12 var PORTB.7

RW  var bit[12]
x   var word
POS var word

DATA 1

DATA 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
DATA 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1
DATA 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1
DATA 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1
DATA 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1
DATA 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1
DATA 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1
DATA 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0
DATA 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0
DATA 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1
DATA 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1
DATA 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0
DATA 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0
DATA 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1
DATA 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1
DATA 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1
DATA 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1
DATA 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1
DATA 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1
DATA 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1

TRISB = 0
TRISA = 1
TRISD = 0
ADCON1= %00000111

PORTB = 0
PORTD = 0

LOOP:

if PORTA.0 = 0 then

    For POS = 0 TO 228 step 12

        for x = 1 to 12
            READ POS+x,RW[x]
        next x

        p_01=RW[1]: p_02=RW[2]: p_03=RW[3]: p_04=RW[4] : p_05=RW[5] : p_06=RW[6]
        p_07=RW[7]: p_08=RW[8]: p_09=RW[9]: p_10=RW[10]: p_11=RW[11]: p_12=RW[12]  

        PAUSEUS 1000

    NEXT POS
    
    PORTB = %00000000
    PORTD = %00000000
    
endif

goto LOOP