1 |   |
2 |           ;  Microchip  MPLAB  XC8  C  Compiler  V1.43 |
3 |           ;  Copyright  (C)  1984-2017  HI-TECH  Software |
4 |   |
5 |           ;  Auto-generated  runtime  startup  code  for  final  link  stage. |
6 |   |
7 |           ; |
8 |           ;  Compiler  options: |
9 |           ; |
10 |           ;  --chip=18F8720  -G  -mdist/default/debug/FW_PIC18F8720.debug.map  \ |
11 |           ;  -D__DEBUG=1  --debugger=pickit3  --double=24  --float=24  --emi=wordwrite  \ |
12 |           ;  --opt=+asm,+asmfile,-speed,+space,+debug,+local  --addrqual=ignore  \ |
13 |           ;  --mode=free  -P  -N255  --warn=-3  --asmlist  -DXPRJ_default=default  \ |
14 |           ;  --summary=default,+psect,+class,+mem,-hex,+file  --html  \ |
15 |           ;  --output=default,-inhx032  \ |
16 |           ;  --runtime=default,+clear,+init,-keep,-no_startup,-download,+config,+clib,-plib  \ |
17 |           ;  --output=-mcof,+elf:multilocs  --stack=compiled:auto:auto:auto  \ |
18 |           ;  --errformat=%f:%l:  error:  (%n)  %s  \ |
19 |           ;  --warnformat=%f:%l:  warning:  (%n)  %s  \ |
20 |           ;  --msgformat=%f:%l:  advisory:  (%n)  %s  --rom=default,-1fd30-1ffff  \ |
21 |           ;  --ram=default,-ef4-eff,-f9c-f9c,-fd4-fd4,-fdb-fdf,-fe3-fe7,-feb-fef,-ffd-fff  \ |
22 |           ;  --summary=+xml  --summarydir=dist/default/debug/memoryfile.xml  \ |
23 |           ;  -odist/default/debug/FW_PIC18F8720.debug.elf  \ |
24 |           ;  build/default/debug/Main.p1  build/default/debug/display.p1  \ |
25 |           ;  build/default/debug/hsv.p1  build/default/debug/i2c.p1  \ |
26 |           ;  build/default/debug/i2ca.p1  build/default/debug/keyboard.p1  \ |
27 |           ;  build/default/debug/ledI2C.p1  build/default/debug/rtc.p1 |
28 |           ; |
29 |   |
30 |   |
31 |           processor       18F8720 |
32 |   |
33 |   GLOBAL  ___extmem_base |
34 |   ___extmem_base  EQU  131072 |
35 |   |
36 |           GLOBAL  _main,start |
37 |           FNROOT  _main |
38 |   |
39 |           pic18cxx        equ     1 |
40 |   |
41 |           psect   config,class=CONFIG,delta=1,noexec |
42 |           psect   idloc,class=IDLOC,delta=1,noexec |
43 |           psect   const,class=CONST,delta=1,reloc=2,noexec |
44 |           psect   smallconst,class=SMALLCONST,delta=1,reloc=2,noexec |
45 |           psect   mediumconst,class=MEDIUMCONST,delta=1,reloc=2,noexec |
46 |           psect   rbss,class=COMRAM,space=1,noexec |
47 |           psect   bss,class=RAM,space=1,noexec |
48 |           psect   rdata,class=COMRAM,space=1,noexec |
49 |           psect   irdata,class=CODE,space=0,reloc=2,noexec |
50 |           psect   bss,class=RAM,space=1,noexec |
51 |           psect   data,class=RAM,space=1,noexec |
52 |           psect   idata,class=CODE,space=0,reloc=2,noexec |
53 |           psect   nvrram,class=COMRAM,space=1,noexec |
54 |           psect   nvbit,class=COMRAM,bit,space=1,noexec |
55 |           psect   temp,ovrld,class=COMRAM,space=1,noexec |
56 |           psect   struct,ovrld,class=COMRAM,space=1,noexec |
57 |           psect   rbit,class=COMRAM,bit,space=1,noexec |
58 |           psect   bigbss,class=BIGRAM,space=1,noexec |
59 |           psect   bigdata,class=BIGRAM,space=1,noexec |
60 |           psect   ibigdata,class=CODE,space=0,reloc=2,noexec |
61 |           psect   farbss,class=FARRAM,space=0,reloc=2,delta=1,noexec |
62 |           psect   nvFARRAM,class=FARRAM,space=0,reloc=2,delta=1,noexec |
63 |           psect   fardata,class=FARRAM,space=0,reloc=2,delta=1,noexec |
64 |           psect   ifardata,class=CODE,space=0,reloc=2,delta=1,noexec |
65 |   |
66 |           psect   reset_vec,class=CODE,delta=1,reloc=2 |
67 |           psect   powerup,class=CODE,delta=1,reloc=2 |
68 |           psect   init,class=CODE,delta=1,reloc=2 |
69 |           psect   text,class=CODE,delta=1,reloc=2 |
70 |   GLOBAL  intlevel0,intlevel1,intlevel2 |
71 |   intlevel0: |
72 |   intlevel1: |
73 |   intlevel2: |
74 |   GLOBAL  intlevel3 |
75 |   intlevel3: |
76 |           psect   clrtext,class=CODE,delta=1,reloc=2 |
77 |   |
78 |           psect   intcode,class=CODE,delta=1,reloc=2 |
79 |           psect   intcode_body,class=CODE,delta=1,reloc=2 |
80 |           psect   intcodelo,class=CODE,delta=1,reloc=2 |
81 |           psect   intret,class=CODE,delta=1,reloc=2 |
82 |           psect   intentry,class=CODE,delta=1,reloc=2 |
83 |           psect   intsave_regs,class=BIGRAM,space=1 |
84 |   |
85 |           psect   eeprom_data,class=EEDATA,delta=1,noexec |
86 |           psect   smallconst |
87 |           GLOBAL  __smallconst |
88 |   __smallconst: |
89 |           psect   mediumconst |
90 |           GLOBAL  __mediumconst |
91 |   __mediumconst: |
92 |   wreg    EQU 0FE8h |
93 |   fsr0l   EQU        0FE9h |
94 |   fsr0h   EQU        0FEAh |
95 |   fsr1l   EQU        0FE1h |
96 |   fsr1h   EQU        0FE2h |
97 |   fsr2l   EQU        0FD9h |
98 |   fsr2h   EQU        0FDAh |
99 |   postinc0        EQU     0FEEh |
100 |   postdec0        EQU     0FEDh |
101 |   postinc1        EQU     0FE6h |
102 |   postdec1        EQU     0FE5h |
103 |   postinc2        EQU     0FDEh |
104 |   postdec2        EQU     0FDDh |
105 |   tblptrl EQU      0FF6h |
106 |   tblptrh EQU      0FF7h |
107 |   tblptru EQU      0FF8h |
108 |   tablat    EQU       0FF5h |
109 |   |
110 |           PSECT   ramtop,class=RAM,noexec |
111 |           GLOBAL  __S1                  ;  top  of  RAM  usage |
112 |           GLOBAL  __ramtop |
113 |           GLOBAL  __LRAM,__HRAM |
114 |   __ramtop: |
115 |   |
116 |           psect   reset_vec |
117 |   reset_vec: |
118 |           nop     ;  NOP  inserted  due  to  debugger  requirements |
119 |   |
120 |           ;  No  powerup  routine |
121 |           global  start |
122 |   |
123 |   ;  jump  to  start |
124 |           goto  start |
125 |           GLOBAL  __accesstop |
126 |   __accesstop  EQU  96 |
127 |   |
128 |   ;Initialize  the  stack  pointer  (FSR1) |
129 |           global  stacklo,  stackhi |
130 |           stacklo equ      0127h |
131 |           stackhi equ      0EEEh |
132 |   |
133 |   |
134 |           psect   stack,class=STACK,space=2,noexec |
135 |           global  ___sp,___inthi_sp,___intlo_sp |
136 |   ___sp: |
137 |   ___inthi_sp: |
138 |   ___intlo_sp: |
139 |   |
140 |   |
141 |   |
142 |           psect   init |
143 |   start: |
144 |           global  start_initialization |
145 |           goto  start_initialization       ;jump  to  C  runtime  clear  &  initialization |
146 |   |
147 |   ;  Config  register  IDLOC0  @  0x200000 |
148 |   ;       unspecified  using  default  value |
149 |   |
150 |           psect   idloc,class=IDLOC,delta=1,noexec |
151 |                   org  0x0 |
152 |                   db  0xFF |
153 |   |
154 |   ;  Config  register  IDLOC1  @  0x200001 |
155 |   ;       unspecified  using  default  value |
156 |   |
157 |           psect   idloc,class=IDLOC,delta=1,noexec |
158 |                   org  0x1 |
159 |                   db  0xFF |
160 |   |
161 |   ;  Config  register  IDLOC2  @  0x200002 |
162 |   ;       unspecified  using  default  value |
163 |   |
164 |           psect   idloc,class=IDLOC,delta=1,noexec |
165 |                   org  0x2 |
166 |                   db  0xFF |
167 |   |
168 |   ;  Config  register  IDLOC3  @  0x200003 |
169 |   ;       unspecified  using  default  value |
170 |   |
171 |           psect   idloc,class=IDLOC,delta=1,noexec |
172 |                   org  0x3 |
173 |                   db  0xFF |
174 |   |
175 |   ;  Config  register  IDLOC4  @  0x200004 |
176 |   ;       unspecified  using  default  value |
177 |   |
178 |           psect   idloc,class=IDLOC,delta=1,noexec |
179 |                   org  0x4 |
180 |                   db  0xFF |
181 |   |
182 |   ;  Config  register  IDLOC5  @  0x200005 |
183 |   ;       unspecified  using  default  value |
184 |   |
185 |           psect   idloc,class=IDLOC,delta=1,noexec |
186 |                   org  0x5 |
187 |                   db  0xFF |
188 |   |
189 |   ;  Config  register  IDLOC6  @  0x200006 |
190 |   ;       unspecified  using  default  value |
191 |   |
192 |           psect   idloc,class=IDLOC,delta=1,noexec |
193 |                   org  0x6 |
194 |                   db  0xFF |
195 |   |
196 |   ;  Config  register  IDLOC7  @  0x200007 |
197 |   ;       unspecified  using  default  value |
198 |   |
199 |           psect   idloc,class=IDLOC,delta=1,noexec |
200 |                   org  0x7 |
201 |                   db  0xFF |
202 |   |
203 |   ;  Padding  undefined  space |
204 |           psect   config,class=CONFIG,delta=1,noexec |
205 |                   org  0x0 |
206 |                   db  0xFF |
207 |   |
208 |   ;  Config  register  CONFIG1H  @  0x300001 |
209 |   ;       Oscillator  Selection  bits |
210 |   ;       OSC  =  ECIO,  EC  oscillator  w/  OSC2  configured  as  RA6 |
211 |   ;       Oscillator  System  Clock  Switch  Enable  bit |
212 |   ;       OSCS  =  OFF,  Oscillator  system  clock  switch  option  is  disabled  (main  oscillator  is  source) |
213 |   |
214 |           psect   config,class=CONFIG,delta=1,noexec |
215 |                   org  0x1 |
216 |                   db  0x25 |
217 |   |
218 |   ;  Config  register  CONFIG2L  @  0x300002 |
219 |   ;       Power-up  Timer  Enable  bit |
220 |   ;       PWRT  =  OFF,  PWRT  disabled |
221 |   ;       Brown-out  Reset  Enable  bit |
222 |   ;       BOR  =  OFF,  Brown-out  Reset  disabled |
223 |   ;       Brown-out  Reset  Voltage  bits |
224 |   ;       BORV  =  25,  VBOR  set  to  2.5V |
225 |   |
226 |           psect   config,class=CONFIG,delta=1,noexec |
227 |                   org  0x2 |
228 |                   db  0xD |
229 |   |
230 |   ;  Config  register  CONFIG2H  @  0x300003 |
231 |   ;       Watchdog  Timer  Enable  bit |
232 |   ;       WDT  =  OFF,  WDT  disabled  (control  is  placed  on  the  SWDTEN  bit) |
233 |   ;       Watchdog  Timer  Postscale  Select  bits |
234 |   ;       WDTPS  =  128,  1:128 |
235 |   |
236 |           psect   config,class=CONFIG,delta=1,noexec |
237 |                   org  0x3 |
238 |                   db  0xE |
239 |   |
240 |   ;  Config  register  CONFIG3L  @  0x300004 |
241 |   ;       Processor  Mode  Select  bits |
242 |   ;       MODE  =  MC,  Microcontroller  mode |
243 |   ;       External  Bus  Data  Wait  Enable  bit |
244 |   ;       WAIT  =  OFF,  Wait  selections  unavailable  for  table  reads  and  table  writes |
245 |   |
246 |           psect   config,class=CONFIG,delta=1,noexec |
247 |                   org  0x4 |
248 |                   db  0x83 |
249 |   |
250 |   ;  Config  register  CONFIG3H  @  0x300005 |
251 |   ;       CCP2  Mux  bit |
252 |   ;       CCP2MUX  =  OFF,  CCP2  is  multiplexed  with  RB3  in  Extended  Microcontroller,  Microprocessor  or  Microprocessor  with  Boot  Block  mode.  Or  with  RE7  in  Microcontroller  mode. |
253 |   |
254 |           psect   config,class=CONFIG,delta=1,noexec |
255 |                   org  0x5 |
256 |                   db  0x2 |
257 |   |
258 |   ;  Config  register  CONFIG4L  @  0x300006 |
259 |   ;       Stack  Full/Underflow  Reset  Enable  bit |
260 |   ;       STVR  =  OFF,  Stack  full/underflow  will  not  cause  Reset |
261 |   ;       Low-Voltage  ICSP  Enable  bit |
262 |   ;       LVP  =  OFF,  Low-voltage  ICSP  disabled |
263 |   ;       Background  Debugger  Enable  bit |
264 |   ;       DEBUG  =  OFF,  Background  debugger  disabled.  RB6  and  RB7  configured  as  general  purpose  I/O  pins. |
265 |   |
266 |           psect   config,class=CONFIG,delta=1,noexec |
267 |                   org  0x6 |
268 |                   db  0x80 |
269 |   |
270 |   ;  Padding  undefined  space |
271 |           psect   config,class=CONFIG,delta=1,noexec |
272 |                   org  0x7 |
273 |                   db  0xFF |
274 |   |
275 |   ;  Config  register  CONFIG5L  @  0x300008 |
276 |   ;       Code  Protection  bit |
277 |   ;       CP0  =  OFF,  Block  0  (000200-003FFFh)  not  code-protected |
278 |   ;       Code  Protection  bit |
279 |   ;       CP1  =  OFF,  Block  1  (004000-007FFFh)  not  code-protected |
280 |   ;       Code  Protection  bit |
281 |   ;       CP2  =  OFF,  Block  2  (008000-00BFFFh)  not  code-protected |
282 |   ;       Code  Protection  bit |
283 |   ;       CP3  =  OFF,  Block  3  (00C000-00FFFFh)  not  code-protected |
284 |   ;       Code  Protection  bit |
285 |   ;       CP4  =  OFF,  Block  4  (010000-013FFFh)  not  code-protected |
286 |   ;       Code  Protection  bit |
287 |   ;       CP5  =  OFF,  Block  5  (014000-017FFFh)  not  code-protected |
288 |   ;       Code  Protection  bit |
289 |   ;       CP6  =  OFF,  Block  6  (018000-01BFFFh)  not  code-protected |
290 |   ;       Code  Protection  bit |
291 |   ;       CP7  =  OFF,  Block  7  (01C000-01FFFFh)  not  code-protected |
292 |   |
293 |           psect   config,class=CONFIG,delta=1,noexec |
294 |                   org  0x8 |
295 |                   db  0xFF |
296 |   |
297 |   ;  Config  register  CONFIG5H  @  0x300009 |
298 |   ;       Boot  Block  Code  Protection  bit |
299 |   ;       CPB  =  OFF,  Boot  Block  (000000-0001FFh)  not  code-protected |
300 |   ;       Data  EEPROM  Code  Protection  bit |
301 |   ;       CPD  =  OFF,  Data  EEPROM  not  code-protected |
302 |   |
303 |           psect   config,class=CONFIG,delta=1,noexec |
304 |                   org  0x9 |
305 |                   db  0xC0 |
306 |   |
307 |   ;  Config  register  CONFIG6L  @  0x30000A |
308 |   ;       Write  Protection  bit |
309 |   ;       WRT0  =  OFF,  Block  0  (000200-003FFFh)  not  write-protected |
310 |   ;       Write  Protection  bit |
311 |   ;       WRT1  =  OFF,  Block  1  (004000-007FFFh)  not  write-protected |
312 |   ;       Write  Protection  bit |
313 |   ;       WRT2  =  OFF,  Block  2  (008000-00BFFFh)  not  write-protected |
314 |   ;       Write  Protection  bit |
315 |   ;       WRT3  =  OFF,  Block  3  (00C000-00FFFFh)  not  write-protected |
316 |   ;       Write  Protection  bit |
317 |   ;       WRT4  =  OFF,  Block  4  (010000-013FFFh)  not  write-protected |
318 |   ;       Write  Protection  bit |
319 |   ;       WRT5  =  OFF,  Block  5  (014000-017FFFh)  not  write-protected |
320 |   ;       Write  Protection  bit |
321 |   ;       WRT6  =  OFF,  Block  6  (018000-01BFFFh)  not  write-protected |
322 |   ;       Write  Protection  bit |
323 |   ;       WRT7  =  OFF,  Block  7  (01C000-01FFFFh)  not  write-protected |
324 |   |
325 |           psect   config,class=CONFIG,delta=1,noexec |
326 |                   org  0xA |
327 |                   db  0xFF |
328 |   |
329 |   ;  Config  register  CONFIG6H  @  0x30000B |
330 |   ;       Configuration  Register  Write  Protection  bit |
331 |   ;       WRTC  =  OFF,  Configuration  registers  (300000-3000FFh)  not  write-protected |
332 |   ;       Boot  Block  Write  Protection  bit |
333 |   ;       WRTB  =  OFF,  Boot  Block  (000000-0001FFh)  not  write-protected |
334 |   ;       Data  EEPROM  Write  Protection  bit |
335 |   ;       WRTD  =  OFF,  Data  EEPROM  not  write-protected |
336 |   |
337 |           psect   config,class=CONFIG,delta=1,noexec |
338 |                   org  0xB |
339 |                   db  0xE0 |
340 |   |
341 |   ;  Config  register  CONFIG7L  @  0x30000C |
342 |   ;       Table  Read  Protection  bit |
343 |   ;       EBTR0  =  OFF,  Block  0  (000200-003FFFh)  not  protected  from  table  reads  executed  in  other  blocks |
344 |   ;       Table  Read  Protection  bit |
345 |   ;       EBTR1  =  OFF,  Block  1  (004000-007FFFh)  not  protected  from  table  reads  executed  in  other  blocks |
346 |   ;       Table  Read  Protection  bit |
347 |   ;       EBTR2  =  OFF,  Block  2  (008000-00BFFFh)  not  protected  from  table  reads  executed  in  other  blocks |
348 |   ;       Table  Read  Protection  bit |
349 |   ;       EBTR3  =  OFF,  Block  3  (00C000-00FFFFh)  not  protected  from  table  reads  executed  in  other  blocks |
350 |   ;       Table  Read  Protection  bit |
351 |   ;       EBTR4  =  OFF,  Block  4  (010000-013FFFh)  not  protected  from  table  reads  executed  in  other  blocks |
352 |   ;       Table  Read  Protection  bit |
353 |   ;       EBTR5  =  OFF,  Block  5  (014000-017FFFh)  not  protected  from  table  reads  executed  in  other  blocks |
354 |   ;       Table  Read  Protection  bit |
355 |   ;       EBTR6  =  OFF,  Block  6  (018000-01BFFFh)  not  protected  from  table  reads  executed  in  other  blocks |
356 |   ;       Table  Read  Protection  bit |
357 |   ;       EBTR7  =  OFF,  Block  7  (01C000-01FFFFh)  not  protected  from  table  reads  executed  in  other  blocks |
358 |   |
359 |           psect   config,class=CONFIG,delta=1,noexec |
360 |                   org  0xC |
361 |                   db  0xFF |
362 |   |
363 |   ;  Config  register  CONFIG7H  @  0x30000D |
364 |   ;       Boot  Block  Table  Read  Protection  bit |
365 |   ;       EBTRB  =  OFF,  Boot  Block  (000000-0001FFh)  not  protected  from  table  reads  executed  in  other  blocks |
366 |   |
367 |           psect   config,class=CONFIG,delta=1,noexec |
368 |                   org  0xD |
369 |                   db  0x40 |
370 |   |
371 |   |
372 |   psect  comram,class=COMRAM,space=1 |
373 |   psect  abs1,class=ABS1,space=1 |
374 |   psect  bigram,class=BIGRAM,space=1 |
375 |   psect  ram,class=RAM,space=1 |
376 |   psect  bank0,class=BANK0,space=1 |
377 |   psect  bank1,class=BANK1,space=1 |
378 |   psect  bank2,class=BANK2,space=1 |
379 |   psect  bank3,class=BANK3,space=1 |
380 |   psect  bank4,class=BANK4,space=1 |
381 |   psect  bank5,class=BANK5,space=1 |
382 |   psect  bank6,class=BANK6,space=1 |
383 |   psect  bank7,class=BANK7,space=1 |
384 |   psect  bank8,class=BANK8,space=1 |
385 |   psect  bank9,class=BANK9,space=1 |
386 |   psect  bank10,class=BANK10,space=1 |
387 |   psect  bank11,class=BANK11,space=1 |
388 |   psect  bank12,class=BANK12,space=1 |
389 |   psect  bank13,class=BANK13,space=1 |
390 |   psect  bank14,class=BANK14,space=1 |
391 |   psect  sfr,class=SFR,space=1 |
392 |   |
393 |   |
394 |           end     start |