// -LNK8051.XCL- // // XLINK 4.44, or higher, command file to be used with the 8051 // C-compiler V5.xx // using the -mt, -ms, -mc, -mm or -ml memory model // Usage: xlink your_file(s) -f lnk8051l // // First: define CPU // // Revision control system // $Id: lnk8051.xcl 1.13 1998/05/22 06:05:56 matsp Exp matsp $ // -c8051 // If you have register independent code use: -D_R=0 // (or 8,16,24) to choose the register bank used at startup -D_R=0 // Setup "bit" segments (always zero if there is no need to reserve // bit variable space for some other purpose) -Z(BIT)C_ARGB,BITVARS=0 // Setup "data" segments. Start address may not be less // than start of register bank + 8. Space must also // be left for interrupt functions with the "using" attribute. -Z(DATA)B_UDATA,B_IDATA,C_ARGD,D_UDATA,D_IDATA=20 // Setup "idata" segments (usually loaded after "data") -Z(IDATA)C_ARGI,I_UDATA,I_IDATA,CSTACK // Setup "xdata" segments to the start address of external RAM. // Note that it starts from 1 since a pointer to address zero is regarded // as NULL. // Note that this declaration does no harm even if you use a memory // model that does not utilize external data RAM -Z(XDATA)P_UDATA,P_IDATA,C_ARGX,X_UDATA,X_IDATA,ECSTR,RF_XDATA,XSTACK=1 // Setup all read-only segments (PROM). Usually at zero //-Z(CODE)INTVEC,RCODE,D_CDATA,B_CDATA,I_CDATA,P_CDATA,X_CDATA,C_ICALL,C_RECFN,CSTR,CCSTR,CODE,CONST=0 -Z(CODE)INTVEC=0 -Z(CODE)RCODE,D_CDATA,B_CDATA,I_CDATA,P_CDATA,X_CDATA,C_ICALL,C_RECFN,CSTR,CCSTR,CODE,CONST=0040 // See configuration section concerning printf/sprintf -e_small_write=_formatted_write // See configuration section concerning scanf/sscanf -e_medium_read=_formatted_read // Load the 'C' library adapted for the selected memory model // cl8051t , cl8051s, cl8051c, cl8051m, cl8051l // Code will now reside on file aout.a03 in INTEL-STANDARD format