even nicer

Code:
rotate:
asm
    banksel _bcnt    ;ROW
    movlw   8
    movwf   _bcnt
    movlw   high (_dspbuff)
    movwf   FSR0H
    movlw   low  (_dspbuff)
    movwf   FSR0L
    movlw   31         ;BUFFER SIZE
    ADDWF   FSR0L,F
    banksel _bcnt
NROW     
    bcf     STATUS, C
    rrf     INDF0 ,f     ;PER COLUMN
    addfsr  0,-1
    rrf     INDF0 ,f     ;PER COLUMN
    addfsr  0,-1
    rrf     INDF0 ,f     ;PER COLUMN
    addfsr  0,-1
    rrf     INDF0 ,f     ;PER COLUMN
    btfss   STATUS, C
    GOTO    NBNC
    addfsr  0,3
    bsf     INDF0,7
    addfsr  0,-3
NBNC 
    addfsr  0,-1
    DECFSZ  _bcnt ,F
    GOTO    NROW
endasm
return