File Shift Left problem

Coding and general discussion relating to the compiler

Moderators: David Barker, Jerry Messina

Post Reply
Roshan
Registered User
Registered User
Posts: 42
Joined: Tue Mar 03, 2009 3:08 pm
Location: India

File Shift Left problem

Post by Roshan » Mon Nov 08, 2010 2:44 pm

Hi All !

I have a series of 8 ram in pic18f4620 & i am using shift command to shift data from ram to ram . After debug i found data is not shifting.

Here is my code

Code: Select all

//shift row-0
STATUS.0 = 0
Display_Buffer(0) = Display_Buffer(0) << 1
Row0(0) = Row0(0) << 1
Row0(1) = Row0(1) << 1
Row0(2) = Row0(2) << 1
Row0(3) = Row0(3) << 1
Row0(4) = Row0(4) << 1
Row0(5) = Row0(5) << 1
Row0(6) = Row0(6) << 1
Row0(7) = Row0(7) << 1
After this i view asm code & i found

Code: Select all

?I000145_F000_000461_P000096 ; L#MK STATUS.0 = 0
        BCF STATUS,0,0
?I000146_F000_000464_P000096 ; L#MK STATUS.0 = 0
        BCF STATUS,0,0
?I000147_F000_000465_P000096 ; L#MK DISPLAY_BUFFER(0) = DISPLAY_BUFFER(0) << 1
        BCF STATUS,0,0
        MOVLB 1
        RLCF M257_U08,1
?I000148_F000_000466_P000096 ; L#MK ROW0(0) = ROW0(0) << 1
        BCF STATUS,0,0
        RLCF M265_U08,1
?I000149_F000_000467_P000096 ; L#MK ROW0(1) = ROW0(1) << 1
        BCF STATUS,0,0
        RLCF M266_U08,1
?I000150_F000_000468_P000096 ; L#MK ROW0(2) = ROW0(2) << 1
        BCF STATUS,0,0
        RLCF M267_U08,1
?I000151_F000_000469_P000096 ; L#MK ROW0(3) = ROW0(3) << 1
        BCF STATUS,0,0
        RLCF M268_U08,1
?I000152_F000_000470_P000096 ; L#MK ROW0(4) = ROW0(4) << 1
        BCF STATUS,0,0
        RLCF M269_U08,1
?I000153_F000_000471_P000096 ; L#MK ROW0(5) = ROW0(5) << 1
        BCF STATUS,0,0
        RLCF M270_U08,1
?I000154_F000_000472_P000096 ; L#MK ROW0(6) = ROW0(6) << 1
        BCF STATUS,0,0
        RLCF M271_U08,1
?I000155_F000_000473_P000096 ; L#MK ROW0(7) = ROW0(7) << 1
        BCF STATUS,0,0
        RLCF M272_U08,1

As i see before rotating file, code is clearing carry bit of status.

It is my problem. i want to shift data serially ,from one ram to another ram useing carry function.

Regards

Roshan
ROSHAN

Post Reply