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