⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 piccalc.xcl

📁 该应用软件可以实现大多数单片机的仿真实验
💻 XCL
字号:
/***********************************************************************
 *                      -L16F876.XCL-
 *
 *      XLINK command file to be used with the PIC C-compiler for the
 *      PICmicro 16F876 controller
 *
 *      Usage:  xlink  your_file(s)  -f l16F876
 *
 *      Copyright 1999 IAR Systems. All Rights Reserved.
 *
 *      NOTE:   By default this file is tailored for
 *              the 16F876
 *               
 *      $Revision: 1.3 $
 *
 *      $Log: L16F876.XCL $
 *      Revision 1.3  2000/12/04 10:27:10  ILAK
 *      Added segment CHECKSUM, used by the linker
 *      to store the checksum
 *      Revision 1.2  2000/02/25 15:20:14  ILAK
 *      Added the EEPROM_ID segment
 *      Revision 1.1  1999/08/10 14:17:24  ILAK
 *      Initial revision
 *
 ************************************************************************/

/*        Define CPU.           */

-cpic

/************************************************************************
 *      Allocate interrupt vector area segment which is mapped to ROM.
 *
 *      Interrupt vector area:   000000 - 0013.
 *
 *      NOTE:   All addresses are in bytes, not words!
 *
 ************************************************************************/

-Z(CODE)INTVEC=0000-0013

/************************************************************************
 *
 *      Allocate startup code and run-time library code segment which is
 *      mapped to ROM.
 *
 *      Addresses are for the 16F876.
 *
 *      Address 0x0014 is here supposed to be start of ROM area and
 *      address 0x3FFF is here supposed to be end of ROM area (2*2000H).
 *
 *      NOTE:   All addresses are in bytes, not words!
 *
 *
 ************************************************************************/

/* First we specify internal memory */
/* First we specify init code that must be placed in the first code page */
-Z(CODE)SCODE=14-1FF
/* The end address here must not be larger than the first code page (i.e. 0FFF) */
-P(CODE)RCODE=0-0FFF


/* Then we place the largest blocks first using the P directive */
-P(CODE)HCODE=0-3FFF
/* Code blocks smaller than the page size are inserted here */
-P(CODE)CODE=[0-3FFF]/1000
/* RETLW blocks with alignment 1 Word and smaller than 256 Words are 
   inserted here */
-P(CODE)SCONST=[0-3FFF]/200

/* Last we insert blocks that we can place anywhere in the memory */
-P(CODE)BANKN_ID,BANK0_ID,BANK1_ID,BANK2_ID,BANK3_ID,EEPROM_ID,CONST=0-3FFF

/* EEPROM data 256 bytes */

-Z(IDATA)EEPROM_Z,EEPROM_I,EEPROM_N=0-0FF

/* Stack is put above the code area since it is in fact not used for 
   anything other than a check of call depth                            */

-Z(CODE)CALLSTACK=100000-10000F
-Z(CODE)CHECKSUM=100100-10010F


/************************************************************************
 *
 *      Allocate banked memories. These corresponds to the __bankn
 *      pointers.
 *
 *      BANKN_Z/I/N:          __nonbanked 
 *
 *      BANK0_Z/I/N:          __bank0
 *      OVERLAY0:             Overlay area in bank 0
 *      INTSAVE0/WRKSEG:      Must reside in GPR area in bank 0 
 *      BANK1_Z/I/N:          __bank1
 *      OVERLAY1:             Overlay area in bank 1
 *      INTSAVE1:             Must reside in GPR area in bank 1
 *      BANK2_Z/I/N:          __bank2
 *      OVERLAY2:             Overlay area in bank 2
 *      INTSAVE2:             Must reside in GPR area in bank 2
 *      BANK3_Z/I/N:          __bank3
 *      OVERLAY3:             Overlay area in bank 3
 *      INTSAVE3:             Must reside in GPR area in bank 3
 *
 *      The bank layout is for 16F876 PIC
 *
 ************************************************************************/

-Z(DATA)BANKN_I,BANKN_Z,BANKN_N#70-07F            

-Z(DATA)INTSAVE0=20-07F            
-P(DATA)OVERLAY0,WRKSEG,BANK0_I,BANK0_Z,BANK0_N=20-07F            

-Z(DATA)INTSAVE1,OVERLAY1,BANK1_I,BANK1_Z,BANK1_N=0A0-0EF 

-Z(DATA)INTSAVE2,OVERLAY2,BANK2_I,BANK2_Z,BANK2_N=110-16F                  

-Z(DATA)INTSAVE3,OVERLAY3,BANK3_I,BANK3_Z,BANK3_N=190-1EF                  

/************************************************************************
 *
 *       Select the printf/sprintf formatter to use.
 *
 *       See configuration section in manual.
 *
 ************************************************************************/

-e_small_write=_formatted_write

/************************************************************************
 *
 *       Select the scanf/sscanf formatter to use.
 *
 *       See configuration section in manual.
 *
 ************************************************************************/

-e_small_read=_formatted_read

/************************************************************************
 *
 *       Select the 'C' library depending on processor used.
 *
 ************************************************************************/

cl16f876.r39

/************************************************************************
 *
 *       Put the code in the file '???.hex' in INTEL STANDARD format
 *
 ************************************************************************/

-Ointel-standard=.hex


/************************************************************************
 *
 *       EOF
 *
 ************************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -