We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi, I have the following two doubts: 1) When should I use Dallas contiguous mode:512k vs Dallas contiguous mode: 16M ? 512k is enough for me but I do not know if I get some advantages with 16M mode!? 2) How to locate all functions in a file to a specific location: example 102H? filename: ulm.c Thanks joao
First thanks for your comments. I now understand that I need to study carefully:) I have tested with the following code:
char far a _at_ 0x12000L; char xdata b; char farfunc(void) { return a+b; } void main(void) { farfunc(); while(1); }
; FUNCTION farfunc (BEGIN) ; SOURCE LINE # 6 ; SOURCE LINE # 7 ; SOURCE LINE # 9 0000 90000000 R MOV DPTR,#b 0004 E0 MOVX A,@DPTR 0005 FF MOV R7,A 0006 90000000 R MOV DPTR,#a 000A E0 MOVX A,@DPTR 000B FE MOV R6,A 000C EF MOV A,R7 000D 2E ADD A,R6 000E FF MOV R7,A ; SOURCE LINE # 10 000F ?C0001: 000F 22 RET ; FUNCTION farfunc (END) ; FUNCTION main (BEGIN) ; SOURCE LINE # 13 ; SOURCE LINE # 14 ; SOURCE LINE # 15 0000 110000 R ACALL farfunc 0003 ?C0002: ; SOURCE LINE # 16 0003 80FE SJMP ?C0002 ; FUNCTION main (END)
; FUNCTION farfunc (BEGIN) ; SOURCE LINE # 6 ; SOURCE LINE # 7 ; SOURCE LINE # 9 0000 90000000 R MOV DPTR,#b 0004 E0 MOVX A,@DPTR 0005 FF MOV R7,A 0006 90000000 R MOV DPTR,#a 000A E0 MOVX A,@DPTR 000B FE MOV R6,A 000C EF MOV A,R7 000D 2E ADD A,R6 000E FF MOV R7,A ; SOURCE LINE # 10 000F ?C0001: 000F 22 RET ; FUNCTION farfunc (END) ; FUNCTION main (BEGIN) ; SOURCE LINE # 13 ; SOURCE LINE # 14 ; SOURCE LINE # 15 0000 12000000 R LCALL farfunc 0004 ?C0002: ; SOURCE LINE # 16 0004 80FE SJMP ?C0002 ; FUNCTION main (END)