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
[email protected]
https://lists.sourceforge.net/lists/listinfo/sdcc-user