hello,

the pic port passes all arguments via the stack. this consumes a LOT of code.

Isn't there an option to use overlayed RAM such as the MCS51 port does?

half of my code is only stack push/pop!

Really, I don't care about reentrancy for my routines!

Regards

Sebastien Lorquet

PS:
                                           ; ; Starting pCode block
                                           S_nvm__ee_write    code
                                           _ee_write:
                                           ;    .line    35; nvm.c    uchar
ee_write(ushort eeadr, __data uchar *ram, uchar count)
0002d4   cfd9     movff    0xfd9, 0xfe5           MOVFF    FSR2L, POSTDEC1
0002d6   ffe5
0002d8   cfe1     movff    0xfe1, 0xfd9           MOVFF    FSR1L, FSR2L
0002da   ffd9
0002dc   c000     movff    0, 0xfe5               MOVFF    r0x00, POSTDEC1
0002de   ffe5
0002e0   c001     movff    0x1, 0xfe5             MOVFF    r0x01, POSTDEC1
0002e2   ffe5
0002e4   c002     movff    0x2, 0xfe5             MOVFF    r0x02, POSTDEC1
0002e6   ffe5
0002e8   c003     movff    0x3, 0xfe5             MOVFF    r0x03, POSTDEC1
0002ea   ffe5
0002ec   c004     movff    0x4, 0xfe5             MOVFF    r0x04, POSTDEC1
0002ee   ffe5
0002f0   c005     movff    0x5, 0xfe5             MOVFF    r0x05, POSTDEC1
0002f2   ffe5
0002f4   c006     movff    0x6, 0xfe5             MOVFF    r0x06, POSTDEC1
0002f6   ffe5
0002f8   0e02     movlw    0x2                    MOVLW    0x02
0002fa   cfdb     movff    0xfdb, 0               MOVFF    PLUSW2, r0x00
0002fc   f000
0002fe   0e03     movlw    0x3                    MOVLW    0x03
000300   cfdb     movff    0xfdb, 0x1             MOVFF    PLUSW2, r0x01
000302   f001
000304   0e04     movlw    0x4                    MOVLW    0x04
000306   cfdb     movff    0xfdb, 0x2             MOVFF    PLUSW2, r0x02
000308   f002
00030a   0e05     movlw    0x5                    MOVLW    0x05
00030c   cfdb     movff    0xfdb, 0x3             MOVFF    PLUSW2, r0x03
00030e   f003
FIRST ACTUAL INSTRUCTION IS NOW!!
                                           ;    .line    40; nvm.c    intconsave
= INTCON;
000310   cff2     movff    0xff2, 0x4             MOVFF    _INTCON, r0x04


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to