OpenCores
URL https://opencores.org/ocsvn/usb_fpga_1_11/usb_fpga_1_11/trunk

Subversion Repositories usb_fpga_1_11

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /usb_fpga_1_11/trunk/examples/all
    from Rev 2 to Rev 3
    Reverse comparison

Rev 2 → Rev 3

/debug/debug.lst
0,0 → 1,4497
1 ;--------------------------------------------------------
2 ; File Created by SDCC : free open source ANSI-C Compiler
3 ; Version 2.8.0 #5117 (May 15 2008) (UNIX)
4 ; This file was generated Wed Sep 8 20:23:26 2010
5 ;--------------------------------------------------------
6 .module debug_tmp
7 .optsdcc -mmcs51 --model-small
8
9 ;--------------------------------------------------------
10 ; Public variables in this module
11 ;--------------------------------------------------------
12 .globl _sendStringDescriptor_PARM_3
13 .globl _sendStringDescriptor_PARM_2
14 .globl _EmptyStringDescriptor
15 .globl _FullSpeedConfigDescriptor_PadByte
16 .globl _FullSpeedConfigDescriptor
17 .globl _HighSpeedConfigDescriptor_PadByte
18 .globl _HighSpeedConfigDescriptor
19 .globl _DeviceQualifierDescriptor
20 .globl _DeviceDescriptor
21 .globl _PadByte
22 .globl _configurationString
23 .globl _productString
24 .globl _manufacturerString
25 .globl _main
26 .globl _init_USB
27 .globl _EP8_ISR
28 .globl _EP6_ISR
29 .globl _EP4_ISR
30 .globl _EP2_ISR
31 .globl _EP1OUT_ISR
32 .globl _EP1IN_ISR
33 .globl _EP0ACK_ISR
34 .globl _HSGRANT_ISR
35 .globl _URES_ISR
36 .globl _SUSP_ISR
37 .globl _SUTOK_ISR
38 .globl _SOF_ISR
39 .globl _abscode_identity
40 .globl _debug_read_ep0
41 .globl _debug_init
42 .globl _debug_add_msg
43 .globl _eeprom_write_ep0
44 .globl _eeprom_read_ep0
45 .globl _eeprom_write
46 .globl _eeprom_read
47 .globl _eeprom_select
48 .globl _i2c_waitStop
49 .globl _i2c_waitStart
50 .globl _i2c_waitRead
51 .globl _i2c_waitWrite
52 .globl _MEM_COPY1_int
53 .globl _uwait
54 .globl _wait
55 .globl _abscode_intvec
56 .globl _EIPX6
57 .globl _EIPX5
58 .globl _EIPX4
59 .globl _PI2C
60 .globl _PUSB
61 .globl _BREG7
62 .globl _BREG6
63 .globl _BREG5
64 .globl _BREG4
65 .globl _BREG3
66 .globl _BREG2
67 .globl _BREG1
68 .globl _BREG0
69 .globl _EIEX6
70 .globl _EIEX5
71 .globl _EIEX4
72 .globl _EI2C
73 .globl _EUSB
74 .globl _ACC7
75 .globl _ACC6
76 .globl _ACC5
77 .globl _ACC4
78 .globl _ACC3
79 .globl _ACC2
80 .globl _ACC1
81 .globl _ACC0
82 .globl _SMOD1
83 .globl _ERESI
84 .globl _RESI
85 .globl _INT6
86 .globl _CY
87 .globl _AC
88 .globl _F0
89 .globl _RS1
90 .globl _RS0
91 .globl _OV
92 .globl _F1
93 .globl _PF
94 .globl _TF2
95 .globl _EXF2
96 .globl _RCLK
97 .globl _TCLK
98 .globl _EXEN2
99 .globl _TR2
100 .globl _CT2
101 .globl _CPRL2
102 .globl _SM0_1
103 .globl _SM1_1
104 .globl _SM2_1
105 .globl _REN_1
106 .globl _TB8_1
107 .globl _RB8_1
108 .globl _TI_1
109 .globl _RI_1
110 .globl _PS1
111 .globl _PT2
112 .globl _PS0
113 .globl _PT1
114 .globl _PX1
115 .globl _PT0
116 .globl _PX0
117 .globl _IOD7
118 .globl _IOD6
119 .globl _IOD5
120 .globl _IOD4
121 .globl _IOD3
122 .globl _IOD2
123 .globl _IOD1
124 .globl _IOD0
125 .globl _EA
126 .globl _ES1
127 .globl _ET2
128 .globl _ES0
129 .globl _ET1
130 .globl _EX1
131 .globl _ET0
132 .globl _EX0
133 .globl _IOC7
134 .globl _IOC6
135 .globl _IOC5
136 .globl _IOC4
137 .globl _IOC3
138 .globl _IOC2
139 .globl _IOC1
140 .globl _IOC0
141 .globl _SM0_0
142 .globl _SM1_0
143 .globl _SM2_0
144 .globl _REN_0
145 .globl _TB8_0
146 .globl _RB8_0
147 .globl _TI_0
148 .globl _RI_0
149 .globl _IOB7
150 .globl _IOB6
151 .globl _IOB5
152 .globl _IOB4
153 .globl _IOB3
154 .globl _IOB2
155 .globl _IOB1
156 .globl _IOB0
157 .globl _TF1
158 .globl _TR1
159 .globl _TF0
160 .globl _TR0
161 .globl _IE1
162 .globl _IT1
163 .globl _IE0
164 .globl _IT0
165 .globl _IOA7
166 .globl _IOA6
167 .globl _IOA5
168 .globl _IOA4
169 .globl _IOA3
170 .globl _IOA2
171 .globl _IOA1
172 .globl _IOA0
173 .globl _EIP
174 .globl _BREG
175 .globl _EIE
176 .globl _ACC
177 .globl _EICON
178 .globl _PSW
179 .globl _TH2
180 .globl _TL2
181 .globl _RCAP2H
182 .globl _RCAP2L
183 .globl _T2CON
184 .globl _SBUF1
185 .globl _SCON1
186 .globl _GPIFSGLDATLNOX
187 .globl _GPIFSGLDATLX
188 .globl _GPIFSGLDATH
189 .globl _GPIFTRIG
190 .globl _EP01STAT
191 .globl _IP
192 .globl _OEE
193 .globl _OED
194 .globl _OEC
195 .globl _OEB
196 .globl _OEA
197 .globl _IOE
198 .globl _IOD
199 .globl _AUTOPTRSETUP
200 .globl _EP68FIFOFLGS
201 .globl _EP24FIFOFLGS
202 .globl _EP2468STAT
203 .globl _IE
204 .globl _INT4CLR
205 .globl _INT2CLR
206 .globl _IOC
207 .globl _AUTOPTRL2
208 .globl _AUTOPTRH2
209 .globl _AUTOPTRL1
210 .globl _AUTOPTRH1
211 .globl _SBUF0
212 .globl _SCON0
213 .globl __XPAGE
214 .globl _MPAGE
215 .globl _EXIF
216 .globl _IOB
217 .globl _CKCON
218 .globl _TH1
219 .globl _TH0
220 .globl _TL1
221 .globl _TL0
222 .globl _TMOD
223 .globl _TCON
224 .globl _PCON
225 .globl _DPS
226 .globl _DPH1
227 .globl _DPL1
228 .globl _DPH0
229 .globl _DPL0
230 .globl _SP
231 .globl _IOA
232 .globl _ISOFRAME_COUNTER
233 .globl _ep0_vendor_cmd_setup
234 .globl _ep0_prev_setup_request
235 .globl _ep0_payload_transfer
236 .globl _ep0_payload_remaining
237 .globl _SN_STRING
238 .globl _MODULE_RESERVED
239 .globl _INTERFACE_CAPABILITIES
240 .globl _INTERFACE_VERSION
241 .globl _FW_VERSION
242 .globl _PRODUCT_ID
243 .globl _ZTEXID
244 .globl _ZTEX_DESCRIPTOR_VERSION
245 .globl _ZTEX_DESCRIPTOR
246 .globl _debug_read_addr
247 .globl _debug_msg_buf
248 .globl _debug_stack_ptr
249 .globl _debug_stack
250 .globl _debug_msg_size
251 .globl _debug_stack_size
252 .globl _debug_counter
253 .globl _eeprom_write_checksum
254 .globl _eeprom_write_bytes
255 .globl _eeprom_addr
256 .globl _INTVEC_GPIFWF
257 .globl _INTVEC_GPIFDONE
258 .globl _INTVEC_EP8FF
259 .globl _INTVEC_EP6FF
260 .globl _INTVEC_EP2FF
261 .globl _INTVEC_EP8EF
262 .globl _INTVEC_EP6EF
263 .globl _INTVEC_EP4EF
264 .globl _INTVEC_EP2EF
265 .globl _INTVEC_EP8PF
266 .globl _INTVEC_EP6PF
267 .globl _INTVEC_EP4PF
268 .globl _INTVEC_EP2PF
269 .globl _INTVEC_EP8ISOERR
270 .globl _INTVEC_EP6ISOERR
271 .globl _INTVEC_EP4ISOERR
272 .globl _INTVEC_EP2ISOERR
273 .globl _INTVEC_ERRLIMIT
274 .globl _INTVEC_EP8PING
275 .globl _INTVEC_EP6PING
276 .globl _INTVEC_EP4PING
277 .globl _INTVEC_EP2PING
278 .globl _INTVEC_EP1PING
279 .globl _INTVEC_EP0PING
280 .globl _INTVEC_IBN
281 .globl _INTVEC_EP8
282 .globl _INTVEC_EP6
283 .globl _INTVEC_EP4
284 .globl _INTVEC_EP2
285 .globl _INTVEC_EP1OUT
286 .globl _INTVEC_EP1IN
287 .globl _INTVEC_EP0OUT
288 .globl _INTVEC_EP0IN
289 .globl _INTVEC_EP0ACK
290 .globl _INTVEC_HISPEED
291 .globl _INTVEC_USBRESET
292 .globl _INTVEC_SUSPEND
293 .globl _INTVEC_SUTOK
294 .globl _INTVEC_SOF
295 .globl _INTVEC_SUDAV
296 .globl _INT12VEC_IE6
297 .globl _INT11VEC_IE5
298 .globl _INT10VEC_GPIF
299 .globl _INT9VEC_I2C
300 .globl _INT8VEC_USB
301 .globl _INT7VEC_USART1
302 .globl _INT6VEC_RESUME
303 .globl _INT5VEC_T2
304 .globl _INT4VEC_USART0
305 .globl _INT3VEC_T1
306 .globl _INT2VEC_IE1
307 .globl _INT1VEC_T0
308 .globl _INT0VEC_IE0
309 .globl _EP8FIFOBUF
310 .globl _EP6FIFOBUF
311 .globl _EP4FIFOBUF
312 .globl _EP2FIFOBUF
313 .globl _EP1INBUF
314 .globl _EP1OUTBUF
315 .globl _EP0BUF
316 .globl _GPIFABORT
317 .globl _GPIFREADYSTAT
318 .globl _GPIFREADYCFG
319 .globl _XGPIFSGLDATLNOX
320 .globl _XGPIFSGLDATLX
321 .globl _XGPIFSGLDATH
322 .globl _EP8GPIFTRIG
323 .globl _EP8GPIFPFSTOP
324 .globl _EP8GPIFFLGSEL
325 .globl _EP6GPIFTRIG
326 .globl _EP6GPIFPFSTOP
327 .globl _EP6GPIFFLGSEL
328 .globl _EP4GPIFTRIG
329 .globl _EP4GPIFPFSTOP
330 .globl _EP4GPIFFLGSEL
331 .globl _EP2GPIFTRIG
332 .globl _EP2GPIFPFSTOP
333 .globl _EP2GPIFFLGSEL
334 .globl _GPIFTCB0
335 .globl _GPIFTCB1
336 .globl _GPIFTCB2
337 .globl _GPIFTCB3
338 .globl _FLOWSTBHPERIOD
339 .globl _FLOWSTBEDGE
340 .globl _FLOWSTB
341 .globl _FLOWHOLDOFF
342 .globl _FLOWEQ1CTL
343 .globl _FLOWEQ0CTL
344 .globl _FLOWLOGIC
345 .globl _FLOWSTATE
346 .globl _GPIFADRL
347 .globl _GPIFADRH
348 .globl _GPIFCTLCFG
349 .globl _GPIFIDLECTL
350 .globl _GPIFIDLECS
351 .globl _GPIFWFSELECT
352 .globl _wLengthH
353 .globl _wLengthL
354 .globl _wIndexH
355 .globl _wIndexL
356 .globl _wValueH
357 .globl _wValueL
358 .globl _bRequest
359 .globl _bmRequestType
360 .globl _SETUPDAT
361 .globl _SUDPTRCTL
362 .globl _SUDPTRL
363 .globl _SUDPTRH
364 .globl _EP8FIFOBCL
365 .globl _EP8FIFOBCH
366 .globl _EP6FIFOBCL
367 .globl _EP6FIFOBCH
368 .globl _EP4FIFOBCL
369 .globl _EP4FIFOBCH
370 .globl _EP2FIFOBCL
371 .globl _EP2FIFOBCH
372 .globl _EP8FIFOFLGS
373 .globl _EP6FIFOFLGS
374 .globl _EP4FIFOFLGS
375 .globl _EP2FIFOFLGS
376 .globl _EP8CS
377 .globl _EP6CS
378 .globl _EP4CS
379 .globl _EP2CS
380 .globl _EPXCS
381 .globl _EP1INCS
382 .globl _EP1OUTCS
383 .globl _EP0CS
384 .globl _EP8BCL
385 .globl _EP8BCH
386 .globl _EP6BCL
387 .globl _EP6BCH
388 .globl _EP4BCL
389 .globl _EP4BCH
390 .globl _EP2BCL
391 .globl _EP2BCH
392 .globl _EP1INBC
393 .globl _EP1OUTBC
394 .globl _EP0BCL
395 .globl _EP0BCH
396 .globl _FNADDR
397 .globl _MICROFRAME
398 .globl _USBFRAMEL
399 .globl _USBFRAMEH
400 .globl _TOGCTL
401 .globl _WAKEUPCS
402 .globl _SUSPEND
403 .globl _USBCS
404 .globl _UDMACRCQUALIFIER
405 .globl _UDMACRCL
406 .globl _UDMACRCH
407 .globl _EXTAUTODAT2
408 .globl _XAUTODAT2
409 .globl _EXTAUTODAT1
410 .globl _XAUTODAT1
411 .globl _I2CTL
412 .globl _I2DAT
413 .globl _I2CS
414 .globl _PORTECFG
415 .globl _PORTCCFG
416 .globl _PORTACFG
417 .globl _INTSETUP
418 .globl _INT4IVEC
419 .globl _INT2IVEC
420 .globl _CLRERRCNT
421 .globl _ERRCNTLIM
422 .globl _USBERRIRQ
423 .globl _USBERRIE
424 .globl _GPIFIRQ
425 .globl _GPIFIE
426 .globl _EPIRQ
427 .globl _EPIE
428 .globl _USBIRQ
429 .globl _USBIE
430 .globl _NAKIRQ
431 .globl _NAKIE
432 .globl _IBNIRQ
433 .globl _IBNIE
434 .globl _EP8FIFOIRQ
435 .globl _EP8FIFOIE
436 .globl _EP6FIFOIRQ
437 .globl _EP6FIFOIE
438 .globl _EP4FIFOIRQ
439 .globl _EP4FIFOIE
440 .globl _EP2FIFOIRQ
441 .globl _EP2FIFOIE
442 .globl _OUTPKTEND
443 .globl _INPKTEND
444 .globl _EP8ISOINPKTS
445 .globl _EP6ISOINPKTS
446 .globl _EP4ISOINPKTS
447 .globl _EP2ISOINPKTS
448 .globl _EP8FIFOPFL
449 .globl _EP8FIFOPFH
450 .globl _EP6FIFOPFL
451 .globl _EP6FIFOPFH
452 .globl _EP4FIFOPFL
453 .globl _EP4FIFOPFH
454 .globl _EP2FIFOPFL
455 .globl _EP2FIFOPFH
456 .globl _ECC2B2
457 .globl _ECC2B1
458 .globl _ECC2B0
459 .globl _ECC1B2
460 .globl _ECC1B1
461 .globl _ECC1B0
462 .globl _ECCRESET
463 .globl _ECCCFG
464 .globl _EP8AUTOINLENL
465 .globl _EP8AUTOINLENH
466 .globl _EP6AUTOINLENL
467 .globl _EP6AUTOINLENH
468 .globl _EP4AUTOINLENL
469 .globl _EP4AUTOINLENH
470 .globl _EP2AUTOINLENL
471 .globl _EP2AUTOINLENH
472 .globl _EP8FIFOCFG
473 .globl _EP6FIFOCFG
474 .globl _EP4FIFOCFG
475 .globl _EP2FIFOCFG
476 .globl _EP8CFG
477 .globl _EP6CFG
478 .globl _EP4CFG
479 .globl _EP2CFG
480 .globl _EP1INCFG
481 .globl _EP1OUTCFG
482 .globl _GPIFHOLDAMOUNT
483 .globl _REVCTL
484 .globl _REVID
485 .globl _FIFOPINPOLAR
486 .globl _UART230
487 .globl _BPADDRL
488 .globl _BPADDRH
489 .globl _BREAKPT
490 .globl _FIFORESET
491 .globl _PINFLAGSCD
492 .globl _PINFLAGSAB
493 .globl _IFCONFIG
494 .globl _CPUCS
495 .globl _GPCR2
496 .globl _GPIF_WAVE3_DATA
497 .globl _GPIF_WAVE2_DATA
498 .globl _GPIF_WAVE1_DATA
499 .globl _GPIF_WAVE0_DATA
500 .globl _GPIF_WAVE_DATA
501 .globl _eeprom_write_PARM_3
502 .globl _eeprom_write_PARM_2
503 .globl _eeprom_read_PARM_3
504 .globl _eeprom_read_PARM_2
505 .globl _eeprom_select_PARM_2
506 ;--------------------------------------------------------
507 ; special function registers
508 ;--------------------------------------------------------
509 .area RSEG (DATA)
0080 510 _IOA = 0x0080
0081 511 _SP = 0x0081
0082 512 _DPL0 = 0x0082
0083 513 _DPH0 = 0x0083
0084 514 _DPL1 = 0x0084
0085 515 _DPH1 = 0x0085
0086 516 _DPS = 0x0086
0087 517 _PCON = 0x0087
0088 518 _TCON = 0x0088
0089 519 _TMOD = 0x0089
008A 520 _TL0 = 0x008a
008B 521 _TL1 = 0x008b
008C 522 _TH0 = 0x008c
008D 523 _TH1 = 0x008d
008E 524 _CKCON = 0x008e
0090 525 _IOB = 0x0090
0091 526 _EXIF = 0x0091
0092 527 _MPAGE = 0x0092
0092 528 __XPAGE = 0x0092
0098 529 _SCON0 = 0x0098
0099 530 _SBUF0 = 0x0099
009A 531 _AUTOPTRH1 = 0x009a
009B 532 _AUTOPTRL1 = 0x009b
009D 533 _AUTOPTRH2 = 0x009d
009E 534 _AUTOPTRL2 = 0x009e
00A0 535 _IOC = 0x00a0
00A1 536 _INT2CLR = 0x00a1
00A2 537 _INT4CLR = 0x00a2
00A8 538 _IE = 0x00a8
00AA 539 _EP2468STAT = 0x00aa
00AB 540 _EP24FIFOFLGS = 0x00ab
00AC 541 _EP68FIFOFLGS = 0x00ac
00AF 542 _AUTOPTRSETUP = 0x00af
00B0 543 _IOD = 0x00b0
00B1 544 _IOE = 0x00b1
00B2 545 _OEA = 0x00b2
00B3 546 _OEB = 0x00b3
00B4 547 _OEC = 0x00b4
00B5 548 _OED = 0x00b5
00B6 549 _OEE = 0x00b6
00B8 550 _IP = 0x00b8
00BA 551 _EP01STAT = 0x00ba
00BB 552 _GPIFTRIG = 0x00bb
00BD 553 _GPIFSGLDATH = 0x00bd
00BE 554 _GPIFSGLDATLX = 0x00be
00BF 555 _GPIFSGLDATLNOX = 0x00bf
00C0 556 _SCON1 = 0x00c0
00C1 557 _SBUF1 = 0x00c1
00C8 558 _T2CON = 0x00c8
00CA 559 _RCAP2L = 0x00ca
00CB 560 _RCAP2H = 0x00cb
00CC 561 _TL2 = 0x00cc
00CD 562 _TH2 = 0x00cd
00D0 563 _PSW = 0x00d0
00D8 564 _EICON = 0x00d8
00E0 565 _ACC = 0x00e0
00E8 566 _EIE = 0x00e8
00F0 567 _BREG = 0x00f0
00F8 568 _EIP = 0x00f8
569 ;--------------------------------------------------------
570 ; special function bits
571 ;--------------------------------------------------------
572 .area RSEG (DATA)
0080 573 _IOA0 = 0x0080
0081 574 _IOA1 = 0x0081
0082 575 _IOA2 = 0x0082
0083 576 _IOA3 = 0x0083
0084 577 _IOA4 = 0x0084
0085 578 _IOA5 = 0x0085
0086 579 _IOA6 = 0x0086
0087 580 _IOA7 = 0x0087
0088 581 _IT0 = 0x0088
0089 582 _IE0 = 0x0089
008A 583 _IT1 = 0x008a
008B 584 _IE1 = 0x008b
008C 585 _TR0 = 0x008c
008D 586 _TF0 = 0x008d
008E 587 _TR1 = 0x008e
008F 588 _TF1 = 0x008f
0090 589 _IOB0 = 0x0090
0091 590 _IOB1 = 0x0091
0092 591 _IOB2 = 0x0092
0093 592 _IOB3 = 0x0093
0094 593 _IOB4 = 0x0094
0095 594 _IOB5 = 0x0095
0096 595 _IOB6 = 0x0096
0097 596 _IOB7 = 0x0097
0098 597 _RI_0 = 0x0098
0099 598 _TI_0 = 0x0099
009A 599 _RB8_0 = 0x009a
009B 600 _TB8_0 = 0x009b
009C 601 _REN_0 = 0x009c
009D 602 _SM2_0 = 0x009d
009E 603 _SM1_0 = 0x009e
009F 604 _SM0_0 = 0x009f
00A0 605 _IOC0 = 0x00a0
00A1 606 _IOC1 = 0x00a1
00A2 607 _IOC2 = 0x00a2
00A3 608 _IOC3 = 0x00a3
00A4 609 _IOC4 = 0x00a4
00A5 610 _IOC5 = 0x00a5
00A6 611 _IOC6 = 0x00a6
00A7 612 _IOC7 = 0x00a7
00A8 613 _EX0 = 0x00a8
00A9 614 _ET0 = 0x00a9
00AA 615 _EX1 = 0x00aa
00AB 616 _ET1 = 0x00ab
00AC 617 _ES0 = 0x00ac
00AD 618 _ET2 = 0x00ad
00AE 619 _ES1 = 0x00ae
00AF 620 _EA = 0x00af
00B0 621 _IOD0 = 0x00b0
00B1 622 _IOD1 = 0x00b1
00B2 623 _IOD2 = 0x00b2
00B3 624 _IOD3 = 0x00b3
00B4 625 _IOD4 = 0x00b4
00B5 626 _IOD5 = 0x00b5
00B6 627 _IOD6 = 0x00b6
00B7 628 _IOD7 = 0x00b7
00B8 629 _PX0 = 0x00b8
00B9 630 _PT0 = 0x00b9
00BA 631 _PX1 = 0x00ba
00BB 632 _PT1 = 0x00bb
00BC 633 _PS0 = 0x00bc
00BD 634 _PT2 = 0x00bd
00BE 635 _PS1 = 0x00be
00C0 636 _RI_1 = 0x00c0
00C1 637 _TI_1 = 0x00c1
00C2 638 _RB8_1 = 0x00c2
00C3 639 _TB8_1 = 0x00c3
00C4 640 _REN_1 = 0x00c4
00C5 641 _SM2_1 = 0x00c5
00C6 642 _SM1_1 = 0x00c6
00C7 643 _SM0_1 = 0x00c7
00C8 644 _CPRL2 = 0x00c8
00C9 645 _CT2 = 0x00c9
00CA 646 _TR2 = 0x00ca
00CB 647 _EXEN2 = 0x00cb
00CC 648 _TCLK = 0x00cc
00CD 649 _RCLK = 0x00cd
00CE 650 _EXF2 = 0x00ce
00CF 651 _TF2 = 0x00cf
00D0 652 _PF = 0x00d0
00D1 653 _F1 = 0x00d1
00D2 654 _OV = 0x00d2
00D3 655 _RS0 = 0x00d3
00D4 656 _RS1 = 0x00d4
00D5 657 _F0 = 0x00d5
00D6 658 _AC = 0x00d6
00D7 659 _CY = 0x00d7
00DB 660 _INT6 = 0x00db
00DC 661 _RESI = 0x00dc
00DD 662 _ERESI = 0x00dd
00DF 663 _SMOD1 = 0x00df
00E0 664 _ACC0 = 0x00e0
00E1 665 _ACC1 = 0x00e1
00E2 666 _ACC2 = 0x00e2
00E3 667 _ACC3 = 0x00e3
00E4 668 _ACC4 = 0x00e4
00E5 669 _ACC5 = 0x00e5
00E6 670 _ACC6 = 0x00e6
00E7 671 _ACC7 = 0x00e7
00E8 672 _EUSB = 0x00e8
00E9 673 _EI2C = 0x00e9
00EA 674 _EIEX4 = 0x00ea
00EB 675 _EIEX5 = 0x00eb
00EC 676 _EIEX6 = 0x00ec
00F0 677 _BREG0 = 0x00f0
00F1 678 _BREG1 = 0x00f1
00F2 679 _BREG2 = 0x00f2
00F3 680 _BREG3 = 0x00f3
00F4 681 _BREG4 = 0x00f4
00F5 682 _BREG5 = 0x00f5
00F6 683 _BREG6 = 0x00f6
00F7 684 _BREG7 = 0x00f7
00F8 685 _PUSB = 0x00f8
00F9 686 _PI2C = 0x00f9
00FA 687 _EIPX4 = 0x00fa
00FB 688 _EIPX5 = 0x00fb
00FC 689 _EIPX6 = 0x00fc
690 ;--------------------------------------------------------
691 ; overlayable register banks
692 ;--------------------------------------------------------
693 .area REG_BANK_0 (REL,OVR,DATA)
0000 694 .ds 8
695 ;--------------------------------------------------------
696 ; overlayable bit register bank
697 ;--------------------------------------------------------
698 .area BIT_BANK (REL,OVR,DATA)
0000 699 bits:
0000 700 .ds 1
8000 701 b0 = bits[0]
8100 702 b1 = bits[1]
8200 703 b2 = bits[2]
8300 704 b3 = bits[3]
8400 705 b4 = bits[4]
8500 706 b5 = bits[5]
8600 707 b6 = bits[6]
8700 708 b7 = bits[7]
709 ;--------------------------------------------------------
710 ; internal ram data
711 ;--------------------------------------------------------
712 .area DSEG (DATA)
0000 713 _eeprom_select_PARM_2:
0000 714 .ds 1
0001 715 _eeprom_read_PARM_2:
0001 716 .ds 2
0003 717 _eeprom_read_PARM_3:
0003 718 .ds 1
0004 719 _eeprom_write_PARM_2:
0004 720 .ds 2
0006 721 _eeprom_write_PARM_3:
0006 722 .ds 1
723 ;--------------------------------------------------------
724 ; overlayable items in internal ram
725 ;--------------------------------------------------------
726 .area OSEG (OVR,DATA)
727 .area OSEG (OVR,DATA)
728 .area OSEG (OVR,DATA)
729 .area OSEG (OVR,DATA)
730 .area OSEG (OVR,DATA)
731 .area OSEG (OVR,DATA)
732 .area OSEG (OVR,DATA)
733 .area OSEG (OVR,DATA)
734 .area OSEG (OVR,DATA)
0000 735 _sendStringDescriptor_PARM_2::
0000 736 .ds 1
0001 737 _sendStringDescriptor_PARM_3::
0001 738 .ds 1
739 ;--------------------------------------------------------
740 ; Stack segment in internal ram
741 ;--------------------------------------------------------
742 .area SSEG (DATA)
0000 743 __start__stack:
0000 744 .ds 1
745
746 ;--------------------------------------------------------
747 ; indirectly addressable internal ram data
748 ;--------------------------------------------------------
749 .area ISEG (DATA)
750 ;--------------------------------------------------------
751 ; absolute internal ram data
752 ;--------------------------------------------------------
753 .area IABS (ABS,DATA)
754 .area IABS (ABS,DATA)
755 ;--------------------------------------------------------
756 ; bit data
757 ;--------------------------------------------------------
758 .area BSEG (BIT)
759 ;--------------------------------------------------------
760 ; paged external ram data
761 ;--------------------------------------------------------
762 .area PSEG (PAG,XDATA)
763 ;--------------------------------------------------------
764 ; external ram data
765 ;--------------------------------------------------------
766 .area XSEG (XDATA)
E400 767 _GPIF_WAVE_DATA = 0xe400
E400 768 _GPIF_WAVE0_DATA = 0xe400
E420 769 _GPIF_WAVE1_DATA = 0xe420
E440 770 _GPIF_WAVE2_DATA = 0xe440
E460 771 _GPIF_WAVE3_DATA = 0xe460
E50D 772 _GPCR2 = 0xe50d
E600 773 _CPUCS = 0xe600
E601 774 _IFCONFIG = 0xe601
E602 775 _PINFLAGSAB = 0xe602
E603 776 _PINFLAGSCD = 0xe603
E604 777 _FIFORESET = 0xe604
E605 778 _BREAKPT = 0xe605
E606 779 _BPADDRH = 0xe606
E607 780 _BPADDRL = 0xe607
E608 781 _UART230 = 0xe608
E609 782 _FIFOPINPOLAR = 0xe609
E60A 783 _REVID = 0xe60a
E60B 784 _REVCTL = 0xe60b
E60C 785 _GPIFHOLDAMOUNT = 0xe60c
E610 786 _EP1OUTCFG = 0xe610
E611 787 _EP1INCFG = 0xe611
E612 788 _EP2CFG = 0xe612
E613 789 _EP4CFG = 0xe613
E614 790 _EP6CFG = 0xe614
E615 791 _EP8CFG = 0xe615
E618 792 _EP2FIFOCFG = 0xe618
E619 793 _EP4FIFOCFG = 0xe619
E61A 794 _EP6FIFOCFG = 0xe61a
E61B 795 _EP8FIFOCFG = 0xe61b
E620 796 _EP2AUTOINLENH = 0xe620
E621 797 _EP2AUTOINLENL = 0xe621
E622 798 _EP4AUTOINLENH = 0xe622
E623 799 _EP4AUTOINLENL = 0xe623
E624 800 _EP6AUTOINLENH = 0xe624
E625 801 _EP6AUTOINLENL = 0xe625
E626 802 _EP8AUTOINLENH = 0xe626
E627 803 _EP8AUTOINLENL = 0xe627
E628 804 _ECCCFG = 0xe628
E629 805 _ECCRESET = 0xe629
E62A 806 _ECC1B0 = 0xe62a
E62B 807 _ECC1B1 = 0xe62b
E62C 808 _ECC1B2 = 0xe62c
E62D 809 _ECC2B0 = 0xe62d
E62E 810 _ECC2B1 = 0xe62e
E62F 811 _ECC2B2 = 0xe62f
E630 812 _EP2FIFOPFH = 0xe630
E631 813 _EP2FIFOPFL = 0xe631
E632 814 _EP4FIFOPFH = 0xe632
E633 815 _EP4FIFOPFL = 0xe633
E634 816 _EP6FIFOPFH = 0xe634
E635 817 _EP6FIFOPFL = 0xe635
E636 818 _EP8FIFOPFH = 0xe636
E637 819 _EP8FIFOPFL = 0xe637
E640 820 _EP2ISOINPKTS = 0xe640
E641 821 _EP4ISOINPKTS = 0xe641
E642 822 _EP6ISOINPKTS = 0xe642
E643 823 _EP8ISOINPKTS = 0xe643
E648 824 _INPKTEND = 0xe648
E649 825 _OUTPKTEND = 0xe649
E650 826 _EP2FIFOIE = 0xe650
E651 827 _EP2FIFOIRQ = 0xe651
E652 828 _EP4FIFOIE = 0xe652
E653 829 _EP4FIFOIRQ = 0xe653
E654 830 _EP6FIFOIE = 0xe654
E655 831 _EP6FIFOIRQ = 0xe655
E656 832 _EP8FIFOIE = 0xe656
E657 833 _EP8FIFOIRQ = 0xe657
E658 834 _IBNIE = 0xe658
E659 835 _IBNIRQ = 0xe659
E65A 836 _NAKIE = 0xe65a
E65B 837 _NAKIRQ = 0xe65b
E65C 838 _USBIE = 0xe65c
E65D 839 _USBIRQ = 0xe65d
E65E 840 _EPIE = 0xe65e
E65F 841 _EPIRQ = 0xe65f
E660 842 _GPIFIE = 0xe660
E661 843 _GPIFIRQ = 0xe661
E662 844 _USBERRIE = 0xe662
E663 845 _USBERRIRQ = 0xe663
E664 846 _ERRCNTLIM = 0xe664
E665 847 _CLRERRCNT = 0xe665
E666 848 _INT2IVEC = 0xe666
E667 849 _INT4IVEC = 0xe667
E668 850 _INTSETUP = 0xe668
E670 851 _PORTACFG = 0xe670
E671 852 _PORTCCFG = 0xe671
E672 853 _PORTECFG = 0xe672
E678 854 _I2CS = 0xe678
E679 855 _I2DAT = 0xe679
E67A 856 _I2CTL = 0xe67a
E67B 857 _XAUTODAT1 = 0xe67b
E67B 858 _EXTAUTODAT1 = 0xe67b
E67C 859 _XAUTODAT2 = 0xe67c
E67C 860 _EXTAUTODAT2 = 0xe67c
E67D 861 _UDMACRCH = 0xe67d
E67E 862 _UDMACRCL = 0xe67e
E67F 863 _UDMACRCQUALIFIER = 0xe67f
E680 864 _USBCS = 0xe680
E681 865 _SUSPEND = 0xe681
E682 866 _WAKEUPCS = 0xe682
E683 867 _TOGCTL = 0xe683
E684 868 _USBFRAMEH = 0xe684
E685 869 _USBFRAMEL = 0xe685
E686 870 _MICROFRAME = 0xe686
E687 871 _FNADDR = 0xe687
E68A 872 _EP0BCH = 0xe68a
E68B 873 _EP0BCL = 0xe68b
E68D 874 _EP1OUTBC = 0xe68d
E68F 875 _EP1INBC = 0xe68f
E690 876 _EP2BCH = 0xe690
E691 877 _EP2BCL = 0xe691
E694 878 _EP4BCH = 0xe694
E695 879 _EP4BCL = 0xe695
E698 880 _EP6BCH = 0xe698
E699 881 _EP6BCL = 0xe699
E69C 882 _EP8BCH = 0xe69c
E69D 883 _EP8BCL = 0xe69d
E6A0 884 _EP0CS = 0xe6a0
E6A1 885 _EP1OUTCS = 0xe6a1
E6A2 886 _EP1INCS = 0xe6a2
E6A3 887 _EPXCS = 0xe6a3
E6A3 888 _EP2CS = 0xe6a3
E6A4 889 _EP4CS = 0xe6a4
E6A5 890 _EP6CS = 0xe6a5
E6A6 891 _EP8CS = 0xe6a6
E6A7 892 _EP2FIFOFLGS = 0xe6a7
E6A8 893 _EP4FIFOFLGS = 0xe6a8
E6A9 894 _EP6FIFOFLGS = 0xe6a9
E6AA 895 _EP8FIFOFLGS = 0xe6aa
E6AB 896 _EP2FIFOBCH = 0xe6ab
E6AC 897 _EP2FIFOBCL = 0xe6ac
E6AD 898 _EP4FIFOBCH = 0xe6ad
E6AE 899 _EP4FIFOBCL = 0xe6ae
E6AF 900 _EP6FIFOBCH = 0xe6af
E6B0 901 _EP6FIFOBCL = 0xe6b0
E6B1 902 _EP8FIFOBCH = 0xe6b1
E6B2 903 _EP8FIFOBCL = 0xe6b2
E6B3 904 _SUDPTRH = 0xe6b3
E6B4 905 _SUDPTRL = 0xe6b4
E6B5 906 _SUDPTRCTL = 0xe6b5
E6B8 907 _SETUPDAT = 0xe6b8
E6B8 908 _bmRequestType = 0xe6b8
E6B9 909 _bRequest = 0xe6b9
E6BA 910 _wValueL = 0xe6ba
E6BB 911 _wValueH = 0xe6bb
E6BC 912 _wIndexL = 0xe6bc
E6BD 913 _wIndexH = 0xe6bd
E6BE 914 _wLengthL = 0xe6be
E6BF 915 _wLengthH = 0xe6bf
E6C0 916 _GPIFWFSELECT = 0xe6c0
E6C1 917 _GPIFIDLECS = 0xe6c1
E6C2 918 _GPIFIDLECTL = 0xe6c2
E6C3 919 _GPIFCTLCFG = 0xe6c3
E6C4 920 _GPIFADRH = 0xe6c4
E6C5 921 _GPIFADRL = 0xe6c5
E6C6 922 _FLOWSTATE = 0xe6c6
E6C7 923 _FLOWLOGIC = 0xe6c7
E6C8 924 _FLOWEQ0CTL = 0xe6c8
E6C9 925 _FLOWEQ1CTL = 0xe6c9
E6CA 926 _FLOWHOLDOFF = 0xe6ca
E6CB 927 _FLOWSTB = 0xe6cb
E6CC 928 _FLOWSTBEDGE = 0xe6cc
E6CD 929 _FLOWSTBHPERIOD = 0xe6cd
E6CE 930 _GPIFTCB3 = 0xe6ce
E6CF 931 _GPIFTCB2 = 0xe6cf
E6D0 932 _GPIFTCB1 = 0xe6d0
E6D1 933 _GPIFTCB0 = 0xe6d1
E6D2 934 _EP2GPIFFLGSEL = 0xe6d2
E6D3 935 _EP2GPIFPFSTOP = 0xe6d3
E6D4 936 _EP2GPIFTRIG = 0xe6d4
E6DA 937 _EP4GPIFFLGSEL = 0xe6da
E6DB 938 _EP4GPIFPFSTOP = 0xe6db
E6DC 939 _EP4GPIFTRIG = 0xe6dc
E6E2 940 _EP6GPIFFLGSEL = 0xe6e2
E6E3 941 _EP6GPIFPFSTOP = 0xe6e3
E6E4 942 _EP6GPIFTRIG = 0xe6e4
E6EA 943 _EP8GPIFFLGSEL = 0xe6ea
E6EB 944 _EP8GPIFPFSTOP = 0xe6eb
E6EC 945 _EP8GPIFTRIG = 0xe6ec
E6F0 946 _XGPIFSGLDATH = 0xe6f0
E6F1 947 _XGPIFSGLDATLX = 0xe6f1
E6F2 948 _XGPIFSGLDATLNOX = 0xe6f2
E6F3 949 _GPIFREADYCFG = 0xe6f3
E6F4 950 _GPIFREADYSTAT = 0xe6f4
E6F5 951 _GPIFABORT = 0xe6f5
E740 952 _EP0BUF = 0xe740
E780 953 _EP1OUTBUF = 0xe780
E7C0 954 _EP1INBUF = 0xe7c0
F000 955 _EP2FIFOBUF = 0xf000
F400 956 _EP4FIFOBUF = 0xf400
F800 957 _EP6FIFOBUF = 0xf800
FC00 958 _EP8FIFOBUF = 0xfc00
0003 959 _INT0VEC_IE0 = 0x0003
000B 960 _INT1VEC_T0 = 0x000b
0013 961 _INT2VEC_IE1 = 0x0013
001B 962 _INT3VEC_T1 = 0x001b
0023 963 _INT4VEC_USART0 = 0x0023
002B 964 _INT5VEC_T2 = 0x002b
0033 965 _INT6VEC_RESUME = 0x0033
003B 966 _INT7VEC_USART1 = 0x003b
0043 967 _INT8VEC_USB = 0x0043
004B 968 _INT9VEC_I2C = 0x004b
0053 969 _INT10VEC_GPIF = 0x0053
005B 970 _INT11VEC_IE5 = 0x005b
0063 971 _INT12VEC_IE6 = 0x0063
0100 972 _INTVEC_SUDAV = 0x0100
0104 973 _INTVEC_SOF = 0x0104
0108 974 _INTVEC_SUTOK = 0x0108
010C 975 _INTVEC_SUSPEND = 0x010c
0110 976 _INTVEC_USBRESET = 0x0110
0114 977 _INTVEC_HISPEED = 0x0114
0118 978 _INTVEC_EP0ACK = 0x0118
0120 979 _INTVEC_EP0IN = 0x0120
0124 980 _INTVEC_EP0OUT = 0x0124
0128 981 _INTVEC_EP1IN = 0x0128
012C 982 _INTVEC_EP1OUT = 0x012c
0130 983 _INTVEC_EP2 = 0x0130
0134 984 _INTVEC_EP4 = 0x0134
0138 985 _INTVEC_EP6 = 0x0138
013C 986 _INTVEC_EP8 = 0x013c
0140 987 _INTVEC_IBN = 0x0140
0148 988 _INTVEC_EP0PING = 0x0148
014C 989 _INTVEC_EP1PING = 0x014c
0150 990 _INTVEC_EP2PING = 0x0150
0154 991 _INTVEC_EP4PING = 0x0154
0158 992 _INTVEC_EP6PING = 0x0158
015C 993 _INTVEC_EP8PING = 0x015c
0160 994 _INTVEC_ERRLIMIT = 0x0160
0170 995 _INTVEC_EP2ISOERR = 0x0170
0174 996 _INTVEC_EP4ISOERR = 0x0174
0178 997 _INTVEC_EP6ISOERR = 0x0178
017C 998 _INTVEC_EP8ISOERR = 0x017c
0180 999 _INTVEC_EP2PF = 0x0180
0184 1000 _INTVEC_EP4PF = 0x0184
0188 1001 _INTVEC_EP6PF = 0x0188
018C 1002 _INTVEC_EP8PF = 0x018c
0190 1003 _INTVEC_EP2EF = 0x0190
0194 1004 _INTVEC_EP4EF = 0x0194
0198 1005 _INTVEC_EP6EF = 0x0198
019C 1006 _INTVEC_EP8EF = 0x019c
01A0 1007 _INTVEC_EP2FF = 0x01a0
01A8 1008 _INTVEC_EP6FF = 0x01a8
01AC 1009 _INTVEC_EP8FF = 0x01ac
01B0 1010 _INTVEC_GPIFDONE = 0x01b0
01B4 1011 _INTVEC_GPIFWF = 0x01b4
0000 1012 _eeprom_addr::
0000 1013 .ds 2
0002 1014 _eeprom_write_bytes::
0002 1015 .ds 2
0004 1016 _eeprom_write_checksum::
0004 1017 .ds 1
0005 1018 _debug_counter::
0005 1019 .ds 2
0007 1020 _debug_stack_size::
0007 1021 .ds 1
0008 1022 _debug_msg_size::
0008 1023 .ds 1
0009 1024 _debug_stack::
0009 1025 .ds 96
0069 1026 _debug_stack_ptr::
0069 1027 .ds 2
006B 1028 _debug_msg_buf::
006B 1029 .ds 3
006E 1030 _debug_read_addr::
006E 1031 .ds 2
006C 1032 _ZTEX_DESCRIPTOR = 0x006c
006D 1033 _ZTEX_DESCRIPTOR_VERSION = 0x006d
006E 1034 _ZTEXID = 0x006e
0072 1035 _PRODUCT_ID = 0x0072
0076 1036 _FW_VERSION = 0x0076
0077 1037 _INTERFACE_VERSION = 0x0077
0078 1038 _INTERFACE_CAPABILITIES = 0x0078
007E 1039 _MODULE_RESERVED = 0x007e
008A 1040 _SN_STRING = 0x008a
1041 ;--------------------------------------------------------
1042 ; absolute external ram data
1043 ;--------------------------------------------------------
1044 .area XABS (ABS,XDATA)
1045 ;--------------------------------------------------------
1046 ; external initialized ram data
1047 ;--------------------------------------------------------
1048 .area XISEG (XDATA)
0000 1049 _ep0_payload_remaining::
0000 1050 .ds 2
0002 1051 _ep0_payload_transfer::
0002 1052 .ds 1
0003 1053 _ep0_prev_setup_request::
0003 1054 .ds 1
0004 1055 _ep0_vendor_cmd_setup::
0004 1056 .ds 1
0005 1057 _ISOFRAME_COUNTER::
0005 1058 .ds 8
1059 .area HOME (CODE)
1060 .area GSINIT0 (CODE)
1061 .area GSINIT1 (CODE)
1062 .area GSINIT2 (CODE)
1063 .area GSINIT3 (CODE)
1064 .area GSINIT4 (CODE)
1065 .area GSINIT5 (CODE)
1066 .area GSINIT (CODE)
1067 .area GSFINAL (CODE)
1068 .area CSEG (CODE)
1069 ;--------------------------------------------------------
1070 ; interrupt vector
1071 ;--------------------------------------------------------
1072 .area HOME (CODE)
0000 1073 __interrupt_vect:
0000 02s00r00 1074 ljmp __sdcc_gsinit_startup
1075 ;--------------------------------------------------------
1076 ; global & static initialisations
1077 ;--------------------------------------------------------
1078 .area HOME (CODE)
1079 .area GSINIT (CODE)
1080 .area GSFINAL (CODE)
1081 .area GSINIT (CODE)
1082 .globl __sdcc_gsinit_startup
1083 .globl __sdcc_program_startup
1084 .globl __start__stack
1085 .globl __mcs51_genXINIT
1086 .globl __mcs51_genXRAMCLEAR
1087 .globl __mcs51_genRAMCLEAR
1088 .area GSFINAL (CODE)
0000 02s00r03 1089 ljmp __sdcc_program_startup
1090 ;--------------------------------------------------------
1091 ; Home
1092 ;--------------------------------------------------------
1093 .area HOME (CODE)
1094 .area HOME (CODE)
0003 1095 __sdcc_program_startup:
0003 12s0DrD2 1096 lcall _main
1097 ; return from main will lock up
0006 80 FE 1098 sjmp .
1099 ;--------------------------------------------------------
1100 ; code
1101 ;--------------------------------------------------------
1102 .area CSEG (CODE)
1103 ;------------------------------------------------------------
1104 ;Allocation info for local variables in function 'abscode_intvec'
1105 ;------------------------------------------------------------
1106 ;------------------------------------------------------------
1107 ; ../../../include/ezintavecs.h:92: void abscode_intvec() _naked
1108 ; -----------------------------------------
1109 ; function abscode_intvec
1110 ; -----------------------------------------
0000 1111 _abscode_intvec:
1112 ; naked function: no prologue.
1113 ; ../../../include/ezintavecs.h:317: ERROR: no line number 317 in file ../../../include/ezintavecs.h
1114
1115 .area ABSCODE (ABS,CODE)
0000 1116 .org 0x0000
0000 1117 ENTRY:
0000 02 02 00 1118 ljmp #0x0200
1119 ; # 94 "../../../include/ezintavecs.h"
0003 1120 .org 0x0003
1121 ; # 34 "../../../include/ezintavecs.h"
0003 32 1122 reti
1123 ; # 94 "../../../include/ezintavecs.h"
000B 1124 .org 0x000b
1125 ; # 35 "../../../include/ezintavecs.h"
000B 32 1126 reti
1127 ; # 94 "../../../include/ezintavecs.h"
0013 1128 .org 0x0013
1129 ; # 36 "../../../include/ezintavecs.h"
0013 32 1130 reti
1131 ; # 94 "../../../include/ezintavecs.h"
001B 1132 .org 0x001b
1133 ; # 37 "../../../include/ezintavecs.h"
001B 32 1134 reti
1135 ; # 94 "../../../include/ezintavecs.h"
0023 1136 .org 0x0023
1137 ; # 38 "../../../include/ezintavecs.h"
0023 32 1138 reti
1139 ; # 94 "../../../include/ezintavecs.h"
002B 1140 .org 0x002b
1141 ; # 39 "../../../include/ezintavecs.h"
002B 32 1142 reti
1143 ; # 94 "../../../include/ezintavecs.h"
0033 1144 .org 0x0033
1145 ; # 40 "../../../include/ezintavecs.h"
0033 32 1146 reti
1147 ; # 94 "../../../include/ezintavecs.h"
003B 1148 .org 0x003b
1149 ; # 41 "../../../include/ezintavecs.h"
003B 32 1150 reti
1151 ; # 94 "../../../include/ezintavecs.h"
0043 1152 .org 0x0043
1153 ; # 42 "../../../include/ezintavecs.h"
0043 32 1154 reti
1155 ; # 94 "../../../include/ezintavecs.h"
004B 1156 .org 0x004b
1157 ; # 43 "../../../include/ezintavecs.h"
004B 32 1158 reti
1159 ; # 94 "../../../include/ezintavecs.h"
0053 1160 .org 0x0053
1161 ; # 44 "../../../include/ezintavecs.h"
0053 32 1162 reti
1163 ; # 94 "../../../include/ezintavecs.h"
005B 1164 .org 0x005b
1165 ; # 45 "../../../include/ezintavecs.h"
005B 32 1166 reti
1167 ; # 94 "../../../include/ezintavecs.h"
0063 1168 .org 0x0063
1169 ; # 46 "../../../include/ezintavecs.h"
0063 32 1170 reti
1171 ; # 94 "../../../include/ezintavecs.h"
0100 1172 .org 0x0100
1173 ; # 47 "../../../include/ezintavecs.h"
0100 32 1174 reti
1175 ; # 94 "../../../include/ezintavecs.h"
0104 1176 .org 0x0104
1177 ; # 48 "../../../include/ezintavecs.h"
0104 32 1178 reti
1179 ; # 94 "../../../include/ezintavecs.h"
0108 1180 .org 0x0108
1181 ; # 49 "../../../include/ezintavecs.h"
0108 32 1182 reti
1183 ; # 94 "../../../include/ezintavecs.h"
010C 1184 .org 0x010C
1185 ; # 50 "../../../include/ezintavecs.h"
010C 32 1186 reti
1187 ; # 94 "../../../include/ezintavecs.h"
0110 1188 .org 0x0110
1189 ; # 51 "../../../include/ezintavecs.h"
0110 32 1190 reti
1191 ; # 94 "../../../include/ezintavecs.h"
0114 1192 .org 0x0114
1193 ; # 52 "../../../include/ezintavecs.h"
0114 32 1194 reti
1195 ; # 94 "../../../include/ezintavecs.h"
0118 1196 .org 0x0118
1197 ; # 53 "../../../include/ezintavecs.h"
0118 32 1198 reti
1199 ; # 94 "../../../include/ezintavecs.h"
0120 1200 .org 0x0120
1201 ; # 54 "../../../include/ezintavecs.h"
0120 32 1202 reti
1203 ; # 94 "../../../include/ezintavecs.h"
0124 1204 .org 0x0124
1205 ; # 55 "../../../include/ezintavecs.h"
0124 32 1206 reti
1207 ; # 94 "../../../include/ezintavecs.h"
0128 1208 .org 0x0128
1209 ; # 56 "../../../include/ezintavecs.h"
0128 32 1210 reti
1211 ; # 94 "../../../include/ezintavecs.h"
012C 1212 .org 0x012C
1213 ; # 57 "../../../include/ezintavecs.h"
012C 32 1214 reti
1215 ; # 94 "../../../include/ezintavecs.h"
0130 1216 .org 0x0130
1217 ; # 58 "../../../include/ezintavecs.h"
0130 32 1218 reti
1219 ; # 94 "../../../include/ezintavecs.h"
0134 1220 .org 0x0134
1221 ; # 59 "../../../include/ezintavecs.h"
0134 32 1222 reti
1223 ; # 94 "../../../include/ezintavecs.h"
0138 1224 .org 0x0138
1225 ; # 60 "../../../include/ezintavecs.h"
0138 32 1226 reti
1227 ; # 94 "../../../include/ezintavecs.h"
013C 1228 .org 0x013C
1229 ; # 61 "../../../include/ezintavecs.h"
013C 32 1230 reti
1231 ; # 94 "../../../include/ezintavecs.h"
0140 1232 .org 0x0140
1233 ; # 62 "../../../include/ezintavecs.h"
0140 32 1234 reti
1235 ; # 94 "../../../include/ezintavecs.h"
0148 1236 .org 0x0148
1237 ; # 63 "../../../include/ezintavecs.h"
0148 32 1238 reti
1239 ; # 94 "../../../include/ezintavecs.h"
014C 1240 .org 0x014C
1241 ; # 64 "../../../include/ezintavecs.h"
014C 32 1242 reti
1243 ; # 94 "../../../include/ezintavecs.h"
0150 1244 .org 0x0150
1245 ; # 65 "../../../include/ezintavecs.h"
0150 32 1246 reti
1247 ; # 94 "../../../include/ezintavecs.h"
0154 1248 .org 0x0154
1249 ; # 66 "../../../include/ezintavecs.h"
0154 32 1250 reti
1251 ; # 94 "../../../include/ezintavecs.h"
0158 1252 .org 0x0158
1253 ; # 67 "../../../include/ezintavecs.h"
0158 32 1254 reti
1255 ; # 94 "../../../include/ezintavecs.h"
015C 1256 .org 0x015C
1257 ; # 68 "../../../include/ezintavecs.h"
015C 32 1258 reti
1259 ; # 94 "../../../include/ezintavecs.h"
0160 1260 .org 0x0160
1261 ; # 69 "../../../include/ezintavecs.h"
0160 32 1262 reti
1263 ; # 94 "../../../include/ezintavecs.h"
0170 1264 .org 0x0170
1265 ; # 70 "../../../include/ezintavecs.h"
0170 32 1266 reti
1267 ; # 94 "../../../include/ezintavecs.h"
0174 1268 .org 0x0174
1269 ; # 71 "../../../include/ezintavecs.h"
0174 32 1270 reti
1271 ; # 94 "../../../include/ezintavecs.h"
0178 1272 .org 0x0178
1273 ; # 72 "../../../include/ezintavecs.h"
0178 32 1274 reti
1275 ; # 94 "../../../include/ezintavecs.h"
017C 1276 .org 0x017C
1277 ; # 73 "../../../include/ezintavecs.h"
017C 32 1278 reti
1279 ; # 94 "../../../include/ezintavecs.h"
0180 1280 .org 0x0180
1281 ; # 74 "../../../include/ezintavecs.h"
0180 32 1282 reti
1283 ; # 94 "../../../include/ezintavecs.h"
0184 1284 .org 0x0184
1285 ; # 75 "../../../include/ezintavecs.h"
0184 32 1286 reti
1287 ; # 94 "../../../include/ezintavecs.h"
0188 1288 .org 0x0188
1289 ; # 76 "../../../include/ezintavecs.h"
0188 32 1290 reti
1291 ; # 94 "../../../include/ezintavecs.h"
018C 1292 .org 0x018C
1293 ; # 77 "../../../include/ezintavecs.h"
018C 32 1294 reti
1295 ; # 94 "../../../include/ezintavecs.h"
0190 1296 .org 0x0190
1297 ; # 78 "../../../include/ezintavecs.h"
0190 32 1298 reti
1299 ; # 94 "../../../include/ezintavecs.h"
0194 1300 .org 0x0194
1301 ; # 79 "../../../include/ezintavecs.h"
0194 32 1302 reti
1303 ; # 94 "../../../include/ezintavecs.h"
0198 1304 .org 0x0198
1305 ; # 80 "../../../include/ezintavecs.h"
0198 32 1306 reti
1307 ; # 94 "../../../include/ezintavecs.h"
019C 1308 .org 0x019C
1309 ; # 81 "../../../include/ezintavecs.h"
019C 32 1310 reti
1311 ; # 94 "../../../include/ezintavecs.h"
01A0 1312 .org 0x01A0
1313 ; # 82 "../../../include/ezintavecs.h"
01A0 32 1314 reti
1315 ; # 94 "../../../include/ezintavecs.h"
01A8 1316 .org 0x01A8
1317 ; # 83 "../../../include/ezintavecs.h"
01A8 32 1318 reti
1319 ; # 94 "../../../include/ezintavecs.h"
01AC 1320 .org 0x01AC
1321 ; # 84 "../../../include/ezintavecs.h"
01AC 32 1322 reti
1323 ; # 94 "../../../include/ezintavecs.h"
01B0 1324 .org 0x01B0
1325 ; # 85 "../../../include/ezintavecs.h"
01B0 32 1326 reti
1327 ; # 94 "../../../include/ezintavecs.h"
01B4 1328 .org 0x01B4
1329 ; # 101 "../../../include/ezintavecs.h"
01B4 32 1330 reti
01B8 1331 .org 0x01b8
01B8 1332 INTVEC_DUMMY:
01B8 32 1333 reti
1334 .area CSEG (CODE)
1335
1336 ; naked function: no epilogue.
1337 ;------------------------------------------------------------
1338 ;Allocation info for local variables in function 'wait'
1339 ;------------------------------------------------------------
1340 ;ms Allocated to registers r2 r3
1341 ;i Allocated to registers r6 r7
1342 ;j Allocated to registers r4 r5
1343 ;------------------------------------------------------------
1344 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
1345 ; -----------------------------------------
1346 ; function wait
1347 ; -----------------------------------------
0000 1348 _wait:
0002 1349 ar2 = 0x02
0003 1350 ar3 = 0x03
0004 1351 ar4 = 0x04
0005 1352 ar5 = 0x05
0006 1353 ar6 = 0x06
0007 1354 ar7 = 0x07
0000 1355 ar0 = 0x00
0001 1356 ar1 = 0x01
0000 AA 82 1357 mov r2,dpl
0002 AB 83 1358 mov r3,dph
1359 ; ../../../include/ztex-utils.h:80: for (j=0; j<ms; j++)
0004 7C 00 1360 mov r4,#0x00
0006 7D 00 1361 mov r5,#0x00
0008 1362 00104$:
0008 C3 1363 clr c
0009 EC 1364 mov a,r4
000A 9A 1365 subb a,r2
000B ED 1366 mov a,r5
000C 9B 1367 subb a,r3
000D 50 14 1368 jnc 00108$
1369 ; ../../../include/ztex-utils.h:81: for (i=0; i<1200; i++);
000F 7E B0 1370 mov r6,#0xB0
0011 7F 04 1371 mov r7,#0x04
0013 1372 00103$:
0013 1E 1373 dec r6
0014 BE FF 01 1374 cjne r6,#0xff,00117$
0017 1F 1375 dec r7
0018 1376 00117$:
0018 EE 1377 mov a,r6
0019 4F 1378 orl a,r7
001A 70 F7 1379 jnz 00103$
1380 ; ../../../include/ztex-utils.h:80: for (j=0; j<ms; j++)
001C 0C 1381 inc r4
001D BC 00 E8 1382 cjne r4,#0x00,00104$
0020 0D 1383 inc r5
0021 80 E5 1384 sjmp 00104$
0023 1385 00108$:
0023 22 1386 ret
1387 ;------------------------------------------------------------
1388 ;Allocation info for local variables in function 'uwait'
1389 ;------------------------------------------------------------
1390 ;us Allocated to registers r2 r3
1391 ;i Allocated to registers r6 r7
1392 ;j Allocated to registers r4 r5
1393 ;------------------------------------------------------------
1394 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
1395 ; -----------------------------------------
1396 ; function uwait
1397 ; -----------------------------------------
0024 1398 _uwait:
0024 AA 82 1399 mov r2,dpl
0026 AB 83 1400 mov r3,dph
1401 ; ../../../include/ztex-utils.h:90: for (j=0; j<us; j++)
0028 7C 00 1402 mov r4,#0x00
002A 7D 00 1403 mov r5,#0x00
002C 1404 00104$:
002C C3 1405 clr c
002D EC 1406 mov a,r4
002E 9A 1407 subb a,r2
002F ED 1408 mov a,r5
0030 9B 1409 subb a,r3
0031 50 14 1410 jnc 00108$
1411 ; ../../../include/ztex-utils.h:91: for (i=0; i<10; i++);
0033 7E 0A 1412 mov r6,#0x0A
0035 7F 00 1413 mov r7,#0x00
0037 1414 00103$:
0037 1E 1415 dec r6
0038 BE FF 01 1416 cjne r6,#0xff,00117$
003B 1F 1417 dec r7
003C 1418 00117$:
003C EE 1419 mov a,r6
003D 4F 1420 orl a,r7
003E 70 F7 1421 jnz 00103$
1422 ; ../../../include/ztex-utils.h:90: for (j=0; j<us; j++)
0040 0C 1423 inc r4
0041 BC 00 E8 1424 cjne r4,#0x00,00104$
0044 0D 1425 inc r5
0045 80 E5 1426 sjmp 00104$
0047 1427 00108$:
0047 22 1428 ret
1429 ;------------------------------------------------------------
1430 ;Allocation info for local variables in function 'MEM_COPY1_int'
1431 ;------------------------------------------------------------
1432 ;------------------------------------------------------------
1433 ; ../../../include/ztex-utils.h:99: void MEM_COPY1_int() __naked {
1434 ; -----------------------------------------
1435 ; function MEM_COPY1_int
1436 ; -----------------------------------------
0048 1437 _MEM_COPY1_int:
1438 ; naked function: no prologue.
1439 ; ../../../include/ztex-utils.h:109: _endasm;
1440
0048 1441 020001$:
0048 75 AF 07 1442 mov _AUTOPTRSETUP,#0x07
004B 90 E6 7B 1443 mov dptr,#_XAUTODAT1
004E E0 1444 movx a,@dptr
004F 90 E6 7C 1445 mov dptr,#_XAUTODAT2
0052 F0 1446 movx @dptr,a
0053 DA F3 1447 djnz r2, 020001$
0055 22 1448 ret
1449
1450 ; naked function: no epilogue.
1451 ;------------------------------------------------------------
1452 ;Allocation info for local variables in function 'i2c_waitWrite'
1453 ;------------------------------------------------------------
1454 ;i2csbuf Allocated to registers r2
1455 ;toc Allocated to registers r2
1456 ;------------------------------------------------------------
1457 ; ../../../include/ztex-eeprom.h:41: BYTE i2c_waitWrite()
1458 ; -----------------------------------------
1459 ; function i2c_waitWrite
1460 ; -----------------------------------------
0056 1461 _i2c_waitWrite:
1462 ; ../../../include/ztex-eeprom.h:44: for ( toc=0; toc<255 && !(I2CS & bmBIT0); toc++ );
0056 7A 00 1463 mov r2,#0x00
0058 1464 00105$:
0058 BA FF 00 1465 cjne r2,#0xFF,00116$
005B 1466 00116$:
005B 50 0B 1467 jnc 00108$
005D 90 E6 78 1468 mov dptr,#_I2CS
0060 E0 1469 movx a,@dptr
0061 FB 1470 mov r3,a
0062 20 E0 03 1471 jb acc.0,00108$
0065 0A 1472 inc r2
0066 80 F0 1473 sjmp 00105$
0068 1474 00108$:
1475 ; ../../../include/ztex-eeprom.h:45: i2csbuf = I2CS;
0068 90 E6 78 1476 mov dptr,#_I2CS
006B E0 1477 movx a,@dptr
1478 ; ../../../include/ztex-eeprom.h:46: if ( (i2csbuf & bmBIT2) || (!(i2csbuf & bmBIT1)) ) {
006C FA 1479 mov r2,a
006D 20 E2 04 1480 jb acc.2,00101$
0070 EA 1481 mov a,r2
0071 20 E1 0B 1482 jb acc.1,00102$
0074 1483 00101$:
1484 ; ../../../include/ztex-eeprom.h:47: I2CS |= bmBIT6;
0074 90 E6 78 1485 mov dptr,#_I2CS
0077 E0 1486 movx a,@dptr
0078 44 40 1487 orl a,#0x40
007A F0 1488 movx @dptr,a
1489 ; ../../../include/ztex-eeprom.h:48: return 1;
007B 75 82 01 1490 mov dpl,#0x01
1491 ; ../../../include/ztex-eeprom.h:50: return 0;
007E 22 1492 ret
007F 1493 00102$:
007F 75 82 00 1494 mov dpl,#0x00
0082 22 1495 ret
1496 ;------------------------------------------------------------
1497 ;Allocation info for local variables in function 'i2c_waitRead'
1498 ;------------------------------------------------------------
1499 ;i2csbuf Allocated to registers r2
1500 ;toc Allocated to registers r2
1501 ;------------------------------------------------------------
1502 ; ../../../include/ztex-eeprom.h:57: BYTE i2c_waitRead(void)
1503 ; -----------------------------------------
1504 ; function i2c_waitRead
1505 ; -----------------------------------------
0083 1506 _i2c_waitRead:
1507 ; ../../../include/ztex-eeprom.h:60: for ( toc=0; toc<255 && !(I2CS & bmBIT0); toc++ );
0083 7A 00 1508 mov r2,#0x00
0085 1509 00104$:
0085 BA FF 00 1510 cjne r2,#0xFF,00115$
0088 1511 00115$:
0088 50 0B 1512 jnc 00107$
008A 90 E6 78 1513 mov dptr,#_I2CS
008D E0 1514 movx a,@dptr
008E FB 1515 mov r3,a
008F 20 E0 03 1516 jb acc.0,00107$
0092 0A 1517 inc r2
0093 80 F0 1518 sjmp 00104$
0095 1519 00107$:
1520 ; ../../../include/ztex-eeprom.h:61: i2csbuf = I2CS;
0095 90 E6 78 1521 mov dptr,#_I2CS
0098 E0 1522 movx a,@dptr
1523 ; ../../../include/ztex-eeprom.h:62: if (i2csbuf & bmBIT2) {
0099 FA 1524 mov r2,a
009A 30 E2 0B 1525 jnb acc.2,00102$
1526 ; ../../../include/ztex-eeprom.h:63: I2CS |= bmBIT6;
009D 90 E6 78 1527 mov dptr,#_I2CS
00A0 E0 1528 movx a,@dptr
00A1 44 40 1529 orl a,#0x40
00A3 F0 1530 movx @dptr,a
1531 ; ../../../include/ztex-eeprom.h:64: return 1;
00A4 75 82 01 1532 mov dpl,#0x01
1533 ; ../../../include/ztex-eeprom.h:66: return 0;
00A7 22 1534 ret
00A8 1535 00102$:
00A8 75 82 00 1536 mov dpl,#0x00
00AB 22 1537 ret
1538 ;------------------------------------------------------------
1539 ;Allocation info for local variables in function 'i2c_waitStart'
1540 ;------------------------------------------------------------
1541 ;toc Allocated to registers r2
1542 ;------------------------------------------------------------
1543 ; ../../../include/ztex-eeprom.h:73: BYTE i2c_waitStart()
1544 ; -----------------------------------------
1545 ; function i2c_waitStart
1546 ; -----------------------------------------
00AC 1547 _i2c_waitStart:
1548 ; ../../../include/ztex-eeprom.h:76: for ( toc=0; toc<255; toc++ ) {
00AC 7A 00 1549 mov r2,#0x00
00AE 1550 00103$:
00AE BA FF 00 1551 cjne r2,#0xFF,00112$
00B1 1552 00112$:
00B1 50 0F 1553 jnc 00106$
1554 ; ../../../include/ztex-eeprom.h:77: if ( ! (I2CS & bmBIT2) )
00B3 90 E6 78 1555 mov dptr,#_I2CS
00B6 E0 1556 movx a,@dptr
00B7 FB 1557 mov r3,a
00B8 20 E2 04 1558 jb acc.2,00105$
1559 ; ../../../include/ztex-eeprom.h:78: return 0;
00BB 75 82 00 1560 mov dpl,#0x00
00BE 22 1561 ret
00BF 1562 00105$:
1563 ; ../../../include/ztex-eeprom.h:76: for ( toc=0; toc<255; toc++ ) {
00BF 0A 1564 inc r2
00C0 80 EC 1565 sjmp 00103$
00C2 1566 00106$:
1567 ; ../../../include/ztex-eeprom.h:80: return 1;
00C2 75 82 01 1568 mov dpl,#0x01
00C5 22 1569 ret
1570 ;------------------------------------------------------------
1571 ;Allocation info for local variables in function 'i2c_waitStop'
1572 ;------------------------------------------------------------
1573 ;toc Allocated to registers r2
1574 ;------------------------------------------------------------
1575 ; ../../../include/ztex-eeprom.h:87: BYTE i2c_waitStop()
1576 ; -----------------------------------------
1577 ; function i2c_waitStop
1578 ; -----------------------------------------
00C6 1579 _i2c_waitStop:
1580 ; ../../../include/ztex-eeprom.h:90: for ( toc=0; toc<255; toc++ ) {
00C6 7A 00 1581 mov r2,#0x00
00C8 1582 00103$:
00C8 BA FF 00 1583 cjne r2,#0xFF,00112$
00CB 1584 00112$:
00CB 50 0F 1585 jnc 00106$
1586 ; ../../../include/ztex-eeprom.h:91: if ( ! (I2CS & bmBIT6) )
00CD 90 E6 78 1587 mov dptr,#_I2CS
00D0 E0 1588 movx a,@dptr
00D1 FB 1589 mov r3,a
00D2 20 E6 04 1590 jb acc.6,00105$
1591 ; ../../../include/ztex-eeprom.h:92: return 0;
00D5 75 82 00 1592 mov dpl,#0x00
00D8 22 1593 ret
00D9 1594 00105$:
1595 ; ../../../include/ztex-eeprom.h:90: for ( toc=0; toc<255; toc++ ) {
00D9 0A 1596 inc r2
00DA 80 EC 1597 sjmp 00103$
00DC 1598 00106$:
1599 ; ../../../include/ztex-eeprom.h:94: return 1;
00DC 75 82 01 1600 mov dpl,#0x01
00DF 22 1601 ret
1602 ;------------------------------------------------------------
1603 ;Allocation info for local variables in function 'eeprom_select'
1604 ;------------------------------------------------------------
1605 ;stop Allocated with name '_eeprom_select_PARM_2'
1606 ;to Allocated to registers r2
1607 ;toc Allocated to registers
1608 ;------------------------------------------------------------
1609 ; ../../../include/ztex-eeprom.h:103: BYTE eeprom_select ( BYTE to, BYTE stop ) {
1610 ; -----------------------------------------
1611 ; function eeprom_select
1612 ; -----------------------------------------
00E0 1613 _eeprom_select:
00E0 AA 82 1614 mov r2,dpl
1615 ; ../../../include/ztex-eeprom.h:105: eeprom_select_start:
00E2 C3 1616 clr c
00E3 E4 1617 clr a
00E4 9A 1618 subb a,r2
00E5 E4 1619 clr a
00E6 33 1620 rlc a
00E7 FA 1621 mov r2,a
00E8 1622 00101$:
1623 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
00E8 90 E6 78 1624 mov dptr,#_I2CS
00EB E0 1625 movx a,@dptr
00EC 44 80 1626 orl a,#0x80
00EE F0 1627 movx @dptr,a
1628 ; ../../../include/ztex-eeprom.h:107: i2c_waitStart();
00EF C0 02 1629 push ar2
00F1 12s00rAC 1630 lcall _i2c_waitStart
1631 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
00F4 90 E6 79 1632 mov dptr,#_I2DAT
00F7 74 A2 1633 mov a,#0xA2
00F9 F0 1634 movx @dptr,a
1635 ; ../../../include/ztex-eeprom.h:109: if ( ! i2c_waitWrite() ) {
00FA 12s00r56 1636 lcall _i2c_waitWrite
00FD E5 82 1637 mov a,dpl
00FF D0 02 1638 pop ar2
0101 70 12 1639 jnz 00107$
1640 ; ../../../include/ztex-eeprom.h:110: if ( stop ) {
0103 E5*00 1641 mov a,_eeprom_select_PARM_2
0105 60 0A 1642 jz 00103$
1643 ; ../../../include/ztex-eeprom.h:111: I2CS |= bmBIT6;
0107 90 E6 78 1644 mov dptr,#_I2CS
010A E0 1645 movx a,@dptr
010B 44 40 1646 orl a,#0x40
010D F0 1647 movx @dptr,a
1648 ; ../../../include/ztex-eeprom.h:112: i2c_waitStop();
010E 12s00rC6 1649 lcall _i2c_waitStop
0111 1650 00103$:
1651 ; ../../../include/ztex-eeprom.h:114: return 0;
0111 75 82 00 1652 mov dpl,#0x00
0114 22 1653 ret
0115 1654 00107$:
1655 ; ../../../include/ztex-eeprom.h:116: else if (toc<to) {
0115 EA 1656 mov a,r2
0116 60 0C 1657 jz 00108$
1658 ; ../../../include/ztex-eeprom.h:117: uwait(10);
0118 90 00 0A 1659 mov dptr,#0x000A
011B C0 02 1660 push ar2
011D 12s00r24 1661 lcall _uwait
0120 D0 02 1662 pop ar2
1663 ; ../../../include/ztex-eeprom.h:118: goto eeprom_select_start;
0122 80 C4 1664 sjmp 00101$
0124 1665 00108$:
1666 ; ../../../include/ztex-eeprom.h:120: if ( stop ) {
0124 E5*00 1667 mov a,_eeprom_select_PARM_2
0126 60 08 1668 jz 00110$
1669 ; ../../../include/ztex-eeprom.h:121: I2CS |= bmBIT6;
0128 90 E6 78 1670 mov dptr,#_I2CS
012B E0 1671 movx a,@dptr
012C FA 1672 mov r2,a
012D 44 40 1673 orl a,#0x40
012F F0 1674 movx @dptr,a
0130 1675 00110$:
1676 ; ../../../include/ztex-eeprom.h:123: return 1;
0130 75 82 01 1677 mov dpl,#0x01
0133 22 1678 ret
1679 ;------------------------------------------------------------
1680 ;Allocation info for local variables in function 'eeprom_read'
1681 ;------------------------------------------------------------
1682 ;addr Allocated with name '_eeprom_read_PARM_2'
1683 ;length Allocated with name '_eeprom_read_PARM_3'
1684 ;buf Allocated to registers r2 r3
1685 ;bytes Allocated to registers r4
1686 ;i Allocated to registers
1687 ;------------------------------------------------------------
1688 ; ../../../include/ztex-eeprom.h:131: BYTE eeprom_read ( __xdata BYTE *buf, WORD addr, BYTE length ) {
1689 ; -----------------------------------------
1690 ; function eeprom_read
1691 ; -----------------------------------------
0134 1692 _eeprom_read:
0134 AA 82 1693 mov r2,dpl
0136 AB 83 1694 mov r3,dph
1695 ; ../../../include/ztex-eeprom.h:132: BYTE bytes = 0,i;
0138 7C 00 1696 mov r4,#0x00
1697 ; ../../../include/ztex-eeprom.h:134: if ( length == 0 )
013A E5*03 1698 mov a,_eeprom_read_PARM_3
1699 ; ../../../include/ztex-eeprom.h:135: return 0;
013C 70 03 1700 jnz 00102$
013E F5 82 1701 mov dpl,a
0140 22 1702 ret
0141 1703 00102$:
1704 ; ../../../include/ztex-eeprom.h:137: if ( eeprom_select(100,0) )
0141 75*00 00 1705 mov _eeprom_select_PARM_2,#0x00
0144 75 82 64 1706 mov dpl,#0x64
0147 C0 02 1707 push ar2
0149 C0 03 1708 push ar3
014B C0 04 1709 push ar4
014D 12s00rE0 1710 lcall _eeprom_select
0150 E5 82 1711 mov a,dpl
0152 D0 04 1712 pop ar4
0154 D0 03 1713 pop ar3
0156 D0 02 1714 pop ar2
0158 60 03 1715 jz 00134$
015A 02s02r37 1716 ljmp 00117$
015D 1717 00134$:
1718 ; ../../../include/ztex-eeprom.h:30: ***** global variables **********************************************
015D 90 E6 79 1719 mov dptr,#_I2DAT
0160 E5*02 1720 mov a,(_eeprom_read_PARM_2 + 1)
0162 F0 1721 movx @dptr,a
1722 ; ../../../include/ztex-eeprom.h:141: if ( i2c_waitWrite() ) goto eeprom_read_end;
0163 C0 02 1723 push ar2
0165 C0 03 1724 push ar3
0167 C0 04 1725 push ar4
0169 12s00r56 1726 lcall _i2c_waitWrite
016C E5 82 1727 mov a,dpl
016E D0 04 1728 pop ar4
0170 D0 03 1729 pop ar3
0172 D0 02 1730 pop ar2
0174 60 03 1731 jz 00135$
0176 02s02r37 1732 ljmp 00117$
0179 1733 00135$:
1734 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
0179 90 E6 79 1735 mov dptr,#_I2DAT
017C E5*01 1736 mov a,_eeprom_read_PARM_2
017E F0 1737 movx @dptr,a
1738 ; ../../../include/ztex-eeprom.h:143: if ( i2c_waitWrite() ) goto eeprom_read_end;
017F C0 02 1739 push ar2
0181 C0 03 1740 push ar3
0183 C0 04 1741 push ar4
0185 12s00r56 1742 lcall _i2c_waitWrite
0188 E5 82 1743 mov a,dpl
018A D0 04 1744 pop ar4
018C D0 03 1745 pop ar3
018E D0 02 1746 pop ar2
0190 60 03 1747 jz 00136$
0192 02s02r37 1748 ljmp 00117$
0195 1749 00136$:
1750 ; ../../../include/ztex-eeprom.h:144: I2CS |= bmBIT6;
0195 90 E6 78 1751 mov dptr,#_I2CS
0198 E0 1752 movx a,@dptr
0199 44 40 1753 orl a,#0x40
019B F0 1754 movx @dptr,a
1755 ; ../../../include/ztex-eeprom.h:145: i2c_waitStop();
019C C0 02 1756 push ar2
019E C0 03 1757 push ar3
01A0 C0 04 1758 push ar4
01A2 12s00rC6 1759 lcall _i2c_waitStop
1760 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
01A5 90 E6 78 1761 mov dptr,#_I2CS
01A8 E0 1762 movx a,@dptr
01A9 44 80 1763 orl a,#0x80
01AB F0 1764 movx @dptr,a
1765 ; ../../../include/ztex-eeprom.h:148: i2c_waitStart();
01AC 12s00rAC 1766 lcall _i2c_waitStart
1767 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
01AF 90 E6 79 1768 mov dptr,#_I2DAT
01B2 74 A3 1769 mov a,#0xA3
01B4 F0 1770 movx @dptr,a
1771 ; ../../../include/ztex-eeprom.h:150: if ( i2c_waitWrite() ) goto eeprom_read_end;
01B5 12s00r56 1772 lcall _i2c_waitWrite
01B8 E5 82 1773 mov a,dpl
01BA D0 04 1774 pop ar4
01BC D0 03 1775 pop ar3
01BE D0 02 1776 pop ar2
01C0 70 75 1777 jnz 00117$
1778 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
01C2 90 E6 79 1779 mov dptr,#_I2DAT
01C5 E0 1780 movx a,@dptr
01C6 8A 82 1781 mov dpl,r2
01C8 8B 83 1782 mov dph,r3
01CA F0 1783 movx @dptr,a
1784 ; ../../../include/ztex-eeprom.h:153: if ( i2c_waitRead()) goto eeprom_read_end;
01CB C0 02 1785 push ar2
01CD C0 03 1786 push ar3
01CF C0 04 1787 push ar4
01D1 12s00r83 1788 lcall _i2c_waitRead
01D4 E5 82 1789 mov a,dpl
01D6 D0 04 1790 pop ar4
01D8 D0 03 1791 pop ar3
01DA D0 02 1792 pop ar2
01DC 70 59 1793 jnz 00117$
01DE FD 1794 mov r5,a
01DF 1795 00118$:
1796 ; ../../../include/ztex-eeprom.h:154: for (; bytes<length; bytes++ ) {
01DF C3 1797 clr c
01E0 ED 1798 mov a,r5
01E1 95*03 1799 subb a,_eeprom_read_PARM_3
01E3 50 2A 1800 jnc 00121$
1801 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
01E5 90 E6 79 1802 mov dptr,#_I2DAT
01E8 E0 1803 movx a,@dptr
01E9 8A 82 1804 mov dpl,r2
01EB 8B 83 1805 mov dph,r3
01ED F0 1806 movx @dptr,a
01EE A3 1807 inc dptr
01EF AA 82 1808 mov r2,dpl
01F1 AB 83 1809 mov r3,dph
1810 ; ../../../include/ztex-eeprom.h:156: buf++;
1811 ; ../../../include/ztex-eeprom.h:157: if ( i2c_waitRead()) goto eeprom_read_end;
01F3 C0 02 1812 push ar2
01F5 C0 03 1813 push ar3
01F7 C0 04 1814 push ar4
01F9 C0 05 1815 push ar5
01FB 12s00r83 1816 lcall _i2c_waitRead
01FE E5 82 1817 mov a,dpl
0200 D0 05 1818 pop ar5
0202 D0 04 1819 pop ar4
0204 D0 03 1820 pop ar3
0206 D0 02 1821 pop ar2
0208 70 2D 1822 jnz 00117$
1823 ; ../../../include/ztex-eeprom.h:154: for (; bytes<length; bytes++ ) {
020A 0D 1824 inc r5
020B 8D 04 1825 mov ar4,r5
020D 80 D0 1826 sjmp 00118$
020F 1827 00121$:
1828 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
020F 90 E6 78 1829 mov dptr,#_I2CS
0212 E0 1830 movx a,@dptr
0213 44 20 1831 orl a,#0x20
0215 F0 1832 movx @dptr,a
0216 90 E6 79 1833 mov dptr,#_I2DAT
0219 E0 1834 movx a,@dptr
1835 ; ../../../include/ztex-eeprom.h:162: if ( i2c_waitRead()) goto eeprom_read_end;
021A C0 04 1836 push ar4
021C 12s00r83 1837 lcall _i2c_waitRead
021F E5 82 1838 mov a,dpl
0221 D0 04 1839 pop ar4
0223 70 12 1840 jnz 00117$
1841 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
0225 90 E6 78 1842 mov dptr,#_I2CS
0228 E0 1843 movx a,@dptr
0229 44 40 1844 orl a,#0x40
022B F0 1845 movx @dptr,a
022C 90 E6 79 1846 mov dptr,#_I2DAT
022F E0 1847 movx a,@dptr
1848 ; ../../../include/ztex-eeprom.h:166: i2c_waitStop();
0230 C0 04 1849 push ar4
0232 12s00rC6 1850 lcall _i2c_waitStop
0235 D0 04 1851 pop ar4
1852 ; ../../../include/ztex-eeprom.h:168: eeprom_read_end:
0237 1853 00117$:
1854 ; ../../../include/ztex-eeprom.h:169: return bytes;
0237 8C 82 1855 mov dpl,r4
0239 22 1856 ret
1857 ;------------------------------------------------------------
1858 ;Allocation info for local variables in function 'eeprom_write'
1859 ;------------------------------------------------------------
1860 ;addr Allocated with name '_eeprom_write_PARM_2'
1861 ;length Allocated with name '_eeprom_write_PARM_3'
1862 ;buf Allocated to registers r2 r3
1863 ;bytes Allocated to registers r4
1864 ;------------------------------------------------------------
1865 ; ../../../include/ztex-eeprom.h:178: BYTE eeprom_write ( __xdata BYTE *buf, WORD addr, BYTE length ) {
1866 ; -----------------------------------------
1867 ; function eeprom_write
1868 ; -----------------------------------------
023A 1869 _eeprom_write:
023A AA 82 1870 mov r2,dpl
023C AB 83 1871 mov r3,dph
1872 ; ../../../include/ztex-eeprom.h:179: BYTE bytes = 0;
023E 7C 00 1873 mov r4,#0x00
1874 ; ../../../include/ztex-eeprom.h:181: if ( eeprom_select(100,0) )
0240 75*00 00 1875 mov _eeprom_select_PARM_2,#0x00
0243 75 82 64 1876 mov dpl,#0x64
0246 C0 02 1877 push ar2
0248 C0 03 1878 push ar3
024A C0 04 1879 push ar4
024C 12s00rE0 1880 lcall _eeprom_select
024F E5 82 1881 mov a,dpl
0251 D0 04 1882 pop ar4
0253 D0 03 1883 pop ar3
0255 D0 02 1884 pop ar2
0257 60 03 1885 jz 00121$
0259 02s02rED 1886 ljmp 00109$
025C 1887 00121$:
1888 ; ../../../include/ztex-eeprom.h:30: ***** global variables **********************************************
025C 90 E6 79 1889 mov dptr,#_I2DAT
025F E5*05 1890 mov a,(_eeprom_write_PARM_2 + 1)
0261 F0 1891 movx @dptr,a
1892 ; ../../../include/ztex-eeprom.h:185: if ( i2c_waitWrite() ) goto eeprom_write_end;
0262 C0 02 1893 push ar2
0264 C0 03 1894 push ar3
0266 C0 04 1895 push ar4
0268 12s00r56 1896 lcall _i2c_waitWrite
026B E5 82 1897 mov a,dpl
026D D0 04 1898 pop ar4
026F D0 03 1899 pop ar3
0271 D0 02 1900 pop ar2
0273 60 03 1901 jz 00122$
0275 02s02rED 1902 ljmp 00109$
0278 1903 00122$:
1904 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
0278 90 E6 79 1905 mov dptr,#_I2DAT
027B E5*04 1906 mov a,_eeprom_write_PARM_2
027D F0 1907 movx @dptr,a
1908 ; ../../../include/ztex-eeprom.h:187: if ( i2c_waitWrite() ) goto eeprom_write_end;
027E C0 02 1909 push ar2
0280 C0 03 1910 push ar3
0282 C0 04 1911 push ar4
0284 12s00r56 1912 lcall _i2c_waitWrite
0287 E5 82 1913 mov a,dpl
0289 D0 04 1914 pop ar4
028B D0 03 1915 pop ar3
028D D0 02 1916 pop ar2
028F 70 5C 1917 jnz 00109$
0291 FD 1918 mov r5,a
0292 1919 00110$:
1920 ; ../../../include/ztex-eeprom.h:189: for (; bytes<length; bytes++ ) {
0292 C3 1921 clr c
0293 ED 1922 mov a,r5
0294 95*06 1923 subb a,_eeprom_write_PARM_3
0296 50 47 1924 jnc 00113$
1925 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
0298 8A 82 1926 mov dpl,r2
029A 8B 83 1927 mov dph,r3
029C E0 1928 movx a,@dptr
029D FE 1929 mov r6,a
029E A3 1930 inc dptr
029F AA 82 1931 mov r2,dpl
02A1 AB 83 1932 mov r3,dph
02A3 90 E6 79 1933 mov dptr,#_I2DAT
02A6 EE 1934 mov a,r6
02A7 F0 1935 movx @dptr,a
1936 ; ../../../include/ztex-eeprom.h:191: eeprom_write_checksum += *buf;
02A8 90s00r04 1937 mov dptr,#_eeprom_write_checksum
02AB E0 1938 movx a,@dptr
02AC FF 1939 mov r7,a
02AD EE 1940 mov a,r6
02AE 2F 1941 add a,r7
02AF F0 1942 movx @dptr,a
1943 ; ../../../include/ztex-eeprom.h:192: buf++;
1944 ; ../../../include/ztex-eeprom.h:193: eeprom_write_bytes+=1;
02B0 90s00r02 1945 mov dptr,#_eeprom_write_bytes
02B3 E0 1946 movx a,@dptr
02B4 FE 1947 mov r6,a
02B5 A3 1948 inc dptr
02B6 E0 1949 movx a,@dptr
02B7 FF 1950 mov r7,a
02B8 90s00r02 1951 mov dptr,#_eeprom_write_bytes
02BB 74 01 1952 mov a,#0x01
02BD 2E 1953 add a,r6
02BE F0 1954 movx @dptr,a
02BF E4 1955 clr a
02C0 3F 1956 addc a,r7
02C1 A3 1957 inc dptr
02C2 F0 1958 movx @dptr,a
1959 ; ../../../include/ztex-eeprom.h:194: if ( i2c_waitWrite() ) goto eeprom_write_end;
02C3 C0 02 1960 push ar2
02C5 C0 03 1961 push ar3
02C7 C0 04 1962 push ar4
02C9 C0 05 1963 push ar5
02CB 12s00r56 1964 lcall _i2c_waitWrite
02CE E5 82 1965 mov a,dpl
02D0 D0 05 1966 pop ar5
02D2 D0 04 1967 pop ar4
02D4 D0 03 1968 pop ar3
02D6 D0 02 1969 pop ar2
02D8 70 13 1970 jnz 00109$
1971 ; ../../../include/ztex-eeprom.h:189: for (; bytes<length; bytes++ ) {
02DA 0D 1972 inc r5
02DB 8D 04 1973 mov ar4,r5
02DD 80 B3 1974 sjmp 00110$
02DF 1975 00113$:
1976 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
02DF 90 E6 78 1977 mov dptr,#_I2CS
02E2 E0 1978 movx a,@dptr
02E3 44 40 1979 orl a,#0x40
02E5 F0 1980 movx @dptr,a
1981 ; ../../../include/ztex-eeprom.h:197: i2c_waitStop();
02E6 C0 04 1982 push ar4
02E8 12s00rC6 1983 lcall _i2c_waitStop
02EB D0 04 1984 pop ar4
1985 ; ../../../include/ztex-eeprom.h:199: eeprom_write_end:
02ED 1986 00109$:
1987 ; ../../../include/ztex-eeprom.h:200: return bytes;
02ED 8C 82 1988 mov dpl,r4
02EF 22 1989 ret
1990 ;------------------------------------------------------------
1991 ;Allocation info for local variables in function 'eeprom_read_ep0'
1992 ;------------------------------------------------------------
1993 ;i Allocated to registers r3
1994 ;b Allocated to registers r2
1995 ;------------------------------------------------------------
1996 ; ../../../include/ztex-eeprom.h:206: BYTE eeprom_read_ep0 () {
1997 ; -----------------------------------------
1998 ; function eeprom_read_ep0
1999 ; -----------------------------------------
02F0 2000 _eeprom_read_ep0:
2001 ; ../../../include/ztex-eeprom.h:208: b = ep0_payload_transfer;
02F0 90s00r02 2002 mov dptr,#_ep0_payload_transfer
02F3 E0 2003 movx a,@dptr
02F4 FA 2004 mov r2,a
2005 ; ../../../include/ztex-eeprom.h:209: i = eeprom_read(EP0BUF, eeprom_addr, b);
02F5 90s00r00 2006 mov dptr,#_eeprom_addr
02F8 E0 2007 movx a,@dptr
02F9 F5*01 2008 mov _eeprom_read_PARM_2,a
02FB A3 2009 inc dptr
02FC E0 2010 movx a,@dptr
02FD F5*02 2011 mov (_eeprom_read_PARM_2 + 1),a
02FF 8A*03 2012 mov _eeprom_read_PARM_3,r2
0301 90 E7 40 2013 mov dptr,#_EP0BUF
0304 C0 02 2014 push ar2
0306 12s01r34 2015 lcall _eeprom_read
0309 AB 82 2016 mov r3,dpl
030B D0 02 2017 pop ar2
2018 ; ../../../include/ztex-eeprom.h:210: eeprom_addr += b;
030D 7C 00 2019 mov r4,#0x00
030F 90s00r00 2020 mov dptr,#_eeprom_addr
0312 E0 2021 movx a,@dptr
0313 FD 2022 mov r5,a
0314 A3 2023 inc dptr
0315 E0 2024 movx a,@dptr
0316 FE 2025 mov r6,a
0317 90s00r00 2026 mov dptr,#_eeprom_addr
031A EA 2027 mov a,r2
031B 2D 2028 add a,r5
031C F0 2029 movx @dptr,a
031D EC 2030 mov a,r4
031E 3E 2031 addc a,r6
031F A3 2032 inc dptr
0320 F0 2033 movx @dptr,a
2034 ; ../../../include/ztex-eeprom.h:211: return i;
0321 8B 82 2035 mov dpl,r3
0323 22 2036 ret
2037 ;------------------------------------------------------------
2038 ;Allocation info for local variables in function 'eeprom_write_ep0'
2039 ;------------------------------------------------------------
2040 ;length Allocated to registers r2
2041 ;------------------------------------------------------------
2042 ; ../../../include/ztex-eeprom.h:227: void eeprom_write_ep0 ( BYTE length ) {
2043 ; -----------------------------------------
2044 ; function eeprom_write_ep0
2045 ; -----------------------------------------
0324 2046 _eeprom_write_ep0:
0324 AA 82 2047 mov r2,dpl
2048 ; ../../../include/ztex-eeprom.h:228: eeprom_write(EP0BUF, eeprom_addr, length);
0326 90s00r00 2049 mov dptr,#_eeprom_addr
0329 E0 2050 movx a,@dptr
032A F5*04 2051 mov _eeprom_write_PARM_2,a
032C A3 2052 inc dptr
032D E0 2053 movx a,@dptr
032E F5*05 2054 mov (_eeprom_write_PARM_2 + 1),a
0330 8A*06 2055 mov _eeprom_write_PARM_3,r2
0332 90 E7 40 2056 mov dptr,#_EP0BUF
0335 C0 02 2057 push ar2
0337 12s02r3A 2058 lcall _eeprom_write
033A D0 02 2059 pop ar2
2060 ; ../../../include/ztex-eeprom.h:229: eeprom_addr += length;
033C 7B 00 2061 mov r3,#0x00
033E 90s00r00 2062 mov dptr,#_eeprom_addr
0341 E0 2063 movx a,@dptr
0342 FC 2064 mov r4,a
0343 A3 2065 inc dptr
0344 E0 2066 movx a,@dptr
0345 FD 2067 mov r5,a
0346 90s00r00 2068 mov dptr,#_eeprom_addr
0349 EA 2069 mov a,r2
034A 2C 2070 add a,r4
034B F0 2071 movx @dptr,a
034C EB 2072 mov a,r3
034D 3D 2073 addc a,r5
034E A3 2074 inc dptr
034F F0 2075 movx @dptr,a
0350 22 2076 ret
2077 ;------------------------------------------------------------
2078 ;Allocation info for local variables in function 'debug_add_msg'
2079 ;------------------------------------------------------------
2080 ;i Allocated to registers r4
2081 ;------------------------------------------------------------
2082 ; ../../../include/ztex-debug.h:48: void debug_add_msg () {
2083 ; -----------------------------------------
2084 ; function debug_add_msg
2085 ; -----------------------------------------
0351 2086 _debug_add_msg:
2087 ; ../../../include/ztex-debug.h:50: i = debug_counter % DEBUG_STACK_SIZE;
0351 90s00r05 2088 mov dptr,#_debug_counter
0354 E0 2089 movx a,@dptr
0355 FA 2090 mov r2,a
0356 A3 2091 inc dptr
0357 E0 2092 movx a,@dptr
0358 FB 2093 mov r3,a
0359 74 1F 2094 mov a,#0x1F
035B 5A 2095 anl a,r2
2096 ; ../../../include/ztex-debug.h:51: debug_stack_ptr = &debug_stack[i*DEBUG_MSG_SIZE];
035C 75 F0 03 2097 mov b,#0x03
035F A4 2098 mul ab
0360 24r09 2099 add a,#_debug_stack
0362 FC 2100 mov r4,a
0363 E4 2101 clr a
0364 34s00 2102 addc a,#(_debug_stack >> 8)
0366 FD 2103 mov r5,a
0367 90s00r69 2104 mov dptr,#_debug_stack_ptr
036A EC 2105 mov a,r4
036B F0 2106 movx @dptr,a
036C A3 2107 inc dptr
036D ED 2108 mov a,r5
036E F0 2109 movx @dptr,a
2110 ; ../../../include/ztex-utils.h:120: AUTOPTRL1=LO(&($0));
036F 75 9Br6B 2111 mov _AUTOPTRL1,#_debug_msg_buf
2112 ; ../../../include/ztex-utils.h:121: AUTOPTRH1=HI(&($0));
0372 7Er6B 2113 mov r6,#_debug_msg_buf
0374 7Fs00 2114 mov r7,#(_debug_msg_buf >> 8)
0376 8F 9A 2115 mov _AUTOPTRH1,r7
2116 ; ../../../include/ztex-utils.h:122: AUTOPTRL2=LO(&($1));
0378 8C 06 2117 mov ar6,r4
037A 8D 07 2118 mov ar7,r5
037C 8E 9E 2119 mov _AUTOPTRL2,r6
2120 ; ../../../include/ztex-utils.h:123: AUTOPTRH2=HI(&($1));
037E 8D 9D 2121 mov _AUTOPTRH2,r5
2122 ; ../../../include/ztex-utils.h:129: _endasm;
2123
0380 C0 02 2124 push ar2
0382 7A 03 2125 mov r2,#(3);
0384 12s00r48 2126 lcall _MEM_COPY1_int
0387 D0 02 2127 pop ar2
2128
2129 ; ../../../include/ztex-debug.h:53: debug_counter += 1;
0389 90s00r05 2130 mov dptr,#_debug_counter
038C 74 01 2131 mov a,#0x01
038E 2A 2132 add a,r2
038F F0 2133 movx @dptr,a
0390 E4 2134 clr a
0391 3B 2135 addc a,r3
0392 A3 2136 inc dptr
0393 F0 2137 movx @dptr,a
0394 22 2138 ret
2139 ;------------------------------------------------------------
2140 ;Allocation info for local variables in function 'debug_init'
2141 ;------------------------------------------------------------
2142 ;------------------------------------------------------------
2143 ; ../../../include/ztex-debug.h:60: void debug_init () {
2144 ; -----------------------------------------
2145 ; function debug_init
2146 ; -----------------------------------------
0395 2147 _debug_init:
2148 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
0395 90s00r05 2149 mov dptr,#_debug_counter
0398 E4 2150 clr a
0399 F0 2151 movx @dptr,a
039A A3 2152 inc dptr
039B F0 2153 movx @dptr,a
2154 ; ../../../include/ztex-debug.h:62: debug_stack_size = DEBUG_STACK_SIZE;
039C 90s00r07 2155 mov dptr,#_debug_stack_size
039F 74 20 2156 mov a,#0x20
03A1 F0 2157 movx @dptr,a
2158 ; ../../../include/ztex-debug.h:63: debug_msg_size = DEBUG_MSG_SIZE;
03A2 90s00r08 2159 mov dptr,#_debug_msg_size
03A5 74 03 2160 mov a,#0x03
03A7 F0 2161 movx @dptr,a
2162 ; ../../../include/ztex-debug.h:64: debug_stack_ptr = debug_stack;
03A8 90s00r69 2163 mov dptr,#_debug_stack_ptr
03AB 74r09 2164 mov a,#_debug_stack
03AD F0 2165 movx @dptr,a
03AE A3 2166 inc dptr
03AF 74s00 2167 mov a,#(_debug_stack >> 8)
03B1 F0 2168 movx @dptr,a
03B2 22 2169 ret
2170 ;------------------------------------------------------------
2171 ;Allocation info for local variables in function 'debug_read_ep0'
2172 ;------------------------------------------------------------
2173 ;b Allocated to registers r2
2174 ;------------------------------------------------------------
2175 ; ../../../include/ztex-debug.h:71: BYTE debug_read_ep0 () {
2176 ; -----------------------------------------
2177 ; function debug_read_ep0
2178 ; -----------------------------------------
03B3 2179 _debug_read_ep0:
2180 ; ../../../include/ztex-debug.h:73: b = ep0_payload_transfer;
03B3 90s00r02 2181 mov dptr,#_ep0_payload_transfer
03B6 E0 2182 movx a,@dptr
2183 ; ../../../include/ztex-debug.h:74: if ( b != 0) {
03B7 FA 2184 mov r2,a
03B8 70 03 2185 jnz 00106$
03BA 02s03rD8 2186 ljmp 00102$
03BD 2187 00106$:
2188 ; ../../../include/ztex-utils.h:120: AUTOPTRL1=LO(&($0));
03BD 90s00r6E 2189 mov dptr,#_debug_read_addr
03C0 E0 2190 movx a,@dptr
03C1 FB 2191 mov r3,a
03C2 A3 2192 inc dptr
03C3 E0 2193 movx a,@dptr
03C4 FC 2194 mov r4,a
03C5 8B 9B 2195 mov _AUTOPTRL1,r3
2196 ; ../../../include/ztex-utils.h:121: AUTOPTRH1=HI(&($0));
03C7 8C 9A 2197 mov _AUTOPTRH1,r4
2198 ; ../../../include/ztex-utils.h:122: AUTOPTRL2=LO(&($1));
03C9 75 9E 40 2199 mov _AUTOPTRL2,#0x40
2200 ; ../../../include/ztex-utils.h:123: AUTOPTRH2=HI(&($1));
03CC 75 9D E7 2201 mov _AUTOPTRH2,#0xE7
2202 ; ../../../include/ztex-utils.h:129: _endasm;
2203
03CF C0 02 2204 push ar2
03D1 7A F0 2205 mov r2,#(b);
03D3 12s00r48 2206 lcall _MEM_COPY1_int
03D6 D0 02 2207 pop ar2
2208
03D8 2209 00102$:
2210 ; ../../../include/ztex-debug.h:77: debug_read_addr += b;
03D8 90s00r6E 2211 mov dptr,#_debug_read_addr
03DB E0 2212 movx a,@dptr
03DC FB 2213 mov r3,a
03DD A3 2214 inc dptr
03DE E0 2215 movx a,@dptr
03DF FC 2216 mov r4,a
03E0 90s00r6E 2217 mov dptr,#_debug_read_addr
03E3 EA 2218 mov a,r2
03E4 2B 2219 add a,r3
03E5 F0 2220 movx @dptr,a
03E6 E4 2221 clr a
03E7 3C 2222 addc a,r4
03E8 A3 2223 inc dptr
03E9 F0 2224 movx @dptr,a
2225 ; ../../../include/ztex-debug.h:78: return b;
03EA 8A 82 2226 mov dpl,r2
03EC 22 2227 ret
2228 ;------------------------------------------------------------
2229 ;Allocation info for local variables in function 'abscode_identity'
2230 ;------------------------------------------------------------
2231 ;------------------------------------------------------------
2232 ; ../../../include/ztex-descriptors.h:116: void abscode_identity() _naked
2233 ; -----------------------------------------
2234 ; function abscode_identity
2235 ; -----------------------------------------
03ED 2236 _abscode_identity:
2237 ; naked function: no prologue.
2238 ; ../../../include/ztex-descriptors.h:170: .db MODULE_RESERVED_03
2239
2240 .area ABSCODE (ABS,CODE)
2241
006C 2242 .org 0x06c
006C 28 2243 .db 40
2244
006D 2245 .org _ZTEX_DESCRIPTOR_VERSION
006D 01 2246 .db 1
2247
006E 2248 .org _ZTEXID
006E 5A 54 45 58 2249 .ascii "ZTEX"
2250
0072 2251 .org _PRODUCT_ID
0072 00 2252 .db 0
0073 00 2253 .db 0
0074 00 2254 .db 0
0075 00 2255 .db 0
2256
0076 2257 .org _FW_VERSION
0076 00 2258 .db 0
2259
0077 2260 .org _INTERFACE_VERSION
0077 01 2261 .db 1
2262
0078 2263 .org _INTERFACE_CAPABILITIES
2264 ; # 158 "../../../include/ztex-descriptors.h"
0078 09 2265 .db 0 + 1 + 8
2266 ; # 160 "../../../include/ztex-descriptors.h"
0079 00 2267 .db 0
007A 00 2268 .db 0
007B 00 2269 .db 0
007C 00 2270 .db 0
007D 00 2271 .db 0
2272
007E 2273 .org _MODULE_RESERVED
007E 00 2274 .db 0
007F 00 2275 .db 0
0080 00 2276 .db 0
0081 00 2277 .db 0
0082 00 2278 .db 0
0083 00 2279 .db 0
0084 00 2280 .db 0
0085 00 2281 .db 0
0086 00 2282 .db 0
0087 00 2283 .db 0
0088 00 2284 .db 0
0089 00 2285 .db 0
2286
008A 2287 .org _SN_STRING
008A 30 30 30 30 30 30 2288 .ascii "0000000000"
30 30 30 30
2289
2290 .area CSEG (CODE)
2291
2292 ; naked function: no epilogue.
2293 ;------------------------------------------------------------
2294 ;Allocation info for local variables in function 'resetToggleData'
2295 ;------------------------------------------------------------
2296 ;------------------------------------------------------------
2297 ; ../../../include/ztex-isr.h:34: static void resetToggleData () {
2298 ; -----------------------------------------
2299 ; function resetToggleData
2300 ; -----------------------------------------
03ED 2301 _resetToggleData:
2302 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
2303 ; ../../../include/ztex-isr.h:46: TOGCTL = 0 | bmBIT5;
2304 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
2305 ; ../../../include/ztex-isr.h:48: TOGCTL = 0x10 | bmBIT5;
03ED 90 E6 83 2306 mov dptr,#_TOGCTL
03F0 E4 2307 clr a
03F1 F0 2308 movx @dptr,a
03F2 74 20 2309 mov a,#0x20
03F4 F0 2310 movx @dptr,a
03F5 74 10 2311 mov a,#0x10
03F7 F0 2312 movx @dptr,a
03F8 74 30 2313 mov a,#0x30
03FA F0 2314 movx @dptr,a
2315 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
2316 ; ../../../include/ztex-isr.h:51: TOGCTL = 1 | bmBIT5;
2317 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
2318 ; ../../../include/ztex-isr.h:55: TOGCTL = 0x11 | bmBIT5;
03FB 90 E6 83 2319 mov dptr,#_TOGCTL
03FE 74 01 2320 mov a,#0x01
0400 F0 2321 movx @dptr,a
0401 74 21 2322 mov a,#0x21
0403 F0 2323 movx @dptr,a
0404 74 11 2324 mov a,#0x11
0406 F0 2325 movx @dptr,a
0407 74 31 2326 mov a,#0x31
0409 F0 2327 movx @dptr,a
040A 22 2328 ret
2329 ;------------------------------------------------------------
2330 ;Allocation info for local variables in function 'sendStringDescriptor'
2331 ;------------------------------------------------------------
2332 ;hiAddr Allocated with name '_sendStringDescriptor_PARM_2'
2333 ;size Allocated with name '_sendStringDescriptor_PARM_3'
2334 ;loAddr Allocated to registers r2
2335 ;i Allocated to registers r2
2336 ;------------------------------------------------------------
2337 ; ../../../include/ztex-isr.h:68: static void sendStringDescriptor (BYTE loAddr, BYTE hiAddr, BYTE size)
2338 ; -----------------------------------------
2339 ; function sendStringDescriptor
2340 ; -----------------------------------------
040B 2341 _sendStringDescriptor:
040B AA 82 2342 mov r2,dpl
2343 ; ../../../include/ztex-isr.h:71: if ( size > 31)
040D E5*01 2344 mov a,_sendStringDescriptor_PARM_3
040F 24 E0 2345 add a,#0xff - 0x1F
0411 50 03 2346 jnc 00102$
2347 ; ../../../include/ztex-isr.h:72: size = 31;
0413 75*01 1F 2348 mov _sendStringDescriptor_PARM_3,#0x1F
0416 2349 00102$:
2350 ; ../../../include/ztex-isr.h:73: AUTOPTRSETUP = 7;
0416 75 AF 07 2351 mov _AUTOPTRSETUP,#0x07
2352 ; ../../../include/ztex-isr.h:74: AUTOPTRL1 = loAddr;
0419 8A 9B 2353 mov _AUTOPTRL1,r2
2354 ; ../../../include/ztex-isr.h:75: AUTOPTRH1 = hiAddr;
041B 85*00 9A 2355 mov _AUTOPTRH1,_sendStringDescriptor_PARM_2
2356 ; ../../../include/ztex-isr.h:76: AUTOPTRL2 = (BYTE)(((unsigned short)(&EP0BUF))+1);
041E 75 9E 41 2357 mov _AUTOPTRL2,#0x41
2358 ; ../../../include/ztex-isr.h:77: AUTOPTRH2 = (BYTE)((((unsigned short)(&EP0BUF))+1) >> 8);
0421 75 9D E7 2359 mov _AUTOPTRH2,#0xE7
2360 ; ../../../include/ztex-isr.h:78: XAUTODAT2 = 3;
0424 90 E6 7C 2361 mov dptr,#_XAUTODAT2
0427 74 03 2362 mov a,#0x03
0429 F0 2363 movx @dptr,a
2364 ; ../../../include/ztex-isr.h:79: for (i=0; i<size; i++) {
042A 7A 00 2365 mov r2,#0x00
042C 2366 00103$:
042C C3 2367 clr c
042D EA 2368 mov a,r2
042E 95*01 2369 subb a,_sendStringDescriptor_PARM_3
0430 50 11 2370 jnc 00106$
2371 ; ../../../include/ztex-isr.h:80: XAUTODAT2 = XAUTODAT1;
0432 90 E6 7B 2372 mov dptr,#_XAUTODAT1
0435 E0 2373 movx a,@dptr
0436 FB 2374 mov r3,a
0437 90 E6 7C 2375 mov dptr,#_XAUTODAT2
043A F0 2376 movx @dptr,a
2377 ; ../../../include/ztex-isr.h:81: XAUTODAT2 = 0;
043B 90 E6 7C 2378 mov dptr,#_XAUTODAT2
043E E4 2379 clr a
043F F0 2380 movx @dptr,a
2381 ; ../../../include/ztex-isr.h:79: for (i=0; i<size; i++) {
0440 0A 2382 inc r2
0441 80 E9 2383 sjmp 00103$
0443 2384 00106$:
2385 ; ../../../include/ztex-isr.h:83: i = (size+1) << 1;
0443 E5*01 2386 mov a,_sendStringDescriptor_PARM_3
0445 04 2387 inc a
2388 ; ../../../include/ztex-isr.h:84: EP0BUF[0] = i;
0446 25 E0 2389 add a,acc
0448 FA 2390 mov r2,a
0449 90 E7 40 2391 mov dptr,#_EP0BUF
044C F0 2392 movx @dptr,a
2393 ; ../../../include/ztex-isr.h:85: EP0BUF[1] = 3;
044D 90 E7 41 2394 mov dptr,#(_EP0BUF + 0x0001)
0450 74 03 2395 mov a,#0x03
0452 F0 2396 movx @dptr,a
2397 ; ../../../include/ztex-isr.h:86: EP0BCH = 0;
0453 90 E6 8A 2398 mov dptr,#_EP0BCH
0456 E4 2399 clr a
0457 F0 2400 movx @dptr,a
2401 ; ../../../include/ztex-isr.h:87: EP0BCL = i;
0458 90 E6 8B 2402 mov dptr,#_EP0BCL
045B EA 2403 mov a,r2
045C F0 2404 movx @dptr,a
045D 22 2405 ret
2406 ;------------------------------------------------------------
2407 ;Allocation info for local variables in function 'ep0_payload_update'
2408 ;------------------------------------------------------------
2409 ;------------------------------------------------------------
2410 ; ../../../include/ztex-isr.h:93: static void ep0_payload_update() {
2411 ; -----------------------------------------
2412 ; function ep0_payload_update
2413 ; -----------------------------------------
045E 2414 _ep0_payload_update:
2415 ; ../../../include/ztex-isr.h:94: ep0_payload_transfer = ( ep0_payload_remaining > 64 ) ? 64 : ep0_payload_remaining;
045E 90s00r00 2416 mov dptr,#_ep0_payload_remaining
0461 E0 2417 movx a,@dptr
0462 FA 2418 mov r2,a
0463 A3 2419 inc dptr
0464 E0 2420 movx a,@dptr
0465 FB 2421 mov r3,a
0466 C3 2422 clr c
0467 74 40 2423 mov a,#0x40
0469 9A 2424 subb a,r2
046A E4 2425 clr a
046B 9B 2426 subb a,r3
046C 50 06 2427 jnc 00103$
046E 7C 40 2428 mov r4,#0x40
0470 7D 00 2429 mov r5,#0x00
0472 80 04 2430 sjmp 00104$
0474 2431 00103$:
0474 8A 04 2432 mov ar4,r2
0476 8B 05 2433 mov ar5,r3
0478 2434 00104$:
0478 90s00r02 2435 mov dptr,#_ep0_payload_transfer
047B EC 2436 mov a,r4
047C F0 2437 movx @dptr,a
2438 ; ../../../include/ztex-isr.h:95: ep0_payload_remaining -= ep0_payload_transfer;
047D 7D 00 2439 mov r5,#0x00
047F 90s00r00 2440 mov dptr,#_ep0_payload_remaining
0482 EA 2441 mov a,r2
0483 C3 2442 clr c
0484 9C 2443 subb a,r4
0485 F0 2444 movx @dptr,a
0486 EB 2445 mov a,r3
0487 9D 2446 subb a,r5
0488 A3 2447 inc dptr
0489 F0 2448 movx @dptr,a
048A 22 2449 ret
2450 ;------------------------------------------------------------
2451 ;Allocation info for local variables in function 'ep0_vendor_cmd_su'
2452 ;------------------------------------------------------------
2453 ;------------------------------------------------------------
2454 ; ../../../include/ztex-isr.h:102: static void ep0_vendor_cmd_su() {
2455 ; -----------------------------------------
2456 ; function ep0_vendor_cmd_su
2457 ; -----------------------------------------
048B 2458 _ep0_vendor_cmd_su:
2459 ; ../../../include/ztex-isr.h:103: switch ( ep0_prev_setup_request ) {
048B 90s00r03 2460 mov dptr,#_ep0_prev_setup_request
048E E0 2461 movx a,@dptr
048F FA 2462 mov r2,a
0490 BA 39 24 2463 cjne r2,#0x39,00102$
2464 ; ../../../include/ztex-eeprom.h:233: eeprom_write_checksum = 0;
0493 90s00r04 2465 mov dptr,#_eeprom_write_checksum
2466 ; ../../../include/ztex-eeprom.h:234: eeprom_write_bytes = 0;
0496 E4 2467 clr a
0497 F0 2468 movx @dptr,a
0498 90s00r02 2469 mov dptr,#_eeprom_write_bytes
049B F0 2470 movx @dptr,a
049C A3 2471 inc dptr
049D F0 2472 movx @dptr,a
2473 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
049E 90 E6 BB 2474 mov dptr,#(_SETUPDAT + 0x0003)
04A1 E0 2475 movx a,@dptr
04A2 FB 2476 mov r3,a
04A3 7A 00 2477 mov r2,#0x00
04A5 90 E6 BA 2478 mov dptr,#(_SETUPDAT + 0x0002)
04A8 E0 2479 movx a,@dptr
04A9 FC 2480 mov r4,a
04AA 7D 00 2481 mov r5,#0x00
04AC 90s00r00 2482 mov dptr,#_eeprom_addr
04AF EC 2483 mov a,r4
04B0 4A 2484 orl a,r2
04B1 F0 2485 movx @dptr,a
04B2 ED 2486 mov a,r5
04B3 4B 2487 orl a,r3
04B4 A3 2488 inc dptr
04B5 F0 2489 movx @dptr,a
2490 ; ../../../include/ztex-conf.h:115: break;
2491 ; ../../../include/ztex-isr.h:105: default:
04B6 22 2492 ret
04B7 2493 00102$:
2494 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
04B7 90 E6 A0 2495 mov dptr,#_EP0CS
04BA E0 2496 movx a,@dptr
04BB 44 01 2497 orl a,#0x01
04BD F0 2498 movx @dptr,a
2499 ; ../../../include/ztex-isr.h:107: }
04BE 22 2500 ret
2501 ;------------------------------------------------------------
2502 ;Allocation info for local variables in function 'SUDAV_ISR'
2503 ;------------------------------------------------------------
2504 ;a Allocated to registers r2
2505 ;------------------------------------------------------------
2506 ; ../../../include/ztex-isr.h:113: static void SUDAV_ISR () interrupt
2507 ; -----------------------------------------
2508 ; function SUDAV_ISR
2509 ; -----------------------------------------
04BF 2510 _SUDAV_ISR:
04BF C0*00 2511 push bits
04C1 C0 E0 2512 push acc
04C3 C0 F0 2513 push b
04C5 C0 82 2514 push dpl
04C7 C0 83 2515 push dph
04C9 C0 02 2516 push (0+2)
04CB C0 03 2517 push (0+3)
04CD C0 04 2518 push (0+4)
04CF C0 05 2519 push (0+5)
04D1 C0 06 2520 push (0+6)
04D3 C0 07 2521 push (0+7)
04D5 C0 00 2522 push (0+0)
04D7 C0 01 2523 push (0+1)
04D9 C0 D0 2524 push psw
04DB 75 D0 00 2525 mov psw,#0x00
2526 ; ../../../include/ztex-isr.h:116: ep0_prev_setup_request = bRequest;
04DE 90 E6 B9 2527 mov dptr,#_bRequest
04E1 E0 2528 movx a,@dptr
04E2 FA 2529 mov r2,a
04E3 90s00r03 2530 mov dptr,#_ep0_prev_setup_request
04E6 F0 2531 movx @dptr,a
2532 ; ../../../include/ztex-isr.h:117: SUDPTRCTL = 1;
04E7 90 E6 B5 2533 mov dptr,#_SUDPTRCTL
04EA 74 01 2534 mov a,#0x01
04EC F0 2535 movx @dptr,a
2536 ; ../../../include/ztex-isr.h:120: switch ( bRequest ) {
04ED 90 E6 B9 2537 mov dptr,#_bRequest
04F0 E0 2538 movx a,@dptr
04F1 FA 2539 mov r2,a
04F2 24 F3 2540 add a,#0xff - 0x0C
04F4 50 03 2541 jnc 00214$
04F6 02s08r75 2542 ljmp 00160$
04F9 2543 00214$:
04F9 EA 2544 mov a,r2
04FA 2A 2545 add a,r2
04FB 2A 2546 add a,r2
04FC 90s05r00 2547 mov dptr,#00215$
04FF 73 2548 jmp @a+dptr
0500 2549 00215$:
0500 02s05r27 2550 ljmp 00101$
0503 02s05rDB 2551 ljmp 00112$
0506 02s08r75 2552 ljmp 00160$
0509 02s06r58 2553 ljmp 00122$
050C 02s08r75 2554 ljmp 00160$
050F 02s08r75 2555 ljmp 00160$
0512 02s06rF0 2556 ljmp 00132$
0515 02s08r0B 2557 ljmp 00152$
0518 02s08r0D 2558 ljmp 00153$
051B 02s08r1E 2559 ljmp 00154$
051E 02s08r23 2560 ljmp 00155$
0521 02s08r34 2561 ljmp 00156$
0524 02s08r39 2562 ljmp 00157$
2563 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
0527 2564 00101$:
2565 ; ../../../include/ztex-isr.h:122: switch(SETUPDAT[0]) {
0527 90 E6 B8 2566 mov dptr,#_SETUPDAT
052A E0 2567 movx a,@dptr
052B FA 2568 mov r2,a
052C BA 80 02 2569 cjne r2,#0x80,00216$
052F 80 0D 2570 sjmp 00102$
0531 2571 00216$:
0531 BA 81 02 2572 cjne r2,#0x81,00217$
0534 80 1E 2573 sjmp 00103$
0536 2574 00217$:
0536 BA 82 02 2575 cjne r2,#0x82,00218$
0539 80 2F 2576 sjmp 00104$
053B 2577 00218$:
053B 02s08r75 2578 ljmp 00160$
2579 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
053E 2580 00102$:
053E 90 E7 40 2581 mov dptr,#_EP0BUF
2582 ; ../../../include/ztex-isr.h:125: EP0BUF[1] = 0;
2583 ; ../../../include/ztex-isr.h:126: EP0BCH = 0;
0541 E4 2584 clr a
0542 F0 2585 movx @dptr,a
0543 90 E7 41 2586 mov dptr,#(_EP0BUF + 0x0001)
0546 F0 2587 movx @dptr,a
0547 90 E6 8A 2588 mov dptr,#_EP0BCH
054A F0 2589 movx @dptr,a
2590 ; ../../../include/ztex-isr.h:127: EP0BCL = 2;
054B 90 E6 8B 2591 mov dptr,#_EP0BCL
054E 74 02 2592 mov a,#0x02
0550 F0 2593 movx @dptr,a
2594 ; ../../../include/ztex-isr.h:128: break;
0551 02s08r75 2595 ljmp 00160$
2596 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
0554 2597 00103$:
0554 90 E7 40 2598 mov dptr,#_EP0BUF
2599 ; ../../../include/ztex-isr.h:131: EP0BUF[1] = 0;
2600 ; ../../../include/ztex-isr.h:132: EP0BCH = 0;
0557 E4 2601 clr a
0558 F0 2602 movx @dptr,a
0559 90 E7 41 2603 mov dptr,#(_EP0BUF + 0x0001)
055C F0 2604 movx @dptr,a
055D 90 E6 8A 2605 mov dptr,#_EP0BCH
0560 F0 2606 movx @dptr,a
2607 ; ../../../include/ztex-isr.h:133: EP0BCL = 2;
0561 90 E6 8B 2608 mov dptr,#_EP0BCL
0564 74 02 2609 mov a,#0x02
0566 F0 2610 movx @dptr,a
2611 ; ../../../include/ztex-isr.h:134: break;
0567 02s08r75 2612 ljmp 00160$
2613 ; ../../../include/ztex-isr.h:135: case 0x82:
056A 2614 00104$:
2615 ; ../../../include/ztex-isr.h:136: switch ( SETUPDAT[4] ) {
056A 90 E6 BC 2616 mov dptr,#(_SETUPDAT + 0x0004)
056D E0 2617 movx a,@dptr
056E FA 2618 mov r2,a
056F 60 0F 2619 jz 00106$
0571 BA 01 02 2620 cjne r2,#0x01,00220$
0574 80 19 2621 sjmp 00107$
0576 2622 00220$:
0576 BA 80 02 2623 cjne r2,#0x80,00221$
0579 80 05 2624 sjmp 00106$
057B 2625 00221$:
2626 ; ../../../include/ztex-isr.h:138: case 0x80 :
057B BA 81 2F 2627 cjne r2,#0x81,00109$
057E 80 1E 2628 sjmp 00108$
0580 2629 00106$:
2630 ; ../../../include/ztex-isr.h:139: EP0BUF[0] = EP0CS & bmBIT0;
0580 90 E6 A0 2631 mov dptr,#_EP0CS
0583 E0 2632 movx a,@dptr
0584 FA 2633 mov r2,a
0585 53 02 01 2634 anl ar2,#0x01
0588 90 E7 40 2635 mov dptr,#_EP0BUF
058B EA 2636 mov a,r2
058C F0 2637 movx @dptr,a
2638 ; ../../../include/ztex-isr.h:140: break;
2639 ; ../../../include/ztex-isr.h:141: case 0x01 :
058D 80 3A 2640 sjmp 00110$
058F 2641 00107$:
2642 ; ../../../include/ztex-isr.h:142: EP0BUF[0] = EP1OUTCS & bmBIT0;
058F 90 E6 A1 2643 mov dptr,#_EP1OUTCS
0592 E0 2644 movx a,@dptr
0593 FA 2645 mov r2,a
0594 53 02 01 2646 anl ar2,#0x01
0597 90 E7 40 2647 mov dptr,#_EP0BUF
059A EA 2648 mov a,r2
059B F0 2649 movx @dptr,a
2650 ; ../../../include/ztex-isr.h:143: break;
2651 ; ../../../include/ztex-isr.h:144: case 0x81 :
059C 80 2B 2652 sjmp 00110$
059E 2653 00108$:
2654 ; ../../../include/ztex-isr.h:145: EP0BUF[0] = EP1INCS & bmBIT0;
059E 90 E6 A2 2655 mov dptr,#_EP1INCS
05A1 E0 2656 movx a,@dptr
05A2 FA 2657 mov r2,a
05A3 53 02 01 2658 anl ar2,#0x01
05A6 90 E7 40 2659 mov dptr,#_EP0BUF
05A9 EA 2660 mov a,r2
05AA F0 2661 movx @dptr,a
2662 ; ../../../include/ztex-isr.h:146: break;
2663 ; ../../../include/ztex-isr.h:147: default:
05AB 80 1C 2664 sjmp 00110$
05AD 2665 00109$:
2666 ; ../../../include/ztex-isr.h:148: EP0BUF[0] = EPXCS[ ((SETUPDAT[4] >> 1)-1) & 3 ] & bmBIT0;
05AD 90 E6 BC 2667 mov dptr,#(_SETUPDAT + 0x0004)
05B0 E0 2668 movx a,@dptr
05B1 C3 2669 clr c
05B2 13 2670 rrc a
05B3 14 2671 dec a
05B4 54 03 2672 anl a,#0x03
05B6 24 A3 2673 add a,#_EPXCS
05B8 F5 82 2674 mov dpl,a
05BA E4 2675 clr a
05BB 34 E6 2676 addc a,#(_EPXCS >> 8)
05BD F5 83 2677 mov dph,a
05BF E0 2678 movx a,@dptr
05C0 FA 2679 mov r2,a
05C1 53 02 01 2680 anl ar2,#0x01
05C4 90 E7 40 2681 mov dptr,#_EP0BUF
05C7 EA 2682 mov a,r2
05C8 F0 2683 movx @dptr,a
2684 ; ../../../include/ztex-isr.h:150: }
05C9 2685 00110$:
2686 ; ../../../include/ztex-isr.h:151: EP0BUF[1] = 0;
05C9 90 E7 41 2687 mov dptr,#(_EP0BUF + 0x0001)
2688 ; ../../../include/ztex-isr.h:152: EP0BCH = 0;
05CC E4 2689 clr a
05CD F0 2690 movx @dptr,a
05CE 90 E6 8A 2691 mov dptr,#_EP0BCH
05D1 F0 2692 movx @dptr,a
2693 ; ../../../include/ztex-isr.h:153: EP0BCL = 2;
05D2 90 E6 8B 2694 mov dptr,#_EP0BCL
05D5 74 02 2695 mov a,#0x02
05D7 F0 2696 movx @dptr,a
2697 ; ../../../include/ztex-isr.h:156: break;
05D8 02s08r75 2698 ljmp 00160$
2699 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
05DB 2700 00112$:
2701 ; ../../../include/ztex-isr.h:158: if ( SETUPDAT[0] == 2 && SETUPDAT[2] == 0 ) {
05DB 90 E6 B8 2702 mov dptr,#_SETUPDAT
05DE E0 2703 movx a,@dptr
05DF FA 2704 mov r2,a
05E0 BA 02 02 2705 cjne r2,#0x02,00223$
05E3 80 03 2706 sjmp 00224$
05E5 2707 00223$:
05E5 02s08r75 2708 ljmp 00160$
05E8 2709 00224$:
05E8 90 E6 BA 2710 mov dptr,#(_SETUPDAT + 0x0002)
05EB E0 2711 movx a,@dptr
05EC 60 03 2712 jz 00225$
05EE 02s08r75 2713 ljmp 00160$
05F1 2714 00225$:
2715 ; ../../../include/ztex-isr.h:159: switch ( SETUPDAT[4] ) {
05F1 90 E6 BC 2716 mov dptr,#(_SETUPDAT + 0x0004)
05F4 E0 2717 movx a,@dptr
05F5 FA 2718 mov r2,a
05F6 60 0F 2719 jz 00114$
05F8 BA 01 02 2720 cjne r2,#0x01,00227$
05FB 80 15 2721 sjmp 00115$
05FD 2722 00227$:
05FD BA 80 02 2723 cjne r2,#0x80,00228$
0600 80 05 2724 sjmp 00114$
0602 2725 00228$:
2726 ; ../../../include/ztex-isr.h:161: case 0x80 :
0602 BA 81 23 2727 cjne r2,#0x81,00117$
0605 80 16 2728 sjmp 00116$
0607 2729 00114$:
2730 ; ../../../include/ztex-isr.h:162: EP0CS &= ~bmBIT0;
0607 90 E6 A0 2731 mov dptr,#_EP0CS
060A E0 2732 movx a,@dptr
060B FA 2733 mov r2,a
060C 54 FE 2734 anl a,#0xFE
060E F0 2735 movx @dptr,a
2736 ; ../../../include/ztex-isr.h:163: break;
060F 02s08r75 2737 ljmp 00160$
2738 ; ../../../include/ztex-isr.h:164: case 0x01 :
0612 2739 00115$:
2740 ; ../../../include/ztex-isr.h:165: EP1OUTCS &= ~bmBIT0;
0612 90 E6 A1 2741 mov dptr,#_EP1OUTCS
0615 E0 2742 movx a,@dptr
0616 FA 2743 mov r2,a
0617 54 FE 2744 anl a,#0xFE
0619 F0 2745 movx @dptr,a
2746 ; ../../../include/ztex-isr.h:166: break;
061A 02s08r75 2747 ljmp 00160$
2748 ; ../../../include/ztex-isr.h:167: case 0x81 :
061D 2749 00116$:
2750 ; ../../../include/ztex-isr.h:168: EP1INCS &= ~bmBIT0;
061D 90 E6 A2 2751 mov dptr,#_EP1INCS
0620 E0 2752 movx a,@dptr
0621 FA 2753 mov r2,a
0622 54 FE 2754 anl a,#0xFE
0624 F0 2755 movx @dptr,a
2756 ; ../../../include/ztex-isr.h:169: break;
0625 02s08r75 2757 ljmp 00160$
2758 ; ../../../include/ztex-isr.h:170: default:
0628 2759 00117$:
2760 ; ../../../include/ztex-isr.h:171: EPXCS[ ((SETUPDAT[4] >> 1)-1) & 3 ] &= ~bmBIT0;
0628 90 E6 BC 2761 mov dptr,#(_SETUPDAT + 0x0004)
062B E0 2762 movx a,@dptr
062C C3 2763 clr c
062D 13 2764 rrc a
062E 14 2765 dec a
062F 54 03 2766 anl a,#0x03
0631 24 A3 2767 add a,#_EPXCS
0633 FA 2768 mov r2,a
0634 E4 2769 clr a
0635 34 E6 2770 addc a,#(_EPXCS >> 8)
0637 FB 2771 mov r3,a
0638 90 E6 BC 2772 mov dptr,#(_SETUPDAT + 0x0004)
063B E0 2773 movx a,@dptr
063C C3 2774 clr c
063D 13 2775 rrc a
063E 14 2776 dec a
063F 54 03 2777 anl a,#0x03
0641 24 A3 2778 add a,#_EPXCS
0643 F5 82 2779 mov dpl,a
0645 E4 2780 clr a
0646 34 E6 2781 addc a,#(_EPXCS >> 8)
0648 F5 83 2782 mov dph,a
064A E0 2783 movx a,@dptr
064B FC 2784 mov r4,a
064C 53 04 FE 2785 anl ar4,#0xFE
064F 8A 82 2786 mov dpl,r2
0651 8B 83 2787 mov dph,r3
0653 EC 2788 mov a,r4
0654 F0 2789 movx @dptr,a
2790 ; ../../../include/ztex-isr.h:175: break;
0655 02s08r75 2791 ljmp 00160$
2792 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
0658 2793 00122$:
2794 ; ../../../include/ztex-isr.h:177: if ( SETUPDAT[0] == 2 && SETUPDAT[2] == 0 ) {
0658 90 E6 B8 2795 mov dptr,#_SETUPDAT
065B E0 2796 movx a,@dptr
065C FA 2797 mov r2,a
065D BA 02 02 2798 cjne r2,#0x02,00230$
0660 80 03 2799 sjmp 00231$
0662 2800 00230$:
0662 02s08r75 2801 ljmp 00160$
0665 2802 00231$:
0665 90 E6 BA 2803 mov dptr,#(_SETUPDAT + 0x0002)
0668 E0 2804 movx a,@dptr
0669 60 03 2805 jz 00232$
066B 02s08r75 2806 ljmp 00160$
066E 2807 00232$:
2808 ; ../../../include/ztex-isr.h:178: switch ( SETUPDAT[4] ) {
066E 90 E6 BC 2809 mov dptr,#(_SETUPDAT + 0x0004)
0671 E0 2810 movx a,@dptr
0672 FA 2811 mov r2,a
0673 60 0F 2812 jz 00124$
0675 BA 01 02 2813 cjne r2,#0x01,00234$
0678 80 14 2814 sjmp 00125$
067A 2815 00234$:
067A BA 80 02 2816 cjne r2,#0x80,00235$
067D 80 05 2817 sjmp 00124$
067F 2818 00235$:
2819 ; ../../../include/ztex-isr.h:180: case 0x80 :
067F BA 81 20 2820 cjne r2,#0x81,00127$
0682 80 14 2821 sjmp 00126$
0684 2822 00124$:
2823 ; ../../../include/ztex-isr.h:181: EP0CS |= bmBIT0;
0684 90 E6 A0 2824 mov dptr,#_EP0CS
0687 E0 2825 movx a,@dptr
0688 FA 2826 mov r2,a
0689 44 01 2827 orl a,#0x01
068B F0 2828 movx @dptr,a
2829 ; ../../../include/ztex-isr.h:182: break;
2830 ; ../../../include/ztex-isr.h:183: case 0x01 :
068C 80 41 2831 sjmp 00128$
068E 2832 00125$:
2833 ; ../../../include/ztex-isr.h:184: EP1OUTCS |= bmBIT0;
068E 90 E6 A1 2834 mov dptr,#_EP1OUTCS
0691 E0 2835 movx a,@dptr
0692 FA 2836 mov r2,a
0693 44 01 2837 orl a,#0x01
0695 F0 2838 movx @dptr,a
2839 ; ../../../include/ztex-isr.h:185: break;
2840 ; ../../../include/ztex-isr.h:186: case 0x81 :
0696 80 37 2841 sjmp 00128$
0698 2842 00126$:
2843 ; ../../../include/ztex-isr.h:187: EP1INCS |= bmBIT0;
0698 90 E6 A2 2844 mov dptr,#_EP1INCS
069B E0 2845 movx a,@dptr
069C FA 2846 mov r2,a
069D 44 01 2847 orl a,#0x01
069F F0 2848 movx @dptr,a
2849 ; ../../../include/ztex-isr.h:188: break;
2850 ; ../../../include/ztex-isr.h:189: default:
06A0 80 2D 2851 sjmp 00128$
06A2 2852 00127$:
2853 ; ../../../include/ztex-isr.h:190: EPXCS[ ((SETUPDAT[4] >> 1)-1) & 3 ] |= ~bmBIT0;
06A2 90 E6 BC 2854 mov dptr,#(_SETUPDAT + 0x0004)
06A5 E0 2855 movx a,@dptr
06A6 C3 2856 clr c
06A7 13 2857 rrc a
06A8 14 2858 dec a
06A9 54 03 2859 anl a,#0x03
06AB 24 A3 2860 add a,#_EPXCS
06AD FA 2861 mov r2,a
06AE E4 2862 clr a
06AF 34 E6 2863 addc a,#(_EPXCS >> 8)
06B1 FB 2864 mov r3,a
06B2 90 E6 BC 2865 mov dptr,#(_SETUPDAT + 0x0004)
06B5 E0 2866 movx a,@dptr
06B6 C3 2867 clr c
06B7 13 2868 rrc a
06B8 14 2869 dec a
06B9 54 03 2870 anl a,#0x03
06BB 24 A3 2871 add a,#_EPXCS
06BD F5 82 2872 mov dpl,a
06BF E4 2873 clr a
06C0 34 E6 2874 addc a,#(_EPXCS >> 8)
06C2 F5 83 2875 mov dph,a
06C4 E0 2876 movx a,@dptr
06C5 FC 2877 mov r4,a
06C6 43 04 FE 2878 orl ar4,#0xFE
06C9 8A 82 2879 mov dpl,r2
06CB 8B 83 2880 mov dph,r3
06CD EC 2881 mov a,r4
06CE F0 2882 movx @dptr,a
2883 ; ../../../include/ztex-isr.h:192: }
06CF 2884 00128$:
2885 ; ../../../include/ztex-isr.h:193: a = ( (SETUPDAT[4] & 0x80) >> 3 ) | (SETUPDAT[4] & 0x0f);
06CF 90 E6 BC 2886 mov dptr,#(_SETUPDAT + 0x0004)
06D2 E0 2887 movx a,@dptr
06D3 54 80 2888 anl a,#0x80
06D5 C4 2889 swap a
06D6 23 2890 rl a
06D7 54 1F 2891 anl a,#0x1f
06D9 FA 2892 mov r2,a
06DA 90 E6 BC 2893 mov dptr,#(_SETUPDAT + 0x0004)
06DD E0 2894 movx a,@dptr
06DE FB 2895 mov r3,a
06DF 74 0F 2896 mov a,#0x0F
06E1 5B 2897 anl a,r3
06E2 42 02 2898 orl ar2,a
2899 ; ../../../include/ztex-isr.h:194: TOGCTL = a;
2900 ; ../../../include/ztex-isr.h:195: TOGCTL = a | bmBIT5;
06E4 90 E6 83 2901 mov dptr,#_TOGCTL
06E7 EA 2902 mov a,r2
06E8 F0 2903 movx @dptr,a
06E9 74 20 2904 mov a,#0x20
06EB 4A 2905 orl a,r2
06EC F0 2906 movx @dptr,a
2907 ; ../../../include/ztex-isr.h:197: break;
06ED 02s08r75 2908 ljmp 00160$
2909 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
06F0 2910 00132$:
2911 ; ../../../include/ztex-isr.h:199: switch(SETUPDAT[3]) {
06F0 90 E6 BB 2912 mov dptr,#(_SETUPDAT + 0x0003)
06F3 E0 2913 movx a,@dptr
06F4 FA 2914 mov r2,a
06F5 BA 01 02 2915 cjne r2,#0x01,00237$
06F8 80 19 2916 sjmp 00133$
06FA 2917 00237$:
06FA BA 02 02 2918 cjne r2,#0x02,00238$
06FD 80 26 2919 sjmp 00134$
06FF 2920 00238$:
06FF BA 03 02 2921 cjne r2,#0x03,00239$
0702 80 4D 2922 sjmp 00138$
0704 2923 00239$:
0704 BA 06 03 2924 cjne r2,#0x06,00240$
0707 02s07rC4 2925 ljmp 00145$
070A 2926 00240$:
070A BA 07 03 2927 cjne r2,#0x07,00241$
070D 02s07rD6 2928 ljmp 00146$
0710 2929 00241$:
0710 02s08r01 2930 ljmp 00150$
2931 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
0713 2932 00133$:
2933 ; ../../../include/ztex-isr.h:201: SUDPTRH = MSB(&DeviceDescriptor);
0713 7Ar29 2934 mov r2,#_DeviceDescriptor
0715 7Bs00 2935 mov r3,#(_DeviceDescriptor >> 8)
0717 90 E6 B3 2936 mov dptr,#_SUDPTRH
071A EB 2937 mov a,r3
071B F0 2938 movx @dptr,a
2939 ; ../../../include/ztex-isr.h:202: SUDPTRL = LSB(&DeviceDescriptor);
071C 90 E6 B4 2940 mov dptr,#_SUDPTRL
071F 74r29 2941 mov a,#_DeviceDescriptor
0721 F0 2942 movx @dptr,a
2943 ; ../../../include/ztex-isr.h:203: break;
0722 02s08r75 2944 ljmp 00160$
2945 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
0725 2946 00134$:
2947 ; ../../../include/ztex-isr.h:205: if (USBCS & bmBIT7) {
0725 90 E6 80 2948 mov dptr,#_USBCS
0728 E0 2949 movx a,@dptr
0729 FA 2950 mov r2,a
072A 30 E7 12 2951 jnb acc.7,00136$
2952 ; ../../../include/ztex-isr.h:206: SUDPTRH = MSB(&HighSpeedConfigDescriptor);
072D 7Ar45 2953 mov r2,#_HighSpeedConfigDescriptor
072F 7Bs00 2954 mov r3,#(_HighSpeedConfigDescriptor >> 8)
0731 90 E6 B3 2955 mov dptr,#_SUDPTRH
0734 EB 2956 mov a,r3
0735 F0 2957 movx @dptr,a
2958 ; ../../../include/ztex-isr.h:207: SUDPTRL = LSB(&HighSpeedConfigDescriptor);
0736 90 E6 B4 2959 mov dptr,#_SUDPTRL
0739 74r45 2960 mov a,#_HighSpeedConfigDescriptor
073B F0 2961 movx @dptr,a
073C 02s08r75 2962 ljmp 00160$
073F 2963 00136$:
2964 ; ../../../include/ztex-isr.h:210: SUDPTRH = MSB(&FullSpeedConfigDescriptor);
073F 7Ar67 2965 mov r2,#_FullSpeedConfigDescriptor
0741 7Bs00 2966 mov r3,#(_FullSpeedConfigDescriptor >> 8)
0743 90 E6 B3 2967 mov dptr,#_SUDPTRH
0746 EB 2968 mov a,r3
0747 F0 2969 movx @dptr,a
2970 ; ../../../include/ztex-isr.h:211: SUDPTRL = LSB(&FullSpeedConfigDescriptor);
0748 90 E6 B4 2971 mov dptr,#_SUDPTRL
074B 74r67 2972 mov a,#_FullSpeedConfigDescriptor
074D F0 2973 movx @dptr,a
2974 ; ../../../include/ztex-isr.h:213: break;
074E 02s08r75 2975 ljmp 00160$
2976 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
0751 2977 00138$:
2978 ; ../../../include/ztex-isr.h:215: switch (SETUPDAT[2]) {
0751 90 E6 BA 2979 mov dptr,#(_SETUPDAT + 0x0002)
0754 E0 2980 movx a,@dptr
0755 FA 2981 mov r2,a
0756 BA 01 02 2982 cjne r2,#0x01,00243$
0759 80 0F 2983 sjmp 00139$
075B 2984 00243$:
075B BA 02 02 2985 cjne r2,#0x02,00244$
075E 80 1C 2986 sjmp 00140$
0760 2987 00244$:
0760 BA 03 02 2988 cjne r2,#0x03,00245$
0763 80 29 2989 sjmp 00141$
0765 2990 00245$:
2991 ; ../../../include/ztex-isr.h:216: case 1:
0765 BA 04 4A 2992 cjne r2,#0x04,00143$
0768 80 36 2993 sjmp 00142$
076A 2994 00139$:
2995 ; ../../../include/ztex-isr.h:217: SEND_STRING_DESCRIPTOR(manufacturerString);
076A 75 82r00 2996 mov dpl,#_manufacturerString
076D 7Ar00 2997 mov r2,#_manufacturerString
076F 7Bs00 2998 mov r3,#(_manufacturerString >> 8)
0771 8B*00 2999 mov _sendStringDescriptor_PARM_2,r3
0773 75*01 05 3000 mov _sendStringDescriptor_PARM_3,#0x05
0776 12s04r0B 3001 lcall _sendStringDescriptor
3002 ; ../../../include/ztex-isr.h:218: break;
0779 02s08r75 3003 ljmp 00160$
3004 ; ../../../include/ztex-isr.h:219: case 2:
077C 3005 00140$:
3006 ; ../../../include/ztex-isr.h:220: SEND_STRING_DESCRIPTOR(productString);
077C 75 82r05 3007 mov dpl,#_productString
077F 7Ar05 3008 mov r2,#_productString
0781 7Bs00 3009 mov r3,#(_productString >> 8)
0783 8B*00 3010 mov _sendStringDescriptor_PARM_2,r3
0785 75*01 19 3011 mov _sendStringDescriptor_PARM_3,#0x19
0788 12s04r0B 3012 lcall _sendStringDescriptor
3013 ; ../../../include/ztex-isr.h:221: break;
078B 02s08r75 3014 ljmp 00160$
3015 ; ../../../include/ztex-isr.h:222: case 3:
078E 3016 00141$:
3017 ; ../../../include/ztex-isr.h:223: SEND_STRING_DESCRIPTOR(SN_STRING);
078E 75 82 8A 3018 mov dpl,#_SN_STRING
0791 7A 8A 3019 mov r2,#_SN_STRING
0793 7B 00 3020 mov r3,#(_SN_STRING >> 8)
0795 8B*00 3021 mov _sendStringDescriptor_PARM_2,r3
0797 75*01 0A 3022 mov _sendStringDescriptor_PARM_3,#0x0A
079A 12s04r0B 3023 lcall _sendStringDescriptor
3024 ; ../../../include/ztex-isr.h:224: break;
079D 02s08r75 3025 ljmp 00160$
3026 ; ../../../include/ztex-isr.h:225: case 4:
07A0 3027 00142$:
3028 ; ../../../include/ztex-isr.h:226: SEND_STRING_DESCRIPTOR(configurationString);
07A0 75 82r1E 3029 mov dpl,#_configurationString
07A3 7Ar1E 3030 mov r2,#_configurationString
07A5 7Bs00 3031 mov r3,#(_configurationString >> 8)
07A7 8B*00 3032 mov _sendStringDescriptor_PARM_2,r3
07A9 75*01 0A 3033 mov _sendStringDescriptor_PARM_3,#0x0A
07AC 12s04r0B 3034 lcall _sendStringDescriptor
3035 ; ../../../include/ztex-isr.h:227: break;
07AF 02s08r75 3036 ljmp 00160$
3037 ; ../../../include/ztex-isr.h:228: default:
07B2 3038 00143$:
3039 ; ../../../include/ztex-isr.h:229: SUDPTRH = MSB(&EmptyStringDescriptor);
07B2 7Ar89 3040 mov r2,#_EmptyStringDescriptor
07B4 7Bs00 3041 mov r3,#(_EmptyStringDescriptor >> 8)
07B6 90 E6 B3 3042 mov dptr,#_SUDPTRH
07B9 EB 3043 mov a,r3
07BA F0 3044 movx @dptr,a
3045 ; ../../../include/ztex-isr.h:230: SUDPTRL = LSB(&EmptyStringDescriptor);
07BB 90 E6 B4 3046 mov dptr,#_SUDPTRL
07BE 74r89 3047 mov a,#_EmptyStringDescriptor
07C0 F0 3048 movx @dptr,a
3049 ; ../../../include/ztex-isr.h:233: break;
07C1 02s08r75 3050 ljmp 00160$
3051 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
07C4 3052 00145$:
3053 ; ../../../include/ztex-isr.h:235: SUDPTRH = MSB(&DeviceQualifierDescriptor);
07C4 7Ar3B 3054 mov r2,#_DeviceQualifierDescriptor
07C6 7Bs00 3055 mov r3,#(_DeviceQualifierDescriptor >> 8)
07C8 90 E6 B3 3056 mov dptr,#_SUDPTRH
07CB EB 3057 mov a,r3
07CC F0 3058 movx @dptr,a
3059 ; ../../../include/ztex-isr.h:236: SUDPTRL = LSB(&DeviceQualifierDescriptor);
07CD 90 E6 B4 3060 mov dptr,#_SUDPTRL
07D0 74r3B 3061 mov a,#_DeviceQualifierDescriptor
07D2 F0 3062 movx @dptr,a
3063 ; ../../../include/ztex-isr.h:237: break;
07D3 02s08r75 3064 ljmp 00160$
3065 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
07D6 3066 00146$:
3067 ; ../../../include/ztex-isr.h:239: if (USBCS & bmBIT7) {
07D6 90 E6 80 3068 mov dptr,#_USBCS
07D9 E0 3069 movx a,@dptr
07DA FA 3070 mov r2,a
07DB 30 E7 12 3071 jnb acc.7,00148$
3072 ; ../../../include/ztex-isr.h:240: SUDPTRH = MSB(&FullSpeedConfigDescriptor);
07DE 7Ar67 3073 mov r2,#_FullSpeedConfigDescriptor
07E0 7Bs00 3074 mov r3,#(_FullSpeedConfigDescriptor >> 8)
07E2 90 E6 B3 3075 mov dptr,#_SUDPTRH
07E5 EB 3076 mov a,r3
07E6 F0 3077 movx @dptr,a
3078 ; ../../../include/ztex-isr.h:241: SUDPTRL = LSB(&FullSpeedConfigDescriptor);
07E7 90 E6 B4 3079 mov dptr,#_SUDPTRL
07EA 74r67 3080 mov a,#_FullSpeedConfigDescriptor
07EC F0 3081 movx @dptr,a
07ED 02s08r75 3082 ljmp 00160$
07F0 3083 00148$:
3084 ; ../../../include/ztex-isr.h:244: SUDPTRH = MSB(&HighSpeedConfigDescriptor);
07F0 7Ar45 3085 mov r2,#_HighSpeedConfigDescriptor
07F2 7Bs00 3086 mov r3,#(_HighSpeedConfigDescriptor >> 8)
07F4 90 E6 B3 3087 mov dptr,#_SUDPTRH
07F7 EB 3088 mov a,r3
07F8 F0 3089 movx @dptr,a
3090 ; ../../../include/ztex-isr.h:245: SUDPTRL = LSB(&HighSpeedConfigDescriptor);
07F9 90 E6 B4 3091 mov dptr,#_SUDPTRL
07FC 74r45 3092 mov a,#_HighSpeedConfigDescriptor
07FE F0 3093 movx @dptr,a
3094 ; ../../../include/ztex-isr.h:247: break;
3095 ; ../../../include/ztex-isr.h:248: default:
07FF 80 74 3096 sjmp 00160$
0801 3097 00150$:
3098 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
0801 90 E6 A0 3099 mov dptr,#_EP0CS
0804 E0 3100 movx a,@dptr
0805 FA 3101 mov r2,a
0806 44 01 3102 orl a,#0x01
0808 F0 3103 movx @dptr,a
3104 ; ../../../include/ztex-isr.h:251: break;
3105 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
0809 80 6A 3106 sjmp 00160$
080B 3107 00152$:
3108 ; ../../../include/ztex-isr.h:253: break;
3109 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
080B 80 68 3110 sjmp 00160$
080D 3111 00153$:
080D 90 E7 40 3112 mov dptr,#_EP0BUF
3113 ; ../../../include/ztex-isr.h:256: EP0BCH = 0;
0810 E4 3114 clr a
0811 F0 3115 movx @dptr,a
0812 90 E6 8A 3116 mov dptr,#_EP0BCH
0815 F0 3117 movx @dptr,a
3118 ; ../../../include/ztex-isr.h:257: EP0BCL = 1;
0816 90 E6 8B 3119 mov dptr,#_EP0BCL
0819 74 01 3120 mov a,#0x01
081B F0 3121 movx @dptr,a
3122 ; ../../../include/ztex-isr.h:258: break;
3123 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
081C 80 57 3124 sjmp 00160$
081E 3125 00154$:
3126 ; ../../../include/ztex-isr.h:260: resetToggleData();
081E 12s03rED 3127 lcall _resetToggleData
3128 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
0821 80 52 3129 sjmp 00160$
0823 3130 00155$:
0823 90 E7 40 3131 mov dptr,#_EP0BUF
3132 ; ../../../include/ztex-isr.h:264: EP0BCH = 0;
0826 E4 3133 clr a
0827 F0 3134 movx @dptr,a
0828 90 E6 8A 3135 mov dptr,#_EP0BCH
082B F0 3136 movx @dptr,a
3137 ; ../../../include/ztex-isr.h:265: EP0BCL = 1;
082C 90 E6 8B 3138 mov dptr,#_EP0BCL
082F 74 01 3139 mov a,#0x01
0831 F0 3140 movx @dptr,a
3141 ; ../../../include/ztex-isr.h:266: break;
3142 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
0832 80 41 3143 sjmp 00160$
0834 3144 00156$:
3145 ; ../../../include/ztex-isr.h:268: resetToggleData();
0834 12s03rED 3146 lcall _resetToggleData
3147 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
0837 80 3C 3148 sjmp 00160$
0839 3149 00157$:
3150 ; ../../../include/ztex-isr.h:271: if ( SETUPDAT[0] == 0x82 ) {
0839 90 E6 B8 3151 mov dptr,#_SETUPDAT
083C E0 3152 movx a,@dptr
083D FA 3153 mov r2,a
083E BA 82 34 3154 cjne r2,#0x82,00160$
3155 ; ../../../include/ztex-isr.h:272: ISOFRAME_COUNTER[ ((SETUPDAT[4] >> 1)-1) & 3 ] = 0;
0841 90 E6 BC 3156 mov dptr,#(_SETUPDAT + 0x0004)
0844 E0 3157 movx a,@dptr
0845 C3 3158 clr c
0846 13 3159 rrc a
0847 14 3160 dec a
0848 54 03 3161 anl a,#0x03
084A 25 E0 3162 add a,acc
084C 24r05 3163 add a,#_ISOFRAME_COUNTER
084E F5 82 3164 mov dpl,a
0850 E4 3165 clr a
0851 34s00 3166 addc a,#(_ISOFRAME_COUNTER >> 8)
0853 F5 83 3167 mov dph,a
0855 E4 3168 clr a
0856 F0 3169 movx @dptr,a
0857 A3 3170 inc dptr
0858 F0 3171 movx @dptr,a
3172 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
0859 90 E6 85 3173 mov dptr,#_USBFRAMEL
085C E0 3174 movx a,@dptr
085D 90 E7 40 3175 mov dptr,#_EP0BUF
0860 F0 3176 movx @dptr,a
3177 ; ../../../include/ztex-isr.h:274: EP0BUF[1] = USBFRAMEH;
0861 90 E6 84 3178 mov dptr,#_USBFRAMEH
0864 E0 3179 movx a,@dptr
0865 FA 3180 mov r2,a
0866 90 E7 41 3181 mov dptr,#(_EP0BUF + 0x0001)
0869 F0 3182 movx @dptr,a
3183 ; ../../../include/ztex-isr.h:275: EP0BCH = 0;
086A 90 E6 8A 3184 mov dptr,#_EP0BCH
086D E4 3185 clr a
086E F0 3186 movx @dptr,a
3187 ; ../../../include/ztex-isr.h:276: EP0BCL = 2;
086F 90 E6 8B 3188 mov dptr,#_EP0BCL
0872 74 02 3189 mov a,#0x02
0874 F0 3190 movx @dptr,a
3191 ; ../../../include/ztex-isr.h:280: }
0875 3192 00160$:
3193 ; ../../../include/ztex-isr.h:283: switch ( bmRequestType ) {
0875 90 E6 B8 3194 mov dptr,#_bmRequestType
0878 E0 3195 movx a,@dptr
0879 FA 3196 mov r2,a
087A BA 40 03 3197 cjne r2,#0x40,00250$
087D 02s09r65 3198 ljmp 00168$
0880 3199 00250$:
0880 BA C0 02 3200 cjne r2,#0xC0,00251$
0883 80 03 3201 sjmp 00252$
0885 3202 00251$:
0885 02s09r8F 3203 ljmp 00172$
0888 3204 00252$:
3205 ; ../../../include/ztex-isr.h:285: ep0_payload_remaining = (SETUPDAT[7] << 8) | SETUPDAT[6];
0888 90 E6 BF 3206 mov dptr,#(_SETUPDAT + 0x0007)
088B E0 3207 movx a,@dptr
088C FB 3208 mov r3,a
088D 7A 00 3209 mov r2,#0x00
088F 90 E6 BE 3210 mov dptr,#(_SETUPDAT + 0x0006)
0892 E0 3211 movx a,@dptr
0893 FC 3212 mov r4,a
0894 7D 00 3213 mov r5,#0x00
0896 90s00r00 3214 mov dptr,#_ep0_payload_remaining
0899 EC 3215 mov a,r4
089A 4A 3216 orl a,r2
089B F0 3217 movx @dptr,a
089C ED 3218 mov a,r5
089D 4B 3219 orl a,r3
089E A3 3220 inc dptr
089F F0 3221 movx @dptr,a
3222 ; ../../../include/ztex-isr.h:286: ep0_payload_update();
08A0 12s04r5E 3223 lcall _ep0_payload_update
3224 ; ../../../include/ztex-isr.h:288: switch ( bRequest ) {
08A3 90 E6 B9 3225 mov dptr,#_bRequest
08A6 E0 3226 movx a,@dptr
08A7 FA 3227 mov r2,a
08A8 BA 22 02 3228 cjne r2,#0x22,00253$
08AB 80 13 3229 sjmp 00162$
08AD 3230 00253$:
08AD BA 28 03 3231 cjne r2,#0x28,00254$
08B0 02s09r41 3232 ljmp 00165$
08B3 3233 00254$:
08B3 BA 38 02 3234 cjne r2,#0x38,00255$
08B6 80 25 3235 sjmp 00163$
08B8 3236 00255$:
08B8 BA 3A 02 3237 cjne r2,#0x3A,00256$
08BB 80 49 3238 sjmp 00164$
08BD 3239 00256$:
08BD 02s09r5B 3240 ljmp 00166$
3241 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
08C0 3242 00162$:
3243 ; ../../../include/ztex-isr.h:290: SUDPTRCTL = 0;
08C0 90 E6 B5 3244 mov dptr,#_SUDPTRCTL
3245 ; ../../../include/ztex-isr.h:291: EP0BCH = 0;
08C3 E4 3246 clr a
08C4 F0 3247 movx @dptr,a
08C5 90 E6 8A 3248 mov dptr,#_EP0BCH
08C8 F0 3249 movx @dptr,a
3250 ; ../../../include/ztex-isr.h:292: EP0BCL = ZTEX_DESCRIPTOR_LEN;
08C9 90 E6 8B 3251 mov dptr,#_EP0BCL
08CC 74 28 3252 mov a,#0x28
08CE F0 3253 movx @dptr,a
3254 ; ../../../include/ztex-isr.h:293: SUDPTRH = MSB(ZTEX_DESCRIPTOR_OFFS);
08CF 90 E6 B3 3255 mov dptr,#_SUDPTRH
08D2 E4 3256 clr a
08D3 F0 3257 movx @dptr,a
3258 ; ../../../include/ztex-isr.h:294: SUDPTRL = LSB(ZTEX_DESCRIPTOR_OFFS);
08D4 90 E6 B4 3259 mov dptr,#_SUDPTRL
08D7 74 6C 3260 mov a,#0x6C
08D9 F0 3261 movx @dptr,a
3262 ; ../../../include/ztex-isr.h:295: break;
08DA 02s09r8F 3263 ljmp 00172$
3264 ; ../../../include/ztex-conf.h:90: case $0:
08DD 3265 00163$:
3266 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
08DD 90 E6 BB 3267 mov dptr,#(_SETUPDAT + 0x0003)
08E0 E0 3268 movx a,@dptr
08E1 FB 3269 mov r3,a
08E2 7A 00 3270 mov r2,#0x00
08E4 90 E6 BA 3271 mov dptr,#(_SETUPDAT + 0x0002)
08E7 E0 3272 movx a,@dptr
08E8 FC 3273 mov r4,a
08E9 7D 00 3274 mov r5,#0x00
08EB 90s00r00 3275 mov dptr,#_eeprom_addr
08EE EC 3276 mov a,r4
08EF 4A 3277 orl a,r2
08F0 F0 3278 movx @dptr,a
08F1 ED 3279 mov a,r5
08F2 4B 3280 orl a,r3
08F3 A3 3281 inc dptr
08F4 F0 3282 movx @dptr,a
3283 ; ../../../include/ztex-eeprom.h:216: EP0BCH = 0;
08F5 90 E6 8A 3284 mov dptr,#_EP0BCH
08F8 E4 3285 clr a
08F9 F0 3286 movx @dptr,a
3287 ; ../../../include/ztex-eeprom.h:217: EP0BCL = eeprom_read_ep0();
08FA 12s02rF0 3288 lcall _eeprom_read_ep0
08FD E5 82 3289 mov a,dpl
08FF 90 E6 8B 3290 mov dptr,#_EP0BCL
0902 F0 3291 movx @dptr,a
3292 ; ../../../include/ztex-conf.h:92: break;
0903 02s09r8F 3293 ljmp 00172$
3294 ; ../../../include/ztex-conf.h:90: case $0:
0906 3295 00164$:
3296 ; ../../../include/ztex-eeprom.h:244: EP0BUF[0] = LSB(eeprom_write_bytes);
0906 90s00r02 3297 mov dptr,#_eeprom_write_bytes
0909 E0 3298 movx a,@dptr
090A FA 3299 mov r2,a
090B A3 3300 inc dptr
090C E0 3301 movx a,@dptr
090D FB 3302 mov r3,a
090E 8A 04 3303 mov ar4,r2
0910 90 E7 40 3304 mov dptr,#_EP0BUF
0913 EC 3305 mov a,r4
0914 F0 3306 movx @dptr,a
3307 ; ../../../include/ztex-eeprom.h:245: EP0BUF[1] = MSB(eeprom_write_bytes);
0915 8B 02 3308 mov ar2,r3
0917 90 E7 41 3309 mov dptr,#(_EP0BUF + 0x0001)
091A EA 3310 mov a,r2
091B F0 3311 movx @dptr,a
3312 ; ../../../include/ztex-eeprom.h:246: EP0BUF[2] = eeprom_write_checksum;
091C 90s00r04 3313 mov dptr,#_eeprom_write_checksum
091F E0 3314 movx a,@dptr
0920 90 E7 42 3315 mov dptr,#(_EP0BUF + 0x0002)
0923 F0 3316 movx @dptr,a
3317 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
0924 75*00 01 3318 mov _eeprom_select_PARM_2,#0x01
0927 75 82 00 3319 mov dpl,#0x00
092A 12s00rE0 3320 lcall _eeprom_select
092D AA 82 3321 mov r2,dpl
092F 90 E7 43 3322 mov dptr,#(_EP0BUF + 0x0003)
0932 EA 3323 mov a,r2
0933 F0 3324 movx @dptr,a
3325 ; ../../../include/ztex-eeprom.h:248: EP0BCH = 0;
0934 90 E6 8A 3326 mov dptr,#_EP0BCH
0937 E4 3327 clr a
0938 F0 3328 movx @dptr,a
3329 ; ../../../include/ztex-eeprom.h:249: EP0BCL = 4;
0939 90 E6 8B 3330 mov dptr,#_EP0BCL
093C 74 04 3331 mov a,#0x04
093E F0 3332 movx @dptr,a
3333 ; ../../../include/ztex-conf.h:92: break;
3334 ; ../../../include/ztex-conf.h:90: case $0:
093F 80 4E 3335 sjmp 00172$
0941 3336 00165$:
3337 ; ../../../include/ztex-debug.h:82: debug_read_addr = (__xdata BYTE*)&debug_counter;
0941 90s00r6E 3338 mov dptr,#_debug_read_addr
0944 74r05 3339 mov a,#_debug_counter
0946 F0 3340 movx @dptr,a
0947 A3 3341 inc dptr
0948 74s00 3342 mov a,#(_debug_counter >> 8)
094A F0 3343 movx @dptr,a
3344 ; ../../../include/ztex-debug.h:83: EP0BCH = 0;
094B 90 E6 8A 3345 mov dptr,#_EP0BCH
094E E4 3346 clr a
094F F0 3347 movx @dptr,a
3348 ; ../../../include/ztex-debug.h:84: EP0BCL = debug_read_ep0();
0950 12s03rB3 3349 lcall _debug_read_ep0
0953 E5 82 3350 mov a,dpl
0955 90 E6 8B 3351 mov dptr,#_EP0BCL
0958 F0 3352 movx @dptr,a
3353 ; ../../../include/ztex-conf.h:92: break;
3354 ; ../../../include/ztex-isr.h:297: default:
0959 80 34 3355 sjmp 00172$
095B 3356 00166$:
3357 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
095B 90 E6 A0 3358 mov dptr,#_EP0CS
095E E0 3359 movx a,@dptr
095F FA 3360 mov r2,a
0960 44 01 3361 orl a,#0x01
0962 F0 3362 movx @dptr,a
3363 ; ../../../include/ztex-isr.h:300: break;
3364 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
0963 80 2A 3365 sjmp 00172$
0965 3366 00168$:
3367 ; ../../../include/ztex-isr.h:305: if ( SETUPDAT[7]!=0 || SETUPDAT[6]!=0 ) {
0965 90 E6 BF 3368 mov dptr,#(_SETUPDAT + 0x0007)
0968 E0 3369 movx a,@dptr
0969 70 06 3370 jnz 00169$
096B 90 E6 BE 3371 mov dptr,#(_SETUPDAT + 0x0006)
096E E0 3372 movx a,@dptr
096F 60 16 3373 jz 00170$
0971 3374 00169$:
3375 ; ../../../include/ztex-isr.h:306: ep0_vendor_cmd_setup = 1;
0971 90s00r04 3376 mov dptr,#_ep0_vendor_cmd_setup
0974 74 01 3377 mov a,#0x01
0976 F0 3378 movx @dptr,a
3379 ; ../../../include/ztex-isr.h:307: EP0BCL = 0;
0977 90 E6 8B 3380 mov dptr,#_EP0BCL
097A E4 3381 clr a
097B F0 3382 movx @dptr,a
3383 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
097C 53 91 EF 3384 anl _EXIF,#0xEF
097F 90 E6 5D 3385 mov dptr,#_USBIRQ
0982 74 01 3386 mov a,#0x01
0984 F0 3387 movx @dptr,a
0985 80 19 3388 sjmp 00173$
0987 3389 00170$:
0987 12s04r8B 3390 lcall _ep0_vendor_cmd_su
3391 ; ../../../include/ztex-isr.h:313: EP0BCL = 0;
098A 90 E6 8B 3392 mov dptr,#_EP0BCL
098D E4 3393 clr a
098E F0 3394 movx @dptr,a
3395 ; ../../../include/ztex-isr.h:315: }
098F 3396 00172$:
3397 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
098F 53 91 EF 3398 anl _EXIF,#0xEF
0992 90 E6 5D 3399 mov dptr,#_USBIRQ
0995 74 01 3400 mov a,#0x01
0997 F0 3401 movx @dptr,a
0998 90 E6 A0 3402 mov dptr,#_EP0CS
099B E0 3403 movx a,@dptr
099C FA 3404 mov r2,a
099D 44 80 3405 orl a,#0x80
099F F0 3406 movx @dptr,a
09A0 3407 00173$:
09A0 D0 D0 3408 pop psw
09A2 D0 01 3409 pop (0+1)
09A4 D0 00 3410 pop (0+0)
09A6 D0 07 3411 pop (0+7)
09A8 D0 06 3412 pop (0+6)
09AA D0 05 3413 pop (0+5)
09AC D0 04 3414 pop (0+4)
09AE D0 03 3415 pop (0+3)
09B0 D0 02 3416 pop (0+2)
09B2 D0 83 3417 pop dph
09B4 D0 82 3418 pop dpl
09B6 D0 F0 3419 pop b
09B8 D0 E0 3420 pop acc
09BA D0*00 3421 pop bits
09BC 32 3422 reti
3423 ;------------------------------------------------------------
3424 ;Allocation info for local variables in function 'SOF_ISR'
3425 ;------------------------------------------------------------
3426 ;------------------------------------------------------------
3427 ; ../../../include/ztex-isr.h:325: void SOF_ISR() interrupt
3428 ; -----------------------------------------
3429 ; function SOF_ISR
3430 ; -----------------------------------------
09BD 3431 _SOF_ISR:
09BD C0 E0 3432 push acc
09BF C0 82 3433 push dpl
09C1 C0 83 3434 push dph
3435 ; ../../../include/ztex-isr.h:327: EXIF &= ~bmBIT4;
09C3 53 91 EF 3436 anl _EXIF,#0xEF
3437 ; ../../../include/ztex-isr.h:328: USBIRQ = bmBIT1;
09C6 90 E6 5D 3438 mov dptr,#_USBIRQ
09C9 74 02 3439 mov a,#0x02
09CB F0 3440 movx @dptr,a
09CC D0 83 3441 pop dph
09CE D0 82 3442 pop dpl
09D0 D0 E0 3443 pop acc
09D2 32 3444 reti
3445 ; eliminated unneeded push/pop psw
3446 ; eliminated unneeded push/pop b
3447 ;------------------------------------------------------------
3448 ;Allocation info for local variables in function 'SUTOK_ISR'
3449 ;------------------------------------------------------------
3450 ;------------------------------------------------------------
3451 ; ../../../include/ztex-isr.h:334: void SUTOK_ISR() interrupt
3452 ; -----------------------------------------
3453 ; function SUTOK_ISR
3454 ; -----------------------------------------
09D3 3455 _SUTOK_ISR:
09D3 C0 E0 3456 push acc
09D5 C0 82 3457 push dpl
09D7 C0 83 3458 push dph
3459 ; ../../../include/ztex-isr.h:336: EXIF &= ~bmBIT4;
09D9 53 91 EF 3460 anl _EXIF,#0xEF
3461 ; ../../../include/ztex-isr.h:337: USBIRQ = bmBIT2;
09DC 90 E6 5D 3462 mov dptr,#_USBIRQ
09DF 74 04 3463 mov a,#0x04
09E1 F0 3464 movx @dptr,a
09E2 D0 83 3465 pop dph
09E4 D0 82 3466 pop dpl
09E6 D0 E0 3467 pop acc
09E8 32 3468 reti
3469 ; eliminated unneeded push/pop psw
3470 ; eliminated unneeded push/pop b
3471 ;------------------------------------------------------------
3472 ;Allocation info for local variables in function 'SUSP_ISR'
3473 ;------------------------------------------------------------
3474 ;------------------------------------------------------------
3475 ; ../../../include/ztex-isr.h:343: void SUSP_ISR() interrupt
3476 ; -----------------------------------------
3477 ; function SUSP_ISR
3478 ; -----------------------------------------
09E9 3479 _SUSP_ISR:
09E9 C0 E0 3480 push acc
09EB C0 82 3481 push dpl
09ED C0 83 3482 push dph
3483 ; ../../../include/ztex-isr.h:345: EXIF &= ~bmBIT4;
09EF 53 91 EF 3484 anl _EXIF,#0xEF
3485 ; ../../../include/ztex-isr.h:346: USBIRQ = bmBIT3;
09F2 90 E6 5D 3486 mov dptr,#_USBIRQ
09F5 74 08 3487 mov a,#0x08
09F7 F0 3488 movx @dptr,a
09F8 D0 83 3489 pop dph
09FA D0 82 3490 pop dpl
09FC D0 E0 3491 pop acc
09FE 32 3492 reti
3493 ; eliminated unneeded push/pop psw
3494 ; eliminated unneeded push/pop b
3495 ;------------------------------------------------------------
3496 ;Allocation info for local variables in function 'URES_ISR'
3497 ;------------------------------------------------------------
3498 ;------------------------------------------------------------
3499 ; ../../../include/ztex-isr.h:352: void URES_ISR() interrupt
3500 ; -----------------------------------------
3501 ; function URES_ISR
3502 ; -----------------------------------------
09FF 3503 _URES_ISR:
09FF C0 E0 3504 push acc
0A01 C0 82 3505 push dpl
0A03 C0 83 3506 push dph
3507 ; ../../../include/ztex-isr.h:354: EXIF &= ~bmBIT4;
0A05 53 91 EF 3508 anl _EXIF,#0xEF
3509 ; ../../../include/ztex-isr.h:355: USBIRQ = bmBIT4;
0A08 90 E6 5D 3510 mov dptr,#_USBIRQ
0A0B 74 10 3511 mov a,#0x10
0A0D F0 3512 movx @dptr,a
0A0E D0 83 3513 pop dph
0A10 D0 82 3514 pop dpl
0A12 D0 E0 3515 pop acc
0A14 32 3516 reti
3517 ; eliminated unneeded push/pop psw
3518 ; eliminated unneeded push/pop b
3519 ;------------------------------------------------------------
3520 ;Allocation info for local variables in function 'HSGRANT_ISR'
3521 ;------------------------------------------------------------
3522 ;------------------------------------------------------------
3523 ; ../../../include/ztex-isr.h:361: void HSGRANT_ISR() interrupt
3524 ; -----------------------------------------
3525 ; function HSGRANT_ISR
3526 ; -----------------------------------------
0A15 3527 _HSGRANT_ISR:
0A15 C0 E0 3528 push acc
0A17 C0 82 3529 push dpl
0A19 C0 83 3530 push dph
3531 ; ../../../include/ztex-isr.h:363: EXIF &= ~bmBIT4;
0A1B 53 91 EF 3532 anl _EXIF,#0xEF
3533 ; ../../../include/ztex-isr.h:364: USBIRQ = bmBIT5;
0A1E 90 E6 5D 3534 mov dptr,#_USBIRQ
0A21 74 20 3535 mov a,#0x20
0A23 F0 3536 movx @dptr,a
0A24 D0 83 3537 pop dph
0A26 D0 82 3538 pop dpl
0A28 D0 E0 3539 pop acc
0A2A 32 3540 reti
3541 ; eliminated unneeded push/pop psw
3542 ; eliminated unneeded push/pop b
3543 ;------------------------------------------------------------
3544 ;Allocation info for local variables in function 'EP0ACK_ISR'
3545 ;------------------------------------------------------------
3546 ;------------------------------------------------------------
3547 ; ../../../include/ztex-isr.h:370: void EP0ACK_ISR() interrupt
3548 ; -----------------------------------------
3549 ; function EP0ACK_ISR
3550 ; -----------------------------------------
0A2B 3551 _EP0ACK_ISR:
0A2B C0 E0 3552 push acc
0A2D C0 82 3553 push dpl
0A2F C0 83 3554 push dph
3555 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
0A31 53 91 EF 3556 anl _EXIF,#0xEF
0A34 90 E6 5D 3557 mov dptr,#_USBIRQ
0A37 74 40 3558 mov a,#0x40
0A39 F0 3559 movx @dptr,a
0A3A D0 83 3560 pop dph
0A3C D0 82 3561 pop dpl
0A3E D0 E0 3562 pop acc
0A40 32 3563 reti
3564 ; eliminated unneeded push/pop psw
3565 ; eliminated unneeded push/pop b
3566 ;------------------------------------------------------------
3567 ;Allocation info for local variables in function 'EP0IN_ISR'
3568 ;------------------------------------------------------------
3569 ;------------------------------------------------------------
3570 ; ../../../include/ztex-isr.h:379: static void EP0IN_ISR () interrupt
3571 ; -----------------------------------------
3572 ; function EP0IN_ISR
3573 ; -----------------------------------------
0A41 3574 _EP0IN_ISR:
0A41 C0*00 3575 push bits
0A43 C0 E0 3576 push acc
0A45 C0 F0 3577 push b
0A47 C0 82 3578 push dpl
0A49 C0 83 3579 push dph
0A4B C0 02 3580 push (0+2)
0A4D C0 03 3581 push (0+3)
0A4F C0 04 3582 push (0+4)
0A51 C0 05 3583 push (0+5)
0A53 C0 06 3584 push (0+6)
0A55 C0 07 3585 push (0+7)
0A57 C0 00 3586 push (0+0)
0A59 C0 01 3587 push (0+1)
0A5B C0 D0 3588 push psw
0A5D 75 D0 00 3589 mov psw,#0x00
3590 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
0A60 C2 E8 3591 clr _EUSB
3592 ; ../../../include/ztex-isr.h:382: ep0_payload_update();
0A62 12s04r5E 3593 lcall _ep0_payload_update
3594 ; ../../../include/ztex-isr.h:383: switch ( ep0_prev_setup_request ) {
0A65 90s00r03 3595 mov dptr,#_ep0_prev_setup_request
0A68 E0 3596 movx a,@dptr
0A69 FA 3597 mov r2,a
0A6A BA 28 02 3598 cjne r2,#0x28,00111$
0A6D 80 1A 3599 sjmp 00103$
0A6F 3600 00111$:
0A6F BA 38 02 3601 cjne r2,#0x38,00112$
0A72 80 05 3602 sjmp 00101$
0A74 3603 00112$:
3604 ; ../../../include/ztex-conf.h:95: case $0:
0A74 BA 3A 22 3605 cjne r2,#0x3A,00104$
0A77 80 29 3606 sjmp 00105$
0A79 3607 00101$:
3608 ; ../../../include/ztex-eeprom.h:219: EP0BCH = 0;
0A79 90 E6 8A 3609 mov dptr,#_EP0BCH
0A7C E4 3610 clr a
0A7D F0 3611 movx @dptr,a
3612 ; ../../../include/ztex-eeprom.h:220: EP0BCL = eeprom_read_ep0();
0A7E 12s02rF0 3613 lcall _eeprom_read_ep0
0A81 E5 82 3614 mov a,dpl
0A83 90 E6 8B 3615 mov dptr,#_EP0BCL
0A86 F0 3616 movx @dptr,a
3617 ; ../../../include/ztex-conf.h:97: break;
3618 ; ../../../include/ztex-conf.h:95: case $0:
0A87 80 19 3619 sjmp 00105$
0A89 3620 00103$:
3621 ; ../../../include/ztex-debug.h:86: EP0BCH = 0;
0A89 90 E6 8A 3622 mov dptr,#_EP0BCH
0A8C E4 3623 clr a
0A8D F0 3624 movx @dptr,a
3625 ; ../../../include/ztex-debug.h:87: EP0BCL = debug_read_ep0();
0A8E 12s03rB3 3626 lcall _debug_read_ep0
0A91 E5 82 3627 mov a,dpl
0A93 90 E6 8B 3628 mov dptr,#_EP0BCL
0A96 F0 3629 movx @dptr,a
3630 ; ../../../include/ztex-conf.h:97: break;
3631 ; ../../../include/ztex-isr.h:385: default:
0A97 80 09 3632 sjmp 00105$
0A99 3633 00104$:
3634 ; ../../../include/ztex-isr.h:386: EP0BCH = 0;
0A99 90 E6 8A 3635 mov dptr,#_EP0BCH
3636 ; ../../../include/ztex-isr.h:387: EP0BCL = 0;
0A9C E4 3637 clr a
0A9D F0 3638 movx @dptr,a
0A9E 90 E6 8B 3639 mov dptr,#_EP0BCL
0AA1 F0 3640 movx @dptr,a
3641 ; ../../../include/ztex-isr.h:388: }
0AA2 3642 00105$:
3643 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
0AA2 53 91 EF 3644 anl _EXIF,#0xEF
0AA5 90 E6 5F 3645 mov dptr,#_EPIRQ
0AA8 74 01 3646 mov a,#0x01
0AAA F0 3647 movx @dptr,a
3648 ; ../../../include/ztex-isr.h:391: EUSB = 1;
0AAB D2 E8 3649 setb _EUSB
0AAD D0 D0 3650 pop psw
0AAF D0 01 3651 pop (0+1)
0AB1 D0 00 3652 pop (0+0)
0AB3 D0 07 3653 pop (0+7)
0AB5 D0 06 3654 pop (0+6)
0AB7 D0 05 3655 pop (0+5)
0AB9 D0 04 3656 pop (0+4)
0ABB D0 03 3657 pop (0+3)
0ABD D0 02 3658 pop (0+2)
0ABF D0 83 3659 pop dph
0AC1 D0 82 3660 pop dpl
0AC3 D0 F0 3661 pop b
0AC5 D0 E0 3662 pop acc
0AC7 D0*00 3663 pop bits
0AC9 32 3664 reti
3665 ;------------------------------------------------------------
3666 ;Allocation info for local variables in function 'EP0OUT_ISR'
3667 ;------------------------------------------------------------
3668 ;------------------------------------------------------------
3669 ; ../../../include/ztex-isr.h:397: static void EP0OUT_ISR () interrupt
3670 ; -----------------------------------------
3671 ; function EP0OUT_ISR
3672 ; -----------------------------------------
0ACA 3673 _EP0OUT_ISR:
0ACA C0*00 3674 push bits
0ACC C0 E0 3675 push acc
0ACE C0 F0 3676 push b
0AD0 C0 82 3677 push dpl
0AD2 C0 83 3678 push dph
0AD4 C0 02 3679 push (0+2)
0AD6 C0 03 3680 push (0+3)
0AD8 C0 04 3681 push (0+4)
0ADA C0 05 3682 push (0+5)
0ADC C0 06 3683 push (0+6)
0ADE C0 07 3684 push (0+7)
0AE0 C0 00 3685 push (0+0)
0AE2 C0 01 3686 push (0+1)
0AE4 C0 D0 3687 push psw
0AE6 75 D0 00 3688 mov psw,#0x00
3689 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
0AE9 C2 E8 3690 clr _EUSB
3691 ; ../../../include/ztex-isr.h:400: if ( ep0_vendor_cmd_setup ) {
0AEB 90s00r04 3692 mov dptr,#_ep0_vendor_cmd_setup
0AEE E0 3693 movx a,@dptr
0AEF FA 3694 mov r2,a
0AF0 60 20 3695 jz 00102$
3696 ; ../../../include/ztex-isr.h:401: ep0_vendor_cmd_setup = 0;
0AF2 90s00r04 3697 mov dptr,#_ep0_vendor_cmd_setup
0AF5 E4 3698 clr a
0AF6 F0 3699 movx @dptr,a
3700 ; ../../../include/ztex-isr.h:402: ep0_payload_remaining = (SETUPDAT[7] << 8) | SETUPDAT[6];
0AF7 90 E6 BF 3701 mov dptr,#(_SETUPDAT + 0x0007)
0AFA E0 3702 movx a,@dptr
0AFB FB 3703 mov r3,a
0AFC 7A 00 3704 mov r2,#0x00
0AFE 90 E6 BE 3705 mov dptr,#(_SETUPDAT + 0x0006)
0B01 E0 3706 movx a,@dptr
0B02 FC 3707 mov r4,a
0B03 7D 00 3708 mov r5,#0x00
0B05 90s00r00 3709 mov dptr,#_ep0_payload_remaining
0B08 EC 3710 mov a,r4
0B09 4A 3711 orl a,r2
0B0A F0 3712 movx @dptr,a
0B0B ED 3713 mov a,r5
0B0C 4B 3714 orl a,r3
0B0D A3 3715 inc dptr
0B0E F0 3716 movx @dptr,a
3717 ; ../../../include/ztex-isr.h:403: ep0_vendor_cmd_su();
0B0F 12s04r8B 3718 lcall _ep0_vendor_cmd_su
0B12 3719 00102$:
3720 ; ../../../include/ztex-isr.h:406: ep0_payload_update();
0B12 12s04r5E 3721 lcall _ep0_payload_update
3722 ; ../../../include/ztex-isr.h:408: switch ( ep0_prev_setup_request ) {
0B15 90s00r03 3723 mov dptr,#_ep0_prev_setup_request
0B18 E0 3724 movx a,@dptr
0B19 FA 3725 mov r2,a
0B1A BA 39 09 3726 cjne r2,#0x39,00104$
3727 ; ../../../include/ztex-eeprom.h:237: eeprom_write_ep0(EP0BCL);
0B1D 90 E6 8B 3728 mov dptr,#_EP0BCL
0B20 E0 3729 movx a,@dptr
0B21 F5 82 3730 mov dpl,a
0B23 12s03r24 3731 lcall _eeprom_write_ep0
3732 ; ../../../include/ztex-isr.h:410: }
0B26 3733 00104$:
3734 ; ../../../include/ztex-isr.h:412: EP0BCL = 0;
0B26 90 E6 8B 3735 mov dptr,#_EP0BCL
0B29 E4 3736 clr a
0B2A F0 3737 movx @dptr,a
3738 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
0B2B 53 91 EF 3739 anl _EXIF,#0xEF
0B2E 90 E6 5F 3740 mov dptr,#_EPIRQ
0B31 74 02 3741 mov a,#0x02
0B33 F0 3742 movx @dptr,a
3743 ; ../../../include/ztex-isr.h:416: if ( ep0_payload_remaining == 0 ) {
0B34 90s00r00 3744 mov dptr,#_ep0_payload_remaining
0B37 E0 3745 movx a,@dptr
0B38 FA 3746 mov r2,a
0B39 A3 3747 inc dptr
0B3A E0 3748 movx a,@dptr
0B3B FB 3749 mov r3,a
0B3C 4A 3750 orl a,r2
0B3D 70 08 3751 jnz 00106$
3752 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
0B3F 90 E6 A0 3753 mov dptr,#_EP0CS
0B42 E0 3754 movx a,@dptr
0B43 FA 3755 mov r2,a
0B44 44 80 3756 orl a,#0x80
0B46 F0 3757 movx @dptr,a
0B47 3758 00106$:
3759 ; ../../../include/ztex-isr.h:419: EUSB = 1;
0B47 D2 E8 3760 setb _EUSB
0B49 D0 D0 3761 pop psw
0B4B D0 01 3762 pop (0+1)
0B4D D0 00 3763 pop (0+0)
0B4F D0 07 3764 pop (0+7)
0B51 D0 06 3765 pop (0+6)
0B53 D0 05 3766 pop (0+5)
0B55 D0 04 3767 pop (0+4)
0B57 D0 03 3768 pop (0+3)
0B59 D0 02 3769 pop (0+2)
0B5B D0 83 3770 pop dph
0B5D D0 82 3771 pop dpl
0B5F D0 F0 3772 pop b
0B61 D0 E0 3773 pop acc
0B63 D0*00 3774 pop bits
0B65 32 3775 reti
3776 ;------------------------------------------------------------
3777 ;Allocation info for local variables in function 'EP1IN_ISR'
3778 ;------------------------------------------------------------
3779 ;------------------------------------------------------------
3780 ; ../../../include/ztex-isr.h:426: void EP1IN_ISR() interrupt
3781 ; -----------------------------------------
3782 ; function EP1IN_ISR
3783 ; -----------------------------------------
0B66 3784 _EP1IN_ISR:
0B66 C0 E0 3785 push acc
0B68 C0 82 3786 push dpl
0B6A C0 83 3787 push dph
3788 ; ../../../include/ztex-isr.h:428: EXIF &= ~bmBIT4;
0B6C 53 91 EF 3789 anl _EXIF,#0xEF
3790 ; ../../../include/ztex-isr.h:429: EPIRQ = bmBIT2;
0B6F 90 E6 5F 3791 mov dptr,#_EPIRQ
0B72 74 04 3792 mov a,#0x04
0B74 F0 3793 movx @dptr,a
0B75 D0 83 3794 pop dph
0B77 D0 82 3795 pop dpl
0B79 D0 E0 3796 pop acc
0B7B 32 3797 reti
3798 ; eliminated unneeded push/pop psw
3799 ; eliminated unneeded push/pop b
3800 ;------------------------------------------------------------
3801 ;Allocation info for local variables in function 'EP1OUT_ISR'
3802 ;------------------------------------------------------------
3803 ;------------------------------------------------------------
3804 ; ../../../include/ztex-isr.h:436: void EP1OUT_ISR() interrupt
3805 ; -----------------------------------------
3806 ; function EP1OUT_ISR
3807 ; -----------------------------------------
0B7C 3808 _EP1OUT_ISR:
0B7C C0 E0 3809 push acc
0B7E C0 82 3810 push dpl
0B80 C0 83 3811 push dph
3812 ; ../../../include/ztex-isr.h:438: EXIF &= ~bmBIT4;
0B82 53 91 EF 3813 anl _EXIF,#0xEF
3814 ; ../../../include/ztex-isr.h:439: EPIRQ = bmBIT3;
0B85 90 E6 5F 3815 mov dptr,#_EPIRQ
0B88 74 08 3816 mov a,#0x08
0B8A F0 3817 movx @dptr,a
0B8B D0 83 3818 pop dph
0B8D D0 82 3819 pop dpl
0B8F D0 E0 3820 pop acc
0B91 32 3821 reti
3822 ; eliminated unneeded push/pop psw
3823 ; eliminated unneeded push/pop b
3824 ;------------------------------------------------------------
3825 ;Allocation info for local variables in function 'EP2_ISR'
3826 ;------------------------------------------------------------
3827 ;------------------------------------------------------------
3828 ; ../../../include/ztex-isr.h:445: void EP2_ISR() interrupt
3829 ; -----------------------------------------
3830 ; function EP2_ISR
3831 ; -----------------------------------------
0B92 3832 _EP2_ISR:
0B92 C0 E0 3833 push acc
0B94 C0 82 3834 push dpl
0B96 C0 83 3835 push dph
3836 ; ../../../include/ztex-isr.h:447: EXIF &= ~bmBIT4;
0B98 53 91 EF 3837 anl _EXIF,#0xEF
3838 ; ../../../include/ztex-isr.h:448: EPIRQ = bmBIT4;
0B9B 90 E6 5F 3839 mov dptr,#_EPIRQ
0B9E 74 10 3840 mov a,#0x10
0BA0 F0 3841 movx @dptr,a
0BA1 D0 83 3842 pop dph
0BA3 D0 82 3843 pop dpl
0BA5 D0 E0 3844 pop acc
0BA7 32 3845 reti
3846 ; eliminated unneeded push/pop psw
3847 ; eliminated unneeded push/pop b
3848 ;------------------------------------------------------------
3849 ;Allocation info for local variables in function 'EP4_ISR'
3850 ;------------------------------------------------------------
3851 ;------------------------------------------------------------
3852 ; ../../../include/ztex-isr.h:454: void EP4_ISR() interrupt
3853 ; -----------------------------------------
3854 ; function EP4_ISR
3855 ; -----------------------------------------
0BA8 3856 _EP4_ISR:
0BA8 C0 E0 3857 push acc
0BAA C0 82 3858 push dpl
0BAC C0 83 3859 push dph
3860 ; ../../../include/ztex-isr.h:456: EXIF &= ~bmBIT4;
0BAE 53 91 EF 3861 anl _EXIF,#0xEF
3862 ; ../../../include/ztex-isr.h:457: EPIRQ = bmBIT5;
0BB1 90 E6 5F 3863 mov dptr,#_EPIRQ
0BB4 74 20 3864 mov a,#0x20
0BB6 F0 3865 movx @dptr,a
0BB7 D0 83 3866 pop dph
0BB9 D0 82 3867 pop dpl
0BBB D0 E0 3868 pop acc
0BBD 32 3869 reti
3870 ; eliminated unneeded push/pop psw
3871 ; eliminated unneeded push/pop b
3872 ;------------------------------------------------------------
3873 ;Allocation info for local variables in function 'EP6_ISR'
3874 ;------------------------------------------------------------
3875 ;------------------------------------------------------------
3876 ; ../../../include/ztex-isr.h:463: void EP6_ISR() interrupt
3877 ; -----------------------------------------
3878 ; function EP6_ISR
3879 ; -----------------------------------------
0BBE 3880 _EP6_ISR:
0BBE C0 E0 3881 push acc
0BC0 C0 82 3882 push dpl
0BC2 C0 83 3883 push dph
3884 ; ../../../include/ztex-isr.h:465: EXIF &= ~bmBIT4;
0BC4 53 91 EF 3885 anl _EXIF,#0xEF
3886 ; ../../../include/ztex-isr.h:466: EPIRQ = bmBIT6;
0BC7 90 E6 5F 3887 mov dptr,#_EPIRQ
0BCA 74 40 3888 mov a,#0x40
0BCC F0 3889 movx @dptr,a
0BCD D0 83 3890 pop dph
0BCF D0 82 3891 pop dpl
0BD1 D0 E0 3892 pop acc
0BD3 32 3893 reti
3894 ; eliminated unneeded push/pop psw
3895 ; eliminated unneeded push/pop b
3896 ;------------------------------------------------------------
3897 ;Allocation info for local variables in function 'EP8_ISR'
3898 ;------------------------------------------------------------
3899 ;------------------------------------------------------------
3900 ; ../../../include/ztex-isr.h:472: void EP8_ISR() interrupt
3901 ; -----------------------------------------
3902 ; function EP8_ISR
3903 ; -----------------------------------------
0BD4 3904 _EP8_ISR:
0BD4 C0 E0 3905 push acc
0BD6 C0 82 3906 push dpl
0BD8 C0 83 3907 push dph
3908 ; ../../../include/ztex-isr.h:474: EXIF &= ~bmBIT4;
0BDA 53 91 EF 3909 anl _EXIF,#0xEF
3910 ; ../../../include/ztex-isr.h:475: EPIRQ = bmBIT7;
0BDD 90 E6 5F 3911 mov dptr,#_EPIRQ
0BE0 74 80 3912 mov a,#0x80
0BE2 F0 3913 movx @dptr,a
0BE3 D0 83 3914 pop dph
0BE5 D0 82 3915 pop dpl
0BE7 D0 E0 3916 pop acc
0BE9 32 3917 reti
3918 ; eliminated unneeded push/pop psw
3919 ; eliminated unneeded push/pop b
3920 ;------------------------------------------------------------
3921 ;Allocation info for local variables in function 'init_USB'
3922 ;------------------------------------------------------------
3923 ;------------------------------------------------------------
3924 ; ../../../include/ztex.h:165: void init_USB ()
3925 ; -----------------------------------------
3926 ; function init_USB
3927 ; -----------------------------------------
0BEA 3928 _init_USB:
3929 ; ../../../include/ztex.h:167: USBCS |= 0x08;
0BEA 90 E6 80 3930 mov dptr,#_USBCS
0BED E0 3931 movx a,@dptr
0BEE 44 08 3932 orl a,#0x08
0BF0 F0 3933 movx @dptr,a
3934 ; ../../../include/ztex.h:169: CPUCS = bmBIT4 | bmBIT1;
0BF1 90 E6 00 3935 mov dptr,#_CPUCS
0BF4 74 12 3936 mov a,#0x12
0BF6 F0 3937 movx @dptr,a
3938 ; ../../../include/ztex.h:170: CKCON &= ~7;
0BF7 53 8E F8 3939 anl _CKCON,#0xF8
3940 ; ../../../include/ztex.h:191: EA = 0;
0BFA C2 AF 3941 clr _EA
3942 ; ../../../include/ztex.h:192: EUSB = 0;
0BFC C2 E8 3943 clr _EUSB
3944 ; ../../../include/ezintavecs.h:123: INT8VEC_USB.op=0x02;
0BFE 90 00 43 3945 mov dptr,#_INT8VEC_USB
0C01 74 02 3946 mov a,#0x02
0C03 F0 3947 movx @dptr,a
3948 ; ../../../include/ezintavecs.h:124: INT8VEC_USB.addrH = 0x01;
0C04 90 00 44 3949 mov dptr,#(_INT8VEC_USB + 0x0001)
0C07 74 01 3950 mov a,#0x01
0C09 F0 3951 movx @dptr,a
3952 ; ../../../include/ezintavecs.h:125: INT8VEC_USB.addrL = 0xb8;
0C0A 90 00 45 3953 mov dptr,#(_INT8VEC_USB + 0x0002)
0C0D 74 B8 3954 mov a,#0xB8
0C0F F0 3955 movx @dptr,a
3956 ; ../../../include/ezintavecs.h:126: INTSETUP |= 8;
0C10 90 E6 68 3957 mov dptr,#_INTSETUP
0C13 E0 3958 movx a,@dptr
0C14 44 08 3959 orl a,#0x08
0C16 F0 3960 movx @dptr,a
3961 ; ../../../include/ezintavecs.h:115: $0.op=0x02;
0C17 90 01 00 3962 mov dptr,#_INTVEC_SUDAV
0C1A 74 02 3963 mov a,#0x02
0C1C F0 3964 movx @dptr,a
3965 ; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
0C1D 7ArBF 3966 mov r2,#_SUDAV_ISR
0C1F 7Bs04 3967 mov r3,#(_SUDAV_ISR >> 8)
0C21 8B 04 3968 mov ar4,r3
0C23 90 01 01 3969 mov dptr,#(_INTVEC_SUDAV + 0x0001)
0C26 EC 3970 mov a,r4
0C27 F0 3971 movx @dptr,a
3972 ; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
0C28 90 01 02 3973 mov dptr,#(_INTVEC_SUDAV + 0x0002)
0C2B EA 3974 mov a,r2
0C2C F0 3975 movx @dptr,a
3976 ; ../../../include/ezintavecs.h:115: $0.op=0x02;
0C2D 90 01 04 3977 mov dptr,#_INTVEC_SOF
0C30 74 02 3978 mov a,#0x02
0C32 F0 3979 movx @dptr,a
3980 ; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
0C33 7ArBD 3981 mov r2,#_SOF_ISR
0C35 7Bs09 3982 mov r3,#(_SOF_ISR >> 8)
0C37 8B 04 3983 mov ar4,r3
0C39 90 01 05 3984 mov dptr,#(_INTVEC_SOF + 0x0001)
0C3C EC 3985 mov a,r4
0C3D F0 3986 movx @dptr,a
3987 ; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
0C3E 90 01 06 3988 mov dptr,#(_INTVEC_SOF + 0x0002)
0C41 EA 3989 mov a,r2
0C42 F0 3990 movx @dptr,a
3991 ; ../../../include/ezintavecs.h:115: $0.op=0x02;
0C43 90 01 08 3992 mov dptr,#_INTVEC_SUTOK
0C46 74 02 3993 mov a,#0x02
0C48 F0 3994 movx @dptr,a
3995 ; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
0C49 7ArD3 3996 mov r2,#_SUTOK_ISR
0C4B 7Bs09 3997 mov r3,#(_SUTOK_ISR >> 8)
0C4D 8B 04 3998 mov ar4,r3
0C4F 90 01 09 3999 mov dptr,#(_INTVEC_SUTOK + 0x0001)
0C52 EC 4000 mov a,r4
0C53 F0 4001 movx @dptr,a
4002 ; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
0C54 90 01 0A 4003 mov dptr,#(_INTVEC_SUTOK + 0x0002)
0C57 EA 4004 mov a,r2
0C58 F0 4005 movx @dptr,a
4006 ; ../../../include/ezintavecs.h:115: $0.op=0x02;
0C59 90 01 0C 4007 mov dptr,#_INTVEC_SUSPEND
0C5C 74 02 4008 mov a,#0x02
0C5E F0 4009 movx @dptr,a
4010 ; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
0C5F 7ArE9 4011 mov r2,#_SUSP_ISR
0C61 7Bs09 4012 mov r3,#(_SUSP_ISR >> 8)
0C63 8B 04 4013 mov ar4,r3
0C65 90 01 0D 4014 mov dptr,#(_INTVEC_SUSPEND + 0x0001)
0C68 EC 4015 mov a,r4
0C69 F0 4016 movx @dptr,a
4017 ; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
0C6A 90 01 0E 4018 mov dptr,#(_INTVEC_SUSPEND + 0x0002)
0C6D EA 4019 mov a,r2
0C6E F0 4020 movx @dptr,a
4021 ; ../../../include/ezintavecs.h:115: $0.op=0x02;
0C6F 90 01 10 4022 mov dptr,#_INTVEC_USBRESET
0C72 74 02 4023 mov a,#0x02
0C74 F0 4024 movx @dptr,a
4025 ; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
0C75 7ArFF 4026 mov r2,#_URES_ISR
0C77 7Bs09 4027 mov r3,#(_URES_ISR >> 8)
0C79 8B 04 4028 mov ar4,r3
0C7B 90 01 11 4029 mov dptr,#(_INTVEC_USBRESET + 0x0001)
0C7E EC 4030 mov a,r4
0C7F F0 4031 movx @dptr,a
4032 ; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
0C80 90 01 12 4033 mov dptr,#(_INTVEC_USBRESET + 0x0002)
0C83 EA 4034 mov a,r2
0C84 F0 4035 movx @dptr,a
4036 ; ../../../include/ezintavecs.h:115: $0.op=0x02;
0C85 90 01 14 4037 mov dptr,#_INTVEC_HISPEED
0C88 74 02 4038 mov a,#0x02
0C8A F0 4039 movx @dptr,a
4040 ; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
0C8B 7Ar15 4041 mov r2,#_HSGRANT_ISR
0C8D 7Bs0A 4042 mov r3,#(_HSGRANT_ISR >> 8)
0C8F 8B 04 4043 mov ar4,r3
0C91 90 01 15 4044 mov dptr,#(_INTVEC_HISPEED + 0x0001)
0C94 EC 4045 mov a,r4
0C95 F0 4046 movx @dptr,a
4047 ; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
0C96 90 01 16 4048 mov dptr,#(_INTVEC_HISPEED + 0x0002)
0C99 EA 4049 mov a,r2
0C9A F0 4050 movx @dptr,a
4051 ; ../../../include/ezintavecs.h:115: $0.op=0x02;
0C9B 90 01 18 4052 mov dptr,#_INTVEC_EP0ACK
0C9E 74 02 4053 mov a,#0x02
0CA0 F0 4054 movx @dptr,a
4055 ; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
0CA1 7Ar2B 4056 mov r2,#_EP0ACK_ISR
0CA3 7Bs0A 4057 mov r3,#(_EP0ACK_ISR >> 8)
0CA5 8B 04 4058 mov ar4,r3
0CA7 90 01 19 4059 mov dptr,#(_INTVEC_EP0ACK + 0x0001)
0CAA EC 4060 mov a,r4
0CAB F0 4061 movx @dptr,a
4062 ; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
0CAC 90 01 1A 4063 mov dptr,#(_INTVEC_EP0ACK + 0x0002)
0CAF EA 4064 mov a,r2
0CB0 F0 4065 movx @dptr,a
4066 ; ../../../include/ezintavecs.h:115: $0.op=0x02;
0CB1 90 01 20 4067 mov dptr,#_INTVEC_EP0IN
0CB4 74 02 4068 mov a,#0x02
0CB6 F0 4069 movx @dptr,a
4070 ; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
0CB7 7Ar41 4071 mov r2,#_EP0IN_ISR
0CB9 7Bs0A 4072 mov r3,#(_EP0IN_ISR >> 8)
0CBB 8B 04 4073 mov ar4,r3
0CBD 90 01 21 4074 mov dptr,#(_INTVEC_EP0IN + 0x0001)
0CC0 EC 4075 mov a,r4
0CC1 F0 4076 movx @dptr,a
4077 ; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
0CC2 90 01 22 4078 mov dptr,#(_INTVEC_EP0IN + 0x0002)
0CC5 EA 4079 mov a,r2
0CC6 F0 4080 movx @dptr,a
4081 ; ../../../include/ezintavecs.h:115: $0.op=0x02;
0CC7 90 01 24 4082 mov dptr,#_INTVEC_EP0OUT
0CCA 74 02 4083 mov a,#0x02
0CCC F0 4084 movx @dptr,a
4085 ; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
0CCD 7ArCA 4086 mov r2,#_EP0OUT_ISR
0CCF 7Bs0A 4087 mov r3,#(_EP0OUT_ISR >> 8)
0CD1 8B 04 4088 mov ar4,r3
0CD3 90 01 25 4089 mov dptr,#(_INTVEC_EP0OUT + 0x0001)
0CD6 EC 4090 mov a,r4
0CD7 F0 4091 movx @dptr,a
4092 ; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
0CD8 90 01 26 4093 mov dptr,#(_INTVEC_EP0OUT + 0x0002)
0CDB EA 4094 mov a,r2
0CDC F0 4095 movx @dptr,a
4096 ; ../../../include/ezintavecs.h:115: $0.op=0x02;
0CDD 90 01 28 4097 mov dptr,#_INTVEC_EP1IN
0CE0 74 02 4098 mov a,#0x02
0CE2 F0 4099 movx @dptr,a
4100 ; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
0CE3 7Ar66 4101 mov r2,#_EP1IN_ISR
0CE5 7Bs0B 4102 mov r3,#(_EP1IN_ISR >> 8)
0CE7 8B 04 4103 mov ar4,r3
0CE9 90 01 29 4104 mov dptr,#(_INTVEC_EP1IN + 0x0001)
0CEC EC 4105 mov a,r4
0CED F0 4106 movx @dptr,a
4107 ; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
0CEE 90 01 2A 4108 mov dptr,#(_INTVEC_EP1IN + 0x0002)
0CF1 EA 4109 mov a,r2
0CF2 F0 4110 movx @dptr,a
4111 ; ../../../include/ezintavecs.h:115: $0.op=0x02;
0CF3 90 01 2C 4112 mov dptr,#_INTVEC_EP1OUT
0CF6 74 02 4113 mov a,#0x02
0CF8 F0 4114 movx @dptr,a
4115 ; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
0CF9 7Ar7C 4116 mov r2,#_EP1OUT_ISR
0CFB 7Bs0B 4117 mov r3,#(_EP1OUT_ISR >> 8)
0CFD 8B 04 4118 mov ar4,r3
0CFF 90 01 2D 4119 mov dptr,#(_INTVEC_EP1OUT + 0x0001)
0D02 EC 4120 mov a,r4
0D03 F0 4121 movx @dptr,a
4122 ; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
0D04 90 01 2E 4123 mov dptr,#(_INTVEC_EP1OUT + 0x0002)
0D07 EA 4124 mov a,r2
0D08 F0 4125 movx @dptr,a
4126 ; ../../../include/ezintavecs.h:115: $0.op=0x02;
0D09 90 01 30 4127 mov dptr,#_INTVEC_EP2
0D0C 74 02 4128 mov a,#0x02
0D0E F0 4129 movx @dptr,a
4130 ; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
0D0F 7Ar92 4131 mov r2,#_EP2_ISR
0D11 7Bs0B 4132 mov r3,#(_EP2_ISR >> 8)
0D13 8B 04 4133 mov ar4,r3
0D15 90 01 31 4134 mov dptr,#(_INTVEC_EP2 + 0x0001)
0D18 EC 4135 mov a,r4
0D19 F0 4136 movx @dptr,a
4137 ; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
0D1A 90 01 32 4138 mov dptr,#(_INTVEC_EP2 + 0x0002)
0D1D EA 4139 mov a,r2
0D1E F0 4140 movx @dptr,a
4141 ; ../../../include/ezintavecs.h:115: $0.op=0x02;
0D1F 90 01 34 4142 mov dptr,#_INTVEC_EP4
0D22 74 02 4143 mov a,#0x02
0D24 F0 4144 movx @dptr,a
4145 ; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
0D25 7ArA8 4146 mov r2,#_EP4_ISR
0D27 7Bs0B 4147 mov r3,#(_EP4_ISR >> 8)
0D29 8B 04 4148 mov ar4,r3
0D2B 90 01 35 4149 mov dptr,#(_INTVEC_EP4 + 0x0001)
0D2E EC 4150 mov a,r4
0D2F F0 4151 movx @dptr,a
4152 ; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
0D30 90 01 36 4153 mov dptr,#(_INTVEC_EP4 + 0x0002)
0D33 EA 4154 mov a,r2
0D34 F0 4155 movx @dptr,a
4156 ; ../../../include/ezintavecs.h:115: $0.op=0x02;
0D35 90 01 38 4157 mov dptr,#_INTVEC_EP6
0D38 74 02 4158 mov a,#0x02
0D3A F0 4159 movx @dptr,a
4160 ; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
0D3B 7ArBE 4161 mov r2,#_EP6_ISR
0D3D 7Bs0B 4162 mov r3,#(_EP6_ISR >> 8)
0D3F 8B 04 4163 mov ar4,r3
0D41 90 01 39 4164 mov dptr,#(_INTVEC_EP6 + 0x0001)
0D44 EC 4165 mov a,r4
0D45 F0 4166 movx @dptr,a
4167 ; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
0D46 90 01 3A 4168 mov dptr,#(_INTVEC_EP6 + 0x0002)
0D49 EA 4169 mov a,r2
0D4A F0 4170 movx @dptr,a
4171 ; ../../../include/ezintavecs.h:115: $0.op=0x02;
0D4B 90 01 3C 4172 mov dptr,#_INTVEC_EP8
0D4E 74 02 4173 mov a,#0x02
0D50 F0 4174 movx @dptr,a
4175 ; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
0D51 7ArD4 4176 mov r2,#_EP8_ISR
0D53 7Bs0B 4177 mov r3,#(_EP8_ISR >> 8)
0D55 8B 04 4178 mov ar4,r3
0D57 90 01 3D 4179 mov dptr,#(_INTVEC_EP8 + 0x0001)
0D5A EC 4180 mov a,r4
0D5B F0 4181 movx @dptr,a
4182 ; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
0D5C 90 01 3E 4183 mov dptr,#(_INTVEC_EP8 + 0x0002)
0D5F EA 4184 mov a,r2
0D60 F0 4185 movx @dptr,a
4186 ; ../../../include/ztex.h:213: EXIF &= ~bmBIT4;
0D61 53 91 EF 4187 anl _EXIF,#0xEF
4188 ; ../../../include/ztex.h:214: USBIRQ = 0x7f;
0D64 90 E6 5D 4189 mov dptr,#_USBIRQ
0D67 74 7F 4190 mov a,#0x7F
0D69 F0 4191 movx @dptr,a
4192 ; ../../../include/ztex.h:215: USBIE |= 0x7f;
0D6A 90 E6 5C 4193 mov dptr,#_USBIE
0D6D E0 4194 movx a,@dptr
0D6E FA 4195 mov r2,a
0D6F 44 7F 4196 orl a,#0x7F
0D71 F0 4197 movx @dptr,a
4198 ; ../../../include/ztex.h:216: EPIRQ = 0xff;
0D72 90 E6 5F 4199 mov dptr,#_EPIRQ
0D75 74 FF 4200 mov a,#0xFF
0D77 F0 4201 movx @dptr,a
4202 ; ../../../include/ztex.h:217: EPIE = 0xff;
0D78 90 E6 5E 4203 mov dptr,#_EPIE
0D7B 74 FF 4204 mov a,#0xFF
0D7D F0 4205 movx @dptr,a
4206 ; ../../../include/ztex.h:219: EUSB = 1;
0D7E D2 E8 4207 setb _EUSB
4208 ; ../../../include/ztex.h:220: EA = 1;
0D80 D2 AF 4209 setb _EA
4210 ; ../../../include/ztex.h:154: EP$0CFG = bmBIT7 | bmBIT5;
0D82 90 E6 11 4211 mov dptr,#_EP1INCFG
0D85 74 A0 4212 mov a,#0xA0
0D87 F0 4213 movx @dptr,a
4214 ; ../../../include/ezregs.h:46: _endasm;
4215
0D88 00 4216 nop
0D89 00 4217 nop
0D8A 00 4218 nop
0D8B 00 4219 nop
4220
4221 ; ../../../include/ztex.h:154: EP$0CFG = bmBIT7 | bmBIT5;
0D8C 90 E6 10 4222 mov dptr,#_EP1OUTCFG
0D8F 74 A0 4223 mov a,#0xA0
0D91 F0 4224 movx @dptr,a
4225 ; ../../../include/ezregs.h:46: _endasm;
4226
0D92 00 4227 nop
0D93 00 4228 nop
0D94 00 4229 nop
0D95 00 4230 nop
4231
4232 ; ../../../include/ztex.h:149: ;
0D96 90 E6 12 4233 mov dptr,#_EP2CFG
0D99 E4 4234 clr a
0D9A F0 4235 movx @dptr,a
4236 ; ../../../include/ezregs.h:46: _endasm;
4237
0D9B 00 4238 nop
0D9C 00 4239 nop
0D9D 00 4240 nop
0D9E 00 4241 nop
4242
4243 ; ../../../include/ztex.h:149: ;
0D9F 90 E6 13 4244 mov dptr,#_EP4CFG
0DA2 E4 4245 clr a
0DA3 F0 4246 movx @dptr,a
4247 ; ../../../include/ezregs.h:46: _endasm;
4248
0DA4 00 4249 nop
0DA5 00 4250 nop
0DA6 00 4251 nop
0DA7 00 4252 nop
4253
4254 ; ../../../include/ztex.h:149: ;
0DA8 90 E6 14 4255 mov dptr,#_EP6CFG
0DAB E4 4256 clr a
0DAC F0 4257 movx @dptr,a
4258 ; ../../../include/ezregs.h:46: _endasm;
4259
0DAD 00 4260 nop
0DAE 00 4261 nop
0DAF 00 4262 nop
0DB0 00 4263 nop
4264
4265 ; ../../../include/ztex.h:149: ;
0DB1 90 E6 15 4266 mov dptr,#_EP8CFG
0DB4 E4 4267 clr a
0DB5 F0 4268 movx @dptr,a
4269 ; ../../../include/ezregs.h:46: _endasm;
4270
0DB6 00 4271 nop
0DB7 00 4272 nop
0DB8 00 4273 nop
0DB9 00 4274 nop
4275
4276 ; ../../../include/ztex.h:236: debug_init();
0DBA 12s03r95 4277 lcall _debug_init
4278 ; ../../../include/ztex.h:239: USBCS |= bmBIT7 | bmBIT1;
0DBD 90 E6 80 4279 mov dptr,#_USBCS
0DC0 E0 4280 movx a,@dptr
0DC1 44 82 4281 orl a,#0x82
0DC3 F0 4282 movx @dptr,a
4283 ; ../../../include/ztex.h:240: wait(250);
0DC4 90 00 FA 4284 mov dptr,#0x00FA
0DC7 12s00r00 4285 lcall _wait
4286 ; ../../../include/ztex.h:241: USBCS &= ~0x08;
0DCA 90 E6 80 4287 mov dptr,#_USBCS
0DCD E0 4288 movx a,@dptr
0DCE 54 F7 4289 anl a,#0xF7
0DD0 F0 4290 movx @dptr,a
0DD1 22 4291 ret
4292 ;------------------------------------------------------------
4293 ;Allocation info for local variables in function 'main'
4294 ;------------------------------------------------------------
4295 ;i Allocated to registers
4296 ;b Allocated to registers r4
4297 ;------------------------------------------------------------
4298 ; debug.c:32: void main(void)
4299 ; -----------------------------------------
4300 ; function main
4301 ; -----------------------------------------
0DD2 4302 _main:
4303 ; debug.c:38: init_USB();
0DD2 12s0BrEA 4304 lcall _init_USB
4305 ; debug.c:41: while (1) {
0DD5 7A 00 4306 mov r2,#0x00
0DD7 7B 00 4307 mov r3,#0x00
0DD9 4308 00102$:
4309 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
0DD9 8A 04 4310 mov ar4,r2
0DDB 90s00r6B 4311 mov dptr,#_debug_msg_buf
0DDE EC 4312 mov a,r4
0DDF F0 4313 movx @dptr,a
4314 ; debug.c:44: debug_msg_buf[1] = i >> 8;
0DE0 8B 04 4315 mov ar4,r3
0DE2 90s00r6C 4316 mov dptr,#(_debug_msg_buf + 0x0001)
0DE5 EC 4317 mov a,r4
0DE6 F0 4318 movx @dptr,a
4319 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon!
0DE7 C0 02 4320 push ar2
0DE9 C0 03 4321 push ar3
0DEB 12s03r51 4322 lcall _debug_add_msg
0DEE D0 03 4323 pop ar3
0DF0 D0 02 4324 pop ar2
4325 ; debug.c:46: i+=1;
0DF2 0A 4326 inc r2
0DF3 BA 00 01 4327 cjne r2,#0x00,00113$
0DF6 0B 4328 inc r3
0DF7 4329 00113$:
4330 ; debug.c:30: #include[ztex.h]
0DF7 7C 00 4331 mov r4,#0x00
0DF9 4332 00104$:
0DF9 BC 64 00 4333 cjne r4,#0x64,00114$
0DFC 4334 00114$:
0DFC 50 DB 4335 jnc 00102$
0DFE 90s00r69 4336 mov dptr,#_debug_stack_ptr
0E01 E0 4337 movx a,@dptr
0E02 FD 4338 mov r5,a
0E03 A3 4339 inc dptr
0E04 E0 4340 movx a,@dptr
0E05 FE 4341 mov r6,a
0E06 8D 82 4342 mov dpl,r5
0E08 8E 83 4343 mov dph,r6
0E0A A3 4344 inc dptr
0E0B A3 4345 inc dptr
0E0C EC 4346 mov a,r4
0E0D F0 4347 movx @dptr,a
0E0E 90 00 0A 4348 mov dptr,#0x000A
0E11 C0 02 4349 push ar2
0E13 C0 03 4350 push ar3
0E15 C0 04 4351 push ar4
0E17 12s00r00 4352 lcall _wait
0E1A D0 04 4353 pop ar4
0E1C D0 03 4354 pop ar3
0E1E D0 02 4355 pop ar2
0E20 0C 4356 inc r4
0E21 80 D6 4357 sjmp 00104$
4358 .area CSEG (CODE)
4359 .area CONST (CODE)
0000 4360 _manufacturerString:
0000 5A 54 45 58 4361 .ascii "ZTEX"
0004 00 4362 .db 0x00
0005 4363 _productString:
0005 64 65 62 75 67 20 4364 .ascii "debug for EZ-USB devices"
66 6F 72 20 45 5A
2D 55 53 42 20 64
65 76 69 63 65 73
001D 00 4365 .db 0x00
001E 4366 _configurationString:
001E 28 75 6E 6B 6E 6F 4367 .ascii "(unknown)"
77 6E 29
0027 00 4368 .db 0x00
0028 4369 _PadByte:
0028 00 4370 .db #0x00
0029 4371 _DeviceDescriptor:
0029 12 4372 .db #0x12
002A 01 4373 .db #0x01
002B 00 4374 .db #0x00
002C 02 4375 .db #0x02
002D FF 4376 .db #0xFF
002E FF 4377 .db #0xFF
002F FF 4378 .db #0xFF
0030 40 4379 .db #0x40
0031 1A 4380 .db #0x1A
0032 22 4381 .db #0x22
0033 00 4382 .db #0x00
0034 01 4383 .db #0x01
0035 00 4384 .db #0x00
0036 00 4385 .db #0x00
0037 01 4386 .db #0x01
0038 02 4387 .db #0x02
0039 03 4388 .db #0x03
003A 01 4389 .db #0x01
003B 4390 _DeviceQualifierDescriptor:
003B 0A 4391 .db #0x0A
003C 06 4392 .db #0x06
003D 00 4393 .db #0x00
003E 02 4394 .db #0x02
003F FF 4395 .db #0xFF
0040 FF 4396 .db #0xFF
0041 FF 4397 .db #0xFF
0042 40 4398 .db #0x40
0043 01 4399 .db #0x01
0044 00 4400 .db #0x00
0045 4401 _HighSpeedConfigDescriptor:
0045 09 4402 .db #0x09
0046 02 4403 .db #0x02
0047 20 4404 .db #0x20
0048 00 4405 .db #0x00
0049 01 4406 .db #0x01
004A 01 4407 .db #0x01
004B 04 4408 .db #0x04
004C C0 4409 .db #0xC0
004D 32 4410 .db #0x32
004E 09 4411 .db #0x09
004F 04 4412 .db #0x04
0050 00 4413 .db #0x00
0051 00 4414 .db #0x00
0052 02 4415 .db #0x02
0053 FF 4416 .db #0xFF
0054 FF 4417 .db #0xFF
0055 FF 4418 .db #0xFF
0056 00 4419 .db #0x00
0057 07 4420 .db #0x07
0058 05 4421 .db #0x05
0059 81 4422 .db #0x81
005A 02 4423 .db #0x02
005B 00 4424 .db #0x00
005C 02 4425 .db #0x02
005D 00 4426 .db #0x00
005E 07 4427 .db #0x07
005F 05 4428 .db #0x05
0060 01 4429 .db #0x01
0061 02 4430 .db #0x02
0062 00 4431 .db #0x00
0063 02 4432 .db #0x02
0064 00 4433 .db #0x00
0065 4434 _HighSpeedConfigDescriptor_PadByte:
0065 00 4435 .db #0x00
0066 00 4436 .db 0x00
0067 4437 _FullSpeedConfigDescriptor:
0067 09 4438 .db #0x09
0068 02 4439 .db #0x02
0069 20 4440 .db #0x20
006A 00 4441 .db #0x00
006B 01 4442 .db #0x01
006C 01 4443 .db #0x01
006D 04 4444 .db #0x04
006E C0 4445 .db #0xC0
006F 32 4446 .db #0x32
0070 09 4447 .db #0x09
0071 04 4448 .db #0x04
0072 00 4449 .db #0x00
0073 00 4450 .db #0x00
0074 02 4451 .db #0x02
0075 FF 4452 .db #0xFF
0076 FF 4453 .db #0xFF
0077 FF 4454 .db #0xFF
0078 00 4455 .db #0x00
0079 07 4456 .db #0x07
007A 05 4457 .db #0x05
007B 81 4458 .db #0x81
007C 02 4459 .db #0x02
007D 40 4460 .db #0x40
007E 00 4461 .db #0x00
007F 00 4462 .db #0x00
0080 07 4463 .db #0x07
0081 05 4464 .db #0x05
0082 01 4465 .db #0x01
0083 02 4466 .db #0x02
0084 40 4467 .db #0x40
0085 00 4468 .db #0x00
0086 00 4469 .db #0x00
0087 4470 _FullSpeedConfigDescriptor_PadByte:
0087 00 4471 .db #0x00
0088 00 4472 .db 0x00
0089 4473 _EmptyStringDescriptor:
0089 04 4474 .db #0x04
008A 03 4475 .db #0x03
008B 00 4476 .db #0x00
008C 00 4477 .db #0x00
4478 .area XINIT (CODE)
0000 4479 __xinit__ep0_payload_remaining:
0000 00 00 4480 .byte #0x00,#0x00
0002 4481 __xinit__ep0_payload_transfer:
0002 00 4482 .db #0x00
0003 4483 __xinit__ep0_prev_setup_request:
0003 FF 4484 .db #0xFF
0004 4485 __xinit__ep0_vendor_cmd_setup:
0004 00 4486 .db #0x00
0005 4487 __xinit__ISOFRAME_COUNTER:
0005 00 00 4488 .byte #0x00,#0x00
0007 00 00 4489 .byte #0x00,#0x00
0009 00 00 4490 .byte #0x00,#0x00
000B 00 00 4491 .byte #0x00,#0x00
4492 .area CABS (ABS,CODE)
/debug/Debug.class Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream
debug/Debug.class Property changes : Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: debug/debug.bat =================================================================== --- debug/debug.bat (nonexistent) +++ debug/debug.bat (revision 3) @@ -0,0 +1,2 @@ +java -cp Debug.jar Debug +pause Index: debug/debug.sym =================================================================== --- debug/debug.sym (nonexistent) +++ debug/debug.sym (revision 3) @@ -0,0 +1,969 @@ + ASxxxx Assembler V01.70 + NoICE + SDCC mods + Flat24 Feb-1999 (Intel 8051), page 1. + +Symbol Table + + A 00D6 + AC 00D6 + ACC 00E0 + ACC.0 00E0 + ACC.1 00E1 + ACC.2 00E2 + ACC.3 00E3 + ACC.4 00E4 + ACC.5 00E5 + ACC.6 00E6 + ACC.7 00E7 + B 00F0 + B.0 00F0 + B.1 00F1 + B.2 00F2 + B.3 00F3 + B.4 00F4 + B.5 00F5 + B.6 00F6 + B.7 00F7 + CPRL2 00C8 + CT2 00C9 + CY 00D7 + DPH 0083 + DPL 0082 + EA 00AF + 19 ENTRY 0000 R + ES 00AC + ET0 00A9 + ET1 00AB + ET2 00AD + EX0 00A8 + EX1 00AA + EXEN2 00CB + EXF2 00CE + F0 00D5 + IE 00A8 + IE.0 00A8 + IE.1 00A9 + IE.2 00AA + IE.3 00AB + IE.4 00AC + IE.5 00AD + IE.7 00AF + IE0 0089 + IE1 008B + INT0 00B2 + INT1 00B3 + 4F INTVEC_DUMMY 01B8 R + IP 00B8 + IP.0 00B8 + IP.1 00B9 + IP.2 00BA + IP.3 00BB + IP.4 00BC + IP.5 00BD + IT0 0088 + IT1 008A + OV 00D2 + P 00D0 + P0 0080 + P0.0 0080 + P0.1 0081 + P0.2 0082 + P0.3 0083 + P0.4 0084 + P0.5 0085 + P0.6 0086 + P0.7 0087 + P1 0090 + P1.0 0090 + P1.1 0091 + P1.2 0092 + P1.3 0093 + P1.4 0094 + P1.5 0095 + P1.6 0096 + P1.7 0097 + P2 00A0 + P2.0 00A0 + P2.1 00A1 + P2.2 00A2 + P2.3 00A3 + P2.4 00A4 + P2.5 00A5 + P2.6 00A6 + P2.7 00A7 + P3 00B0 + P3.0 00B0 + P3.1 00B1 + P3.2 00B2 + P3.3 00B3 + P3.4 00B4 + P3.5 00B5 + P3.6 00B6 + P3.7 00B7 + PCON 0087 + PS 00BC + PSW 00D0 + PSW.0 00D0 + PSW.1 00D1 + PSW.2 00D2 + PSW.3 00D3 + PSW.4 00D4 + PSW.5 00D5 + PSW.6 00D6 + PSW.7 00D7 + PT0 00B9 + PT1 00BB + PT2 00BD + PX0 00B8 + PX1 00BA + RB8 009A + RCAP2H 00CB + RCAP2L 00CA + RCLK 00CD + REN 009C + RI 0098 + RS0 00D3 + RS1 00D4 + RXD 00B0 + SBUF 0099 + SCON 0098 + SCON.0 0098 + SCON.1 0099 + SCON.2 009A + SCON.3 009B + SCON.4 009C + SCON.5 009D + SCON.6 009E + SCON.7 009F + SM0 009F + SM1 009E + SM2 009D + SP 0081 + T2CON 00C8 + T2CON.0 00C8 + T2CON.1 00C9 + T2CON.2 00CA + T2CON.3 00CB + T2CON.4 00CC + T2CON.5 00CD + T2CON.6 00CE + T2CON.7 00CF + TB8 009B + TCLK 00CC + TCON 0088 + TCON.0 0088 + TCON.1 0089 + TCON.2 008A + TCON.3 008B + TCON.4 008C + TCON.5 008D + TCON.6 008E + TCON.7 008F + TF0 008D + TF1 008F + TF2 00CF + TH0 008C + TH1 008D + TH2 00CD + TI 0099 + TL0 008A + TL1 008B + TL2 00CC + TMOD 0089 + TR0 008C + TR1 008E + TR2 00CA + TXD 00B1 + _AC = 00D6 G + _ACC = 00E0 G + _ACC0 = 00E0 G + _ACC1 = 00E1 G + _ACC2 = 00E2 G + _ACC3 = 00E3 G + _ACC4 = 00E4 G + _ACC5 = 00E5 G + _ACC6 = 00E6 G + _ACC7 = 00E7 G + _AUTOPTRH1 = 009A G + _AUTOPTRH2 = 009D G + _AUTOPTRL1 = 009B G + _AUTOPTRL2 = 009E G + _AUTOPTRSETUP = 00AF G + _BPADDRH = E606 G + _BPADDRL = E607 G + _BREAKPT = E605 G + _BREG = 00F0 G + _BREG0 = 00F0 G + _BREG1 = 00F1 G + _BREG2 = 00F2 G + _BREG3 = 00F3 G + _BREG4 = 00F4 G + _BREG5 = 00F5 G + _BREG6 = 00F6 G + _BREG7 = 00F7 G + _CKCON = 008E G + _CLRERRCNT = E665 G + _CPRL2 = 00C8 G + _CPUCS = E600 G + _CT2 = 00C9 G + _CY = 00D7 G + _DPH0 = 0083 G + _DPH1 = 0085 G + _DPL0 = 0082 G + _DPL1 = 0084 G + _DPS = 0086 G + 59 _DeviceDescriptor 0029 GR + 59 _DeviceQualifierDescriptor 003B GR + _EA = 00AF G + _ECC1B0 = E62A G + _ECC1B1 = E62B G + _ECC1B2 = E62C G + _ECC2B0 = E62D G + _ECC2B1 = E62E G + _ECC2B2 = E62F G + _ECCCFG = E628 G + _ECCRESET = E629 G + _EI2C = 00E9 G + _EICON = 00D8 G + _EIE = 00E8 G + _EIEX4 = 00EA G + _EIEX5 = 00EB G + _EIEX6 = 00EC G + _EIP = 00F8 G + _EIPX4 = 00FA G + _EIPX5 = 00FB G + _EIPX6 = 00FC G + _EP01STAT = 00BA G + 17 _EP0ACK_ISR 0A2B GR + _EP0BCH = E68A G + _EP0BCL = E68B G + _EP0BUF = E740 G + _EP0CS = E6A0 G + 17 _EP0IN_ISR 0A41 R + 17 _EP0OUT_ISR 0ACA R + _EP1INBC = E68F G + _EP1INBUF = E7C0 G + _EP1INCFG = E611 G + _EP1INCS = E6A2 G + 17 _EP1IN_ISR 0B66 GR + _EP1OUTBC = E68D G + _EP1OUTBUF = E780 G + _EP1OUTCFG = E610 G + _EP1OUTCS = E6A1 G + 17 _EP1OUT_ISR 0B7C GR + _EP2468STAT = 00AA G + _EP24FIFOFLGS = 00AB G + _EP2AUTOINLENH = E620 G + _EP2AUTOINLENL = E621 G + _EP2BCH = E690 G + _EP2BCL = E691 G + _EP2CFG = E612 G + _EP2CS = E6A3 G + _EP2FIFOBCH = E6AB G + _EP2FIFOBCL = E6AC G + _EP2FIFOBUF = F000 G + _EP2FIFOCFG = E618 G + _EP2FIFOFLGS = E6A7 G + _EP2FIFOIE = E650 G + _EP2FIFOIRQ = E651 G + _EP2FIFOPFH = E630 G + _EP2FIFOPFL = E631 G + _EP2GPIFFLGSEL = E6D2 G + _EP2GPIFPFSTOP = E6D3 G + _EP2GPIFTRIG = E6D4 G + _EP2ISOINPKTS = E640 G + 17 _EP2_ISR 0B92 GR + _EP4AUTOINLENH = E622 G + _EP4AUTOINLENL = E623 G + _EP4BCH = E694 G + _EP4BCL = E695 G + _EP4CFG = E613 G + _EP4CS = E6A4 G + _EP4FIFOBCH = E6AD G + _EP4FIFOBCL = E6AE G + _EP4FIFOBUF = F400 G + _EP4FIFOCFG = E619 G + _EP4FIFOFLGS = E6A8 G + _EP4FIFOIE = E652 G + _EP4FIFOIRQ = E653 G + _EP4FIFOPFH = E632 G + _EP4FIFOPFL = E633 G + _EP4GPIFFLGSEL = E6DA G + _EP4GPIFPFSTOP = E6DB G + _EP4GPIFTRIG = E6DC G + _EP4ISOINPKTS = E641 G + 17 _EP4_ISR 0BA8 GR + _EP68FIFOFLGS = 00AC G + _EP6AUTOINLENH = E624 G + _EP6AUTOINLENL = E625 G + _EP6BCH = E698 G + _EP6BCL = E699 G + _EP6CFG = E614 G + _EP6CS = E6A5 G + _EP6FIFOBCH = E6AF G + _EP6FIFOBCL = E6B0 G + _EP6FIFOBUF = F800 G + _EP6FIFOCFG = E61A G + _EP6FIFOFLGS = E6A9 G + _EP6FIFOIE = E654 G + _EP6FIFOIRQ = E655 G + _EP6FIFOPFH = E634 G + _EP6FIFOPFL = E635 G + _EP6GPIFFLGSEL = E6E2 G + _EP6GPIFPFSTOP = E6E3 G + _EP6GPIFTRIG = E6E4 G + _EP6ISOINPKTS = E642 G + 17 _EP6_ISR 0BBE GR + _EP8AUTOINLENH = E626 G + _EP8AUTOINLENL = E627 G + _EP8BCH = E69C G + _EP8BCL = E69D G + _EP8CFG = E615 G + _EP8CS = E6A6 G + _EP8FIFOBCH = E6B1 G + _EP8FIFOBCL = E6B2 G + _EP8FIFOBUF = FC00 G + _EP8FIFOCFG = E61B G + _EP8FIFOFLGS = E6AA G + _EP8FIFOIE = E656 G + _EP8FIFOIRQ = E657 G + _EP8FIFOPFH = E636 G + _EP8FIFOPFL = E637 G + _EP8GPIFFLGSEL = E6EA G + _EP8GPIFPFSTOP = E6EB G + _EP8GPIFTRIG = E6EC G + _EP8ISOINPKTS = E643 G + 17 _EP8_ISR 0BD4 GR + _EPIE = E65E G + _EPIRQ = E65F G + _EPXCS = E6A3 G + _ERESI = 00DD G + _ERRCNTLIM = E664 G + _ES0 = 00AC G + _ES1 = 00AE G + _ET0 = 00A9 G + _ET1 = 00AB G + _ET2 = 00AD G + _EUSB = 00E8 G + _EX0 = 00A8 G + _EX1 = 00AA G + _EXEN2 = 00CB G + _EXF2 = 00CE G + _EXIF = 0091 G + _EXTAUTODAT1 = E67B G + _EXTAUTODAT2 = E67C G + 59 _EmptyStringDescriptor 0089 GR + _F0 = 00D5 G + _F1 = 00D1 G + _FIFOPINPOLAR = E609 G + _FIFORESET = E604 G + _FLOWEQ0CTL = E6C8 G + _FLOWEQ1CTL = E6C9 G + _FLOWHOLDOFF = E6CA G + _FLOWLOGIC = E6C7 G + _FLOWSTATE = E6C6 G + _FLOWSTB = E6CB G + _FLOWSTBEDGE = E6CC G + _FLOWSTBHPERIOD = E6CD G + _FNADDR = E687 G + _FW_VERSION = 0076 G + 59 _FullSpeedConfigDescriptor 0067 GR + 59 _FullSpeedConfigDescriptor_PadByte 0087 GR + _GPCR2 = E50D G + _GPIFABORT = E6F5 G + _GPIFADRH = E6C4 G + _GPIFADRL = E6C5 G + _GPIFCTLCFG = E6C3 G + _GPIFHOLDAMOUNT = E60C G + _GPIFIDLECS = E6C1 G + _GPIFIDLECTL = E6C2 G + _GPIFIE = E660 G + _GPIFIRQ = E661 G + _GPIFREADYCFG = E6F3 G + _GPIFREADYSTAT = E6F4 G + _GPIFSGLDATH = 00BD G + _GPIFSGLDATLNOX = 00BF G + _GPIFSGLDATLX = 00BE G + _GPIFTCB0 = E6D1 G + _GPIFTCB1 = E6D0 G + _GPIFTCB2 = E6CF G + _GPIFTCB3 = E6CE G + _GPIFTRIG = 00BB G + _GPIFWFSELECT = E6C0 G + _GPIF_WAVE0_DATA = E400 G + _GPIF_WAVE1_DATA = E420 G + _GPIF_WAVE2_DATA = E440 G + _GPIF_WAVE3_DATA = E460 G + _GPIF_WAVE_DATA = E400 G + 17 _HSGRANT_ISR 0A15 GR + 59 _HighSpeedConfigDescriptor 0045 GR + 59 _HighSpeedConfigDescriptor_PadByte 0065 GR + _I2CS = E678 G + _I2CTL = E67A G + _I2DAT = E679 G + _IBNIE = E658 G + _IBNIRQ = E659 G + _IE = 00A8 G + _IE0 = 0089 G + _IE1 = 008B G + _IFCONFIG = E601 G + _INPKTEND = E648 G + _INT0VEC_IE0 = 0003 G + _INT10VEC_GPIF = 0053 G + _INT11VEC_IE5 = 005B G + _INT12VEC_IE6 = 0063 G + _INT1VEC_T0 = 000B G + _INT2CLR = 00A1 G + _INT2IVEC = E666 G + _INT2VEC_IE1 = 0013 G + _INT3VEC_T1 = 001B G + _INT4CLR = 00A2 G + _INT4IVEC = E667 G + _INT4VEC_USART0 = 0023 G + _INT5VEC_T2 = 002B G + _INT6 = 00DB G + _INT6VEC_RESUME = 0033 G + _INT7VEC_USART1 = 003B G + _INT8VEC_USB = 0043 G + _INT9VEC_I2C = 004B G + _INTERFACE_CAPABILITIES = 0078 G + _INTERFACE_VERSION = 0077 G + _INTSETUP = E668 G + _INTVEC_EP0ACK = 0118 G + _INTVEC_EP0IN = 0120 G + _INTVEC_EP0OUT = 0124 G + _INTVEC_EP0PING = 0148 G + _INTVEC_EP1IN = 0128 G + _INTVEC_EP1OUT = 012C G + _INTVEC_EP1PING = 014C G + _INTVEC_EP2 = 0130 G + _INTVEC_EP2EF = 0190 G + _INTVEC_EP2FF = 01A0 G + _INTVEC_EP2ISOERR = 0170 G + _INTVEC_EP2PF = 0180 G + _INTVEC_EP2PING = 0150 G + _INTVEC_EP4 = 0134 G + _INTVEC_EP4EF = 0194 G + _INTVEC_EP4ISOERR = 0174 G + _INTVEC_EP4PF = 0184 G + _INTVEC_EP4PING = 0154 G + _INTVEC_EP6 = 0138 G + _INTVEC_EP6EF = 0198 G + _INTVEC_EP6FF = 01A8 G + _INTVEC_EP6ISOERR = 0178 G + _INTVEC_EP6PF = 0188 G + _INTVEC_EP6PING = 0158 G + _INTVEC_EP8 = 013C G + _INTVEC_EP8EF = 019C G + _INTVEC_EP8FF = 01AC G + _INTVEC_EP8ISOERR = 017C G + _INTVEC_EP8PF = 018C G + _INTVEC_EP8PING = 015C G + _INTVEC_ERRLIMIT = 0160 G + _INTVEC_GPIFDONE = 01B0 G + _INTVEC_GPIFWF = 01B4 G + _INTVEC_HISPEED = 0114 G + _INTVEC_IBN = 0140 G + _INTVEC_SOF = 0104 G + _INTVEC_SUDAV = 0100 G + _INTVEC_SUSPEND = 010C G + _INTVEC_SUTOK = 0108 G + _INTVEC_USBRESET = 0110 G + _IOA = 0080 G + _IOA0 = 0080 G + _IOA1 = 0081 G + _IOA2 = 0082 G + _IOA3 = 0083 G + _IOA4 = 0084 G + _IOA5 = 0085 G + _IOA6 = 0086 G + _IOA7 = 0087 G + _IOB = 0090 G + _IOB0 = 0090 G + _IOB1 = 0091 G + _IOB2 = 0092 G + _IOB3 = 0093 G + _IOB4 = 0094 G + _IOB5 = 0095 G + _IOB6 = 0096 G + _IOB7 = 0097 G + _IOC = 00A0 G + _IOC0 = 00A0 G + _IOC1 = 00A1 G + _IOC2 = 00A2 G + _IOC3 = 00A3 G + _IOC4 = 00A4 G + _IOC5 = 00A5 G + _IOC6 = 00A6 G + _IOC7 = 00A7 G + _IOD = 00B0 G + _IOD0 = 00B0 G + _IOD1 = 00B1 G + _IOD2 = 00B2 G + _IOD3 = 00B3 G + _IOD4 = 00B4 G + _IOD5 = 00B5 G + _IOD6 = 00B6 G + _IOD7 = 00B7 G + _IOE = 00B1 G + _IP = 00B8 G + D _ISOFRAME_COUNTER 0005 GR + _IT0 = 0088 G + _IT1 = 008A G + 17 _MEM_COPY1_int 0048 GR + _MICROFRAME = E686 G + _MODULE_RESERVED = 007E G + _MPAGE = 0092 G + _NAKIE = E65A G + _NAKIRQ = E65B G + _OEA = 00B2 G + _OEB = 00B3 G + _OEC = 00B4 G + _OED = 00B5 G + _OEE = 00B6 G + _OUTPKTEND = E649 G + _OV = 00D2 G + _PCON = 0087 G + _PF = 00D0 G + _PI2C = 00F9 G + _PINFLAGSAB = E602 G + _PINFLAGSCD = E603 G + _PORTACFG = E670 G + _PORTCCFG = E671 G + _PORTECFG = E672 G + _PRODUCT_ID = 0072 G + _PS0 = 00BC G + _PS1 = 00BE G + _PSW = 00D0 G + _PT0 = 00B9 G + _PT1 = 00BB G + _PT2 = 00BD G + _PUSB = 00F8 G + _PX0 = 00B8 G + _PX1 = 00BA G + 59 _PadByte 0028 GR + _RB8_0 = 009A G + _RB8_1 = 00C2 G + _RCAP2H = 00CB G + _RCAP2L = 00CA G + _RCLK = 00CD G + _REN_0 = 009C G + _REN_1 = 00C4 G + _RESI = 00DC G + _REVCTL = E60B G + _REVID = E60A G + _RI_0 = 0098 G + _RI_1 = 00C0 G + _RS0 = 00D3 G + _RS1 = 00D4 G + _SBUF0 = 0099 G + _SBUF1 = 00C1 G + _SCON0 = 0098 G + _SCON1 = 00C0 G + _SETUPDAT = E6B8 G + _SM0_0 = 009F G + _SM0_1 = 00C7 G + _SM1_0 = 009E G + _SM1_1 = 00C6 G + _SM2_0 = 009D G + _SM2_1 = 00C5 G + _SMOD1 = 00DF G + _SN_STRING = 008A G + 17 _SOF_ISR 09BD GR + _SP = 0081 G + 17 _SUDAV_ISR 04BF R + _SUDPTRCTL = E6B5 G + _SUDPTRH = E6B3 G + _SUDPTRL = E6B4 G + _SUSPEND = E681 G + 17 _SUSP_ISR 09E9 GR + 17 _SUTOK_ISR 09D3 GR + _T2CON = 00C8 G + _TB8_0 = 009B G + _TB8_1 = 00C3 G + _TCLK = 00CC G + _TCON = 0088 G + _TF0 = 008D G + _TF1 = 008F G + _TF2 = 00CF G + _TH0 = 008C G + _TH1 = 008D G + _TH2 = 00CD G + _TI_0 = 0099 G + _TI_1 = 00C1 G + _TL0 = 008A G + _TL1 = 008B G + _TL2 = 00CC G + _TMOD = 0089 G + _TOGCTL = E683 G + _TR0 = 008C G + _TR1 = 008E G + _TR2 = 00CA G + _UART230 = E608 G + _UDMACRCH = E67D G + _UDMACRCL = E67E G + _UDMACRCQUALIFIER = E67F G + 17 _URES_ISR 09FF GR + _USBCS = E680 G + _USBERRIE = E662 G + _USBERRIRQ = E663 G + _USBFRAMEH = E684 G + _USBFRAMEL = E685 G + _USBIE = E65C G + _USBIRQ = E65D G + _WAKEUPCS = E682 G + _XAUTODAT1 = E67B G + _XAUTODAT2 = E67C G + _XGPIFSGLDATH = E6F0 G + _XGPIFSGLDATLNOX = E6F2 G + _XGPIFSGLDATLX = E6F1 G + _ZTEXID = 006E G + _ZTEX_DESCRIPTOR = 006C G + _ZTEX_DESCRIPTOR_VERSION = 006D G + __XPAGE = 0092 G + E __interrupt_vect 0000 R + __mcs51_genRAMCLEAR **** GX + __mcs51_genXINIT **** GX + __mcs51_genXRAMCLEAR **** GX + __sdcc_gsinit_startup **** GX + E __sdcc_program_startup 0003 GR + 6 __start__stack 0000 GR + 5A __xinit__ISOFRAME_COUNTER 0005 R + 5A __xinit__ep0_payload_remaining 0000 R + 5A __xinit__ep0_payload_transfer 0002 R + 5A __xinit__ep0_prev_setup_request 0003 R + 5A __xinit__ep0_vendor_cmd_setup 0004 R + 17 _abscode_identity 03ED GR + 17 _abscode_intvec 0000 GR + _bRequest = E6B9 G + _bmRequestType = E6B8 G + 59 _configurationString 001E GR + 17 _debug_add_msg 0351 GR + B _debug_counter 0005 GR + 17 _debug_init 0395 GR + B _debug_msg_buf 006B GR + B _debug_msg_size 0008 GR + B _debug_read_addr 006E GR + 17 _debug_read_ep0 03B3 GR + B _debug_stack 0009 GR + B _debug_stack_ptr 0069 GR + B _debug_stack_size 0007 GR + B _eeprom_addr 0000 GR + 17 _eeprom_read 0134 GR + 4 _eeprom_read_PARM_2 0001 GR + 4 _eeprom_read_PARM_3 0003 GR + 17 _eeprom_read_ep0 02F0 GR + 17 _eeprom_select 00E0 GR + 4 _eeprom_select_PARM_2 0000 GR + 17 _eeprom_write 023A GR + 4 _eeprom_write_PARM_2 0004 GR + 4 _eeprom_write_PARM_3 0006 GR + B _eeprom_write_bytes 0002 GR + B _eeprom_write_checksum 0004 GR + 17 _eeprom_write_ep0 0324 GR + D _ep0_payload_remaining 0000 GR + D _ep0_payload_transfer 0002 GR + 17 _ep0_payload_update 045E R + D _ep0_prev_setup_request 0003 GR + D _ep0_vendor_cmd_setup 0004 GR + 17 _ep0_vendor_cmd_su 048B R + 17 _i2c_waitRead 0083 GR + 17 _i2c_waitStart 00AC GR + 17 _i2c_waitStop 00C6 GR + 17 _i2c_waitWrite 0056 GR + 17 _init_USB 0BEA GR + 17 _main 0DD2 GR + 59 _manufacturerString 0000 GR + 59 _productString 0005 GR + 17 _resetToggleData 03ED R + 17 _sendStringDescriptor 040B R + 5 _sendStringDescriptor_PARM_2 0000 GR + 5 _sendStringDescriptor_PARM_3 0001 GR + 17 _uwait 0024 GR + _wIndexH = E6BD G + _wIndexL = E6BC G + _wLengthH = E6BF G + _wLengthL = E6BE G + _wValueH = E6BB G + _wValueL = E6BA G + 17 _wait 0000 GR + a 00D6 + ac 00D6 + acc 00E0 + acc.0 00E0 + acc.1 00E1 + acc.2 00E2 + acc.3 00E3 + acc.4 00E4 + acc.5 00E5 + acc.6 00E6 + acc.7 00E7 + ar0 = 0000 + ar1 = 0001 + ar2 = 0002 + ar3 = 0003 + ar4 = 0004 + ar5 = 0005 + ar6 = 0006 + ar7 = 0007 + b 00F0 + b.0 00F0 + b.1 00F1 + b.2 00F2 + b.3 00F3 + b.4 00F4 + b.5 00F5 + b.6 00F6 + b.7 00F7 + 3 b0 = 8000 R + 3 b1 = 8100 R + 3 b2 = 8200 R + 3 b3 = 8300 R + 3 b4 = 8400 R + 3 b5 = 8500 R + 3 b6 = 8600 R + 3 b7 = 8700 R + 3 bits 0000 R + cprl2 00C8 + ct2 00C9 + cy 00D7 + dph 0083 + dpl 0082 + ea 00AF + es 00AC + et0 00A9 + et1 00AB + et2 00AD + ex0 00A8 + ex1 00AA + exen2 00CB + exf2 00CE + f0 00D5 + ie 00A8 + ie.0 00A8 + ie.1 00A9 + ie.2 00AA + ie.3 00AB + ie.4 00AC + ie.5 00AD + ie.7 00AF + ie0 0089 + ie1 008B + int0 00B2 + int1 00B3 + ip 00B8 + ip.0 00B8 + ip.1 00B9 + ip.2 00BA + ip.3 00BB + ip.4 00BC + ip.5 00BD + it0 0088 + it1 008A + ov 00D2 + p 00D0 + p0 0080 + p0.0 0080 + p0.1 0081 + p0.2 0082 + p0.3 0083 + p0.4 0084 + p0.5 0085 + p0.6 0086 + p0.7 0087 + p1 0090 + p1.0 0090 + p1.1 0091 + p1.2 0092 + p1.3 0093 + p1.4 0094 + p1.5 0095 + p1.6 0096 + p1.7 0097 + p2 00A0 + p2.0 00A0 + p2.1 00A1 + p2.2 00A2 + p2.3 00A3 + p2.4 00A4 + p2.5 00A5 + p2.6 00A6 + p2.7 00A7 + p3 00B0 + p3.0 00B0 + p3.1 00B1 + p3.2 00B2 + p3.3 00B3 + p3.4 00B4 + p3.5 00B5 + p3.6 00B6 + p3.7 00B7 + pcon 0087 + ps 00BC + psw 00D0 + psw.0 00D0 + psw.1 00D1 + psw.2 00D2 + psw.3 00D3 + psw.4 00D4 + psw.5 00D5 + psw.6 00D6 + psw.7 00D7 + pt0 00B9 + pt1 00BB + pt2 00BD + px0 00B8 + px1 00BA + rb8 009A + rcap2h 00CB + rcap2l 00CA + rclk 00CD + ren 009C + ri 0098 + rs0 00D3 + rs1 00D4 + rxd 00B0 + sbuf 0099 + scon 0098 + scon.0 0098 + scon.1 0099 + scon.2 009A + scon.3 009B + scon.4 009C + scon.5 009D + scon.6 009E + scon.7 009F + sm0 009F + sm1 009E + sm2 009D + sp 0081 + t2con 00C8 + t2con.0 00C8 + t2con.1 00C9 + t2con.2 00CA + t2con.3 00CB + t2con.4 00CC + t2con.5 00CD + t2con.6 00CE + t2con.7 00CF + tb8 009B + tclk 00CC + tcon 0088 + tcon.0 0088 + tcon.1 0089 + tcon.2 008A + tcon.3 008B + tcon.4 008C + tcon.5 008D + tcon.6 008E + tcon.7 008F + tf0 008D + tf1 008F + tf2 00CF + th0 008C + th1 008D + th2 00CD + ti 0099 + tl0 008A + tl1 008B + tl2 00CC + tmod 0089 + tr0 008C + tr1 008E + tr2 00CA + txd 00B1 + + ASxxxx Assembler V01.70 + NoICE + SDCC mods + Flat24 Feb-1999 (Intel 8051), page 2. + +Area Table + + 0 _CODE size 0 flags 0 + 1 RSEG size 0 flags 0 + 2 REG_BANK_0 size 8 flags 4 + 3 BIT_BANK size 1 flags 4 + 4 DSEG size 7 flags 0 + 5 OSEG size 2 flags 4 + 6 SSEG size 1 flags 0 + 7 ISEG size 0 flags 0 + 8 IABS size 0 flags 8 + 9 BSEG size 0 flags 80 + A PSEG size 0 flags 50 + B XSEG size 70 flags 40 + C XABS size 0 flags 48 + D XISEG size D flags 40 + E HOME size 8 flags 20 + F GSINIT0 size 0 flags 20 + 10 GSINIT1 size 0 flags 20 + 11 GSINIT2 size 0 flags 20 + 12 GSINIT3 size 0 flags 20 + 13 GSINIT4 size 0 flags 20 + 14 GSINIT5 size 0 flags 20 + 15 GSINIT size 0 flags 20 + 16 GSFINAL size 3 flags 20 + 17 CSEG size E23 flags 20 + 18 ABSCODE size 0 flags 28 + 19 ABSCODE0 size 3 flags 28 + 1A ABSCODE3 size 1 flags 28 + 1B ABSCODEb size 1 flags 28 + 1C ABSCODE13 size 1 flags 28 + 1D ABSCODE1b size 1 flags 28 + 1E ABSCODE23 size 1 flags 28 + 1F ABSCODE2b size 1 flags 28 + 20 ABSCODE33 size 1 flags 28 + 21 ABSCODE3b size 1 flags 28 + 22 ABSCODE43 size 1 flags 28 + 23 ABSCODE4b size 1 flags 28 + 24 ABSCODE53 size 1 flags 28 + 25 ABSCODE5b size 1 flags 28 + 26 ABSCODE63 size 1 flags 28 + 27 ABSCODE100 size 1 flags 28 + 28 ABSCODE104 size 1 flags 28 + 29 ABSCODE108 size 1 flags 28 + 2A ABSCODE10c size 1 flags 28 + 2B ABSCODE110 size 1 flags 28 + 2C ABSCODE114 size 1 flags 28 + 2D ABSCODE118 size 1 flags 28 + 2E ABSCODE120 size 1 flags 28 + 2F ABSCODE124 size 1 flags 28 + 30 ABSCODE128 size 1 flags 28 + 31 ABSCODE12c size 1 flags 28 + 32 ABSCODE130 size 1 flags 28 + 33 ABSCODE134 size 1 flags 28 + 34 ABSCODE138 size 1 flags 28 + 35 ABSCODE13c size 1 flags 28 + 36 ABSCODE140 size 1 flags 28 + 37 ABSCODE148 size 1 flags 28 + 38 ABSCODE14c size 1 flags 28 + 39 ABSCODE150 size 1 flags 28 + 3A ABSCODE154 size 1 flags 28 + 3B ABSCODE158 size 1 flags 28 + 3C ABSCODE15c size 1 flags 28 + 3D ABSCODE160 size 1 flags 28 + 3E ABSCODE170 size 1 flags 28 + 3F ABSCODE174 size 1 flags 28 + 40 ABSCODE178 size 1 flags 28 + 41 ABSCODE17c size 1 flags 28 + 42 ABSCODE180 size 1 flags 28 + 43 ABSCODE184 size 1 flags 28 + 44 ABSCODE188 size 1 flags 28 + 45 ABSCODE18c size 1 flags 28 + 46 ABSCODE190 size 1 flags 28 + 47 ABSCODE194 size 1 flags 28 + 48 ABSCODE198 size 1 flags 28 + 49 ABSCODE19c size 1 flags 28 + 4A ABSCODE1a0 size 1 flags 28 + 4B ABSCODE1a8 size 1 flags 28 + 4C ABSCODE1ac size 1 flags 28 + 4D ABSCODE1b0 size 1 flags 28 + 4E ABSCODE1b4 size 1 flags 28 + 4F ABSCODE1b8 size 1 flags 28 + 50 ABSCODE6c size 1 flags 28 + 51 ABSCODE6d size 1 flags 28 + 52 ABSCODE6e size 4 flags 28 + 53 ABSCODE72 size 4 flags 28 + 54 ABSCODE76 size 1 flags 28 + 55 ABSCODE77 size 1 flags 28 + 56 ABSCODE78 size 6 flags 28 + 57 ABSCODE7e size C flags 28 + 58 ABSCODE8a size A flags 28 + 59 CONST size 8D flags 20 + 5A XINIT size D flags 20 + 5B CABS size 0 flags 28 Index: debug/debug.rst =================================================================== --- debug/debug.rst (nonexistent) +++ debug/debug.rst (revision 3) @@ -0,0 +1,4497 @@ + 1 ;-------------------------------------------------------- + 2 ; File Created by SDCC : free open source ANSI-C Compiler + 3 ; Version 2.8.0 #5117 (May 15 2008) (UNIX) + 4 ; This file was generated Wed Sep 8 20:23:26 2010 + 5 ;-------------------------------------------------------- + 6 .module debug_tmp + 7 .optsdcc -mmcs51 --model-small + 8 + 9 ;-------------------------------------------------------- + 10 ; Public variables in this module + 11 ;-------------------------------------------------------- + 12 .globl _sendStringDescriptor_PARM_3 + 13 .globl _sendStringDescriptor_PARM_2 + 14 .globl _EmptyStringDescriptor + 15 .globl _FullSpeedConfigDescriptor_PadByte + 16 .globl _FullSpeedConfigDescriptor + 17 .globl _HighSpeedConfigDescriptor_PadByte + 18 .globl _HighSpeedConfigDescriptor + 19 .globl _DeviceQualifierDescriptor + 20 .globl _DeviceDescriptor + 21 .globl _PadByte + 22 .globl _configurationString + 23 .globl _productString + 24 .globl _manufacturerString + 25 .globl _main + 26 .globl _init_USB + 27 .globl _EP8_ISR + 28 .globl _EP6_ISR + 29 .globl _EP4_ISR + 30 .globl _EP2_ISR + 31 .globl _EP1OUT_ISR + 32 .globl _EP1IN_ISR + 33 .globl _EP0ACK_ISR + 34 .globl _HSGRANT_ISR + 35 .globl _URES_ISR + 36 .globl _SUSP_ISR + 37 .globl _SUTOK_ISR + 38 .globl _SOF_ISR + 39 .globl _abscode_identity + 40 .globl _debug_read_ep0 + 41 .globl _debug_init + 42 .globl _debug_add_msg + 43 .globl _eeprom_write_ep0 + 44 .globl _eeprom_read_ep0 + 45 .globl _eeprom_write + 46 .globl _eeprom_read + 47 .globl _eeprom_select + 48 .globl _i2c_waitStop + 49 .globl _i2c_waitStart + 50 .globl _i2c_waitRead + 51 .globl _i2c_waitWrite + 52 .globl _MEM_COPY1_int + 53 .globl _uwait + 54 .globl _wait + 55 .globl _abscode_intvec + 56 .globl _EIPX6 + 57 .globl _EIPX5 + 58 .globl _EIPX4 + 59 .globl _PI2C + 60 .globl _PUSB + 61 .globl _BREG7 + 62 .globl _BREG6 + 63 .globl _BREG5 + 64 .globl _BREG4 + 65 .globl _BREG3 + 66 .globl _BREG2 + 67 .globl _BREG1 + 68 .globl _BREG0 + 69 .globl _EIEX6 + 70 .globl _EIEX5 + 71 .globl _EIEX4 + 72 .globl _EI2C + 73 .globl _EUSB + 74 .globl _ACC7 + 75 .globl _ACC6 + 76 .globl _ACC5 + 77 .globl _ACC4 + 78 .globl _ACC3 + 79 .globl _ACC2 + 80 .globl _ACC1 + 81 .globl _ACC0 + 82 .globl _SMOD1 + 83 .globl _ERESI + 84 .globl _RESI + 85 .globl _INT6 + 86 .globl _CY + 87 .globl _AC + 88 .globl _F0 + 89 .globl _RS1 + 90 .globl _RS0 + 91 .globl _OV + 92 .globl _F1 + 93 .globl _PF + 94 .globl _TF2 + 95 .globl _EXF2 + 96 .globl _RCLK + 97 .globl _TCLK + 98 .globl _EXEN2 + 99 .globl _TR2 + 100 .globl _CT2 + 101 .globl _CPRL2 + 102 .globl _SM0_1 + 103 .globl _SM1_1 + 104 .globl _SM2_1 + 105 .globl _REN_1 + 106 .globl _TB8_1 + 107 .globl _RB8_1 + 108 .globl _TI_1 + 109 .globl _RI_1 + 110 .globl _PS1 + 111 .globl _PT2 + 112 .globl _PS0 + 113 .globl _PT1 + 114 .globl _PX1 + 115 .globl _PT0 + 116 .globl _PX0 + 117 .globl _IOD7 + 118 .globl _IOD6 + 119 .globl _IOD5 + 120 .globl _IOD4 + 121 .globl _IOD3 + 122 .globl _IOD2 + 123 .globl _IOD1 + 124 .globl _IOD0 + 125 .globl _EA + 126 .globl _ES1 + 127 .globl _ET2 + 128 .globl _ES0 + 129 .globl _ET1 + 130 .globl _EX1 + 131 .globl _ET0 + 132 .globl _EX0 + 133 .globl _IOC7 + 134 .globl _IOC6 + 135 .globl _IOC5 + 136 .globl _IOC4 + 137 .globl _IOC3 + 138 .globl _IOC2 + 139 .globl _IOC1 + 140 .globl _IOC0 + 141 .globl _SM0_0 + 142 .globl _SM1_0 + 143 .globl _SM2_0 + 144 .globl _REN_0 + 145 .globl _TB8_0 + 146 .globl _RB8_0 + 147 .globl _TI_0 + 148 .globl _RI_0 + 149 .globl _IOB7 + 150 .globl _IOB6 + 151 .globl _IOB5 + 152 .globl _IOB4 + 153 .globl _IOB3 + 154 .globl _IOB2 + 155 .globl _IOB1 + 156 .globl _IOB0 + 157 .globl _TF1 + 158 .globl _TR1 + 159 .globl _TF0 + 160 .globl _TR0 + 161 .globl _IE1 + 162 .globl _IT1 + 163 .globl _IE0 + 164 .globl _IT0 + 165 .globl _IOA7 + 166 .globl _IOA6 + 167 .globl _IOA5 + 168 .globl _IOA4 + 169 .globl _IOA3 + 170 .globl _IOA2 + 171 .globl _IOA1 + 172 .globl _IOA0 + 173 .globl _EIP + 174 .globl _BREG + 175 .globl _EIE + 176 .globl _ACC + 177 .globl _EICON + 178 .globl _PSW + 179 .globl _TH2 + 180 .globl _TL2 + 181 .globl _RCAP2H + 182 .globl _RCAP2L + 183 .globl _T2CON + 184 .globl _SBUF1 + 185 .globl _SCON1 + 186 .globl _GPIFSGLDATLNOX + 187 .globl _GPIFSGLDATLX + 188 .globl _GPIFSGLDATH + 189 .globl _GPIFTRIG + 190 .globl _EP01STAT + 191 .globl _IP + 192 .globl _OEE + 193 .globl _OED + 194 .globl _OEC + 195 .globl _OEB + 196 .globl _OEA + 197 .globl _IOE + 198 .globl _IOD + 199 .globl _AUTOPTRSETUP + 200 .globl _EP68FIFOFLGS + 201 .globl _EP24FIFOFLGS + 202 .globl _EP2468STAT + 203 .globl _IE + 204 .globl _INT4CLR + 205 .globl _INT2CLR + 206 .globl _IOC + 207 .globl _AUTOPTRL2 + 208 .globl _AUTOPTRH2 + 209 .globl _AUTOPTRL1 + 210 .globl _AUTOPTRH1 + 211 .globl _SBUF0 + 212 .globl _SCON0 + 213 .globl __XPAGE + 214 .globl _MPAGE + 215 .globl _EXIF + 216 .globl _IOB + 217 .globl _CKCON + 218 .globl _TH1 + 219 .globl _TH0 + 220 .globl _TL1 + 221 .globl _TL0 + 222 .globl _TMOD + 223 .globl _TCON + 224 .globl _PCON + 225 .globl _DPS + 226 .globl _DPH1 + 227 .globl _DPL1 + 228 .globl _DPH0 + 229 .globl _DPL0 + 230 .globl _SP + 231 .globl _IOA + 232 .globl _ISOFRAME_COUNTER + 233 .globl _ep0_vendor_cmd_setup + 234 .globl _ep0_prev_setup_request + 235 .globl _ep0_payload_transfer + 236 .globl _ep0_payload_remaining + 237 .globl _SN_STRING + 238 .globl _MODULE_RESERVED + 239 .globl _INTERFACE_CAPABILITIES + 240 .globl _INTERFACE_VERSION + 241 .globl _FW_VERSION + 242 .globl _PRODUCT_ID + 243 .globl _ZTEXID + 244 .globl _ZTEX_DESCRIPTOR_VERSION + 245 .globl _ZTEX_DESCRIPTOR + 246 .globl _debug_read_addr + 247 .globl _debug_msg_buf + 248 .globl _debug_stack_ptr + 249 .globl _debug_stack + 250 .globl _debug_msg_size + 251 .globl _debug_stack_size + 252 .globl _debug_counter + 253 .globl _eeprom_write_checksum + 254 .globl _eeprom_write_bytes + 255 .globl _eeprom_addr + 256 .globl _INTVEC_GPIFWF + 257 .globl _INTVEC_GPIFDONE + 258 .globl _INTVEC_EP8FF + 259 .globl _INTVEC_EP6FF + 260 .globl _INTVEC_EP2FF + 261 .globl _INTVEC_EP8EF + 262 .globl _INTVEC_EP6EF + 263 .globl _INTVEC_EP4EF + 264 .globl _INTVEC_EP2EF + 265 .globl _INTVEC_EP8PF + 266 .globl _INTVEC_EP6PF + 267 .globl _INTVEC_EP4PF + 268 .globl _INTVEC_EP2PF + 269 .globl _INTVEC_EP8ISOERR + 270 .globl _INTVEC_EP6ISOERR + 271 .globl _INTVEC_EP4ISOERR + 272 .globl _INTVEC_EP2ISOERR + 273 .globl _INTVEC_ERRLIMIT + 274 .globl _INTVEC_EP8PING + 275 .globl _INTVEC_EP6PING + 276 .globl _INTVEC_EP4PING + 277 .globl _INTVEC_EP2PING + 278 .globl _INTVEC_EP1PING + 279 .globl _INTVEC_EP0PING + 280 .globl _INTVEC_IBN + 281 .globl _INTVEC_EP8 + 282 .globl _INTVEC_EP6 + 283 .globl _INTVEC_EP4 + 284 .globl _INTVEC_EP2 + 285 .globl _INTVEC_EP1OUT + 286 .globl _INTVEC_EP1IN + 287 .globl _INTVEC_EP0OUT + 288 .globl _INTVEC_EP0IN + 289 .globl _INTVEC_EP0ACK + 290 .globl _INTVEC_HISPEED + 291 .globl _INTVEC_USBRESET + 292 .globl _INTVEC_SUSPEND + 293 .globl _INTVEC_SUTOK + 294 .globl _INTVEC_SOF + 295 .globl _INTVEC_SUDAV + 296 .globl _INT12VEC_IE6 + 297 .globl _INT11VEC_IE5 + 298 .globl _INT10VEC_GPIF + 299 .globl _INT9VEC_I2C + 300 .globl _INT8VEC_USB + 301 .globl _INT7VEC_USART1 + 302 .globl _INT6VEC_RESUME + 303 .globl _INT5VEC_T2 + 304 .globl _INT4VEC_USART0 + 305 .globl _INT3VEC_T1 + 306 .globl _INT2VEC_IE1 + 307 .globl _INT1VEC_T0 + 308 .globl _INT0VEC_IE0 + 309 .globl _EP8FIFOBUF + 310 .globl _EP6FIFOBUF + 311 .globl _EP4FIFOBUF + 312 .globl _EP2FIFOBUF + 313 .globl _EP1INBUF + 314 .globl _EP1OUTBUF + 315 .globl _EP0BUF + 316 .globl _GPIFABORT + 317 .globl _GPIFREADYSTAT + 318 .globl _GPIFREADYCFG + 319 .globl _XGPIFSGLDATLNOX + 320 .globl _XGPIFSGLDATLX + 321 .globl _XGPIFSGLDATH + 322 .globl _EP8GPIFTRIG + 323 .globl _EP8GPIFPFSTOP + 324 .globl _EP8GPIFFLGSEL + 325 .globl _EP6GPIFTRIG + 326 .globl _EP6GPIFPFSTOP + 327 .globl _EP6GPIFFLGSEL + 328 .globl _EP4GPIFTRIG + 329 .globl _EP4GPIFPFSTOP + 330 .globl _EP4GPIFFLGSEL + 331 .globl _EP2GPIFTRIG + 332 .globl _EP2GPIFPFSTOP + 333 .globl _EP2GPIFFLGSEL + 334 .globl _GPIFTCB0 + 335 .globl _GPIFTCB1 + 336 .globl _GPIFTCB2 + 337 .globl _GPIFTCB3 + 338 .globl _FLOWSTBHPERIOD + 339 .globl _FLOWSTBEDGE + 340 .globl _FLOWSTB + 341 .globl _FLOWHOLDOFF + 342 .globl _FLOWEQ1CTL + 343 .globl _FLOWEQ0CTL + 344 .globl _FLOWLOGIC + 345 .globl _FLOWSTATE + 346 .globl _GPIFADRL + 347 .globl _GPIFADRH + 348 .globl _GPIFCTLCFG + 349 .globl _GPIFIDLECTL + 350 .globl _GPIFIDLECS + 351 .globl _GPIFWFSELECT + 352 .globl _wLengthH + 353 .globl _wLengthL + 354 .globl _wIndexH + 355 .globl _wIndexL + 356 .globl _wValueH + 357 .globl _wValueL + 358 .globl _bRequest + 359 .globl _bmRequestType + 360 .globl _SETUPDAT + 361 .globl _SUDPTRCTL + 362 .globl _SUDPTRL + 363 .globl _SUDPTRH + 364 .globl _EP8FIFOBCL + 365 .globl _EP8FIFOBCH + 366 .globl _EP6FIFOBCL + 367 .globl _EP6FIFOBCH + 368 .globl _EP4FIFOBCL + 369 .globl _EP4FIFOBCH + 370 .globl _EP2FIFOBCL + 371 .globl _EP2FIFOBCH + 372 .globl _EP8FIFOFLGS + 373 .globl _EP6FIFOFLGS + 374 .globl _EP4FIFOFLGS + 375 .globl _EP2FIFOFLGS + 376 .globl _EP8CS + 377 .globl _EP6CS + 378 .globl _EP4CS + 379 .globl _EP2CS + 380 .globl _EPXCS + 381 .globl _EP1INCS + 382 .globl _EP1OUTCS + 383 .globl _EP0CS + 384 .globl _EP8BCL + 385 .globl _EP8BCH + 386 .globl _EP6BCL + 387 .globl _EP6BCH + 388 .globl _EP4BCL + 389 .globl _EP4BCH + 390 .globl _EP2BCL + 391 .globl _EP2BCH + 392 .globl _EP1INBC + 393 .globl _EP1OUTBC + 394 .globl _EP0BCL + 395 .globl _EP0BCH + 396 .globl _FNADDR + 397 .globl _MICROFRAME + 398 .globl _USBFRAMEL + 399 .globl _USBFRAMEH + 400 .globl _TOGCTL + 401 .globl _WAKEUPCS + 402 .globl _SUSPEND + 403 .globl _USBCS + 404 .globl _UDMACRCQUALIFIER + 405 .globl _UDMACRCL + 406 .globl _UDMACRCH + 407 .globl _EXTAUTODAT2 + 408 .globl _XAUTODAT2 + 409 .globl _EXTAUTODAT1 + 410 .globl _XAUTODAT1 + 411 .globl _I2CTL + 412 .globl _I2DAT + 413 .globl _I2CS + 414 .globl _PORTECFG + 415 .globl _PORTCCFG + 416 .globl _PORTACFG + 417 .globl _INTSETUP + 418 .globl _INT4IVEC + 419 .globl _INT2IVEC + 420 .globl _CLRERRCNT + 421 .globl _ERRCNTLIM + 422 .globl _USBERRIRQ + 423 .globl _USBERRIE + 424 .globl _GPIFIRQ + 425 .globl _GPIFIE + 426 .globl _EPIRQ + 427 .globl _EPIE + 428 .globl _USBIRQ + 429 .globl _USBIE + 430 .globl _NAKIRQ + 431 .globl _NAKIE + 432 .globl _IBNIRQ + 433 .globl _IBNIE + 434 .globl _EP8FIFOIRQ + 435 .globl _EP8FIFOIE + 436 .globl _EP6FIFOIRQ + 437 .globl _EP6FIFOIE + 438 .globl _EP4FIFOIRQ + 439 .globl _EP4FIFOIE + 440 .globl _EP2FIFOIRQ + 441 .globl _EP2FIFOIE + 442 .globl _OUTPKTEND + 443 .globl _INPKTEND + 444 .globl _EP8ISOINPKTS + 445 .globl _EP6ISOINPKTS + 446 .globl _EP4ISOINPKTS + 447 .globl _EP2ISOINPKTS + 448 .globl _EP8FIFOPFL + 449 .globl _EP8FIFOPFH + 450 .globl _EP6FIFOPFL + 451 .globl _EP6FIFOPFH + 452 .globl _EP4FIFOPFL + 453 .globl _EP4FIFOPFH + 454 .globl _EP2FIFOPFL + 455 .globl _EP2FIFOPFH + 456 .globl _ECC2B2 + 457 .globl _ECC2B1 + 458 .globl _ECC2B0 + 459 .globl _ECC1B2 + 460 .globl _ECC1B1 + 461 .globl _ECC1B0 + 462 .globl _ECCRESET + 463 .globl _ECCCFG + 464 .globl _EP8AUTOINLENL + 465 .globl _EP8AUTOINLENH + 466 .globl _EP6AUTOINLENL + 467 .globl _EP6AUTOINLENH + 468 .globl _EP4AUTOINLENL + 469 .globl _EP4AUTOINLENH + 470 .globl _EP2AUTOINLENL + 471 .globl _EP2AUTOINLENH + 472 .globl _EP8FIFOCFG + 473 .globl _EP6FIFOCFG + 474 .globl _EP4FIFOCFG + 475 .globl _EP2FIFOCFG + 476 .globl _EP8CFG + 477 .globl _EP6CFG + 478 .globl _EP4CFG + 479 .globl _EP2CFG + 480 .globl _EP1INCFG + 481 .globl _EP1OUTCFG + 482 .globl _GPIFHOLDAMOUNT + 483 .globl _REVCTL + 484 .globl _REVID + 485 .globl _FIFOPINPOLAR + 486 .globl _UART230 + 487 .globl _BPADDRL + 488 .globl _BPADDRH + 489 .globl _BREAKPT + 490 .globl _FIFORESET + 491 .globl _PINFLAGSCD + 492 .globl _PINFLAGSAB + 493 .globl _IFCONFIG + 494 .globl _CPUCS + 495 .globl _GPCR2 + 496 .globl _GPIF_WAVE3_DATA + 497 .globl _GPIF_WAVE2_DATA + 498 .globl _GPIF_WAVE1_DATA + 499 .globl _GPIF_WAVE0_DATA + 500 .globl _GPIF_WAVE_DATA + 501 .globl _eeprom_write_PARM_3 + 502 .globl _eeprom_write_PARM_2 + 503 .globl _eeprom_read_PARM_3 + 504 .globl _eeprom_read_PARM_2 + 505 .globl _eeprom_select_PARM_2 + 506 ;-------------------------------------------------------- + 507 ; special function registers + 508 ;-------------------------------------------------------- + 509 .area RSEG (DATA) + 0080 510 _IOA = 0x0080 + 0081 511 _SP = 0x0081 + 0082 512 _DPL0 = 0x0082 + 0083 513 _DPH0 = 0x0083 + 0084 514 _DPL1 = 0x0084 + 0085 515 _DPH1 = 0x0085 + 0086 516 _DPS = 0x0086 + 0087 517 _PCON = 0x0087 + 0088 518 _TCON = 0x0088 + 0089 519 _TMOD = 0x0089 + 008A 520 _TL0 = 0x008a + 008B 521 _TL1 = 0x008b + 008C 522 _TH0 = 0x008c + 008D 523 _TH1 = 0x008d + 008E 524 _CKCON = 0x008e + 0090 525 _IOB = 0x0090 + 0091 526 _EXIF = 0x0091 + 0092 527 _MPAGE = 0x0092 + 0092 528 __XPAGE = 0x0092 + 0098 529 _SCON0 = 0x0098 + 0099 530 _SBUF0 = 0x0099 + 009A 531 _AUTOPTRH1 = 0x009a + 009B 532 _AUTOPTRL1 = 0x009b + 009D 533 _AUTOPTRH2 = 0x009d + 009E 534 _AUTOPTRL2 = 0x009e + 00A0 535 _IOC = 0x00a0 + 00A1 536 _INT2CLR = 0x00a1 + 00A2 537 _INT4CLR = 0x00a2 + 00A8 538 _IE = 0x00a8 + 00AA 539 _EP2468STAT = 0x00aa + 00AB 540 _EP24FIFOFLGS = 0x00ab + 00AC 541 _EP68FIFOFLGS = 0x00ac + 00AF 542 _AUTOPTRSETUP = 0x00af + 00B0 543 _IOD = 0x00b0 + 00B1 544 _IOE = 0x00b1 + 00B2 545 _OEA = 0x00b2 + 00B3 546 _OEB = 0x00b3 + 00B4 547 _OEC = 0x00b4 + 00B5 548 _OED = 0x00b5 + 00B6 549 _OEE = 0x00b6 + 00B8 550 _IP = 0x00b8 + 00BA 551 _EP01STAT = 0x00ba + 00BB 552 _GPIFTRIG = 0x00bb + 00BD 553 _GPIFSGLDATH = 0x00bd + 00BE 554 _GPIFSGLDATLX = 0x00be + 00BF 555 _GPIFSGLDATLNOX = 0x00bf + 00C0 556 _SCON1 = 0x00c0 + 00C1 557 _SBUF1 = 0x00c1 + 00C8 558 _T2CON = 0x00c8 + 00CA 559 _RCAP2L = 0x00ca + 00CB 560 _RCAP2H = 0x00cb + 00CC 561 _TL2 = 0x00cc + 00CD 562 _TH2 = 0x00cd + 00D0 563 _PSW = 0x00d0 + 00D8 564 _EICON = 0x00d8 + 00E0 565 _ACC = 0x00e0 + 00E8 566 _EIE = 0x00e8 + 00F0 567 _BREG = 0x00f0 + 00F8 568 _EIP = 0x00f8 + 569 ;-------------------------------------------------------- + 570 ; special function bits + 571 ;-------------------------------------------------------- + 572 .area RSEG (DATA) + 0080 573 _IOA0 = 0x0080 + 0081 574 _IOA1 = 0x0081 + 0082 575 _IOA2 = 0x0082 + 0083 576 _IOA3 = 0x0083 + 0084 577 _IOA4 = 0x0084 + 0085 578 _IOA5 = 0x0085 + 0086 579 _IOA6 = 0x0086 + 0087 580 _IOA7 = 0x0087 + 0088 581 _IT0 = 0x0088 + 0089 582 _IE0 = 0x0089 + 008A 583 _IT1 = 0x008a + 008B 584 _IE1 = 0x008b + 008C 585 _TR0 = 0x008c + 008D 586 _TF0 = 0x008d + 008E 587 _TR1 = 0x008e + 008F 588 _TF1 = 0x008f + 0090 589 _IOB0 = 0x0090 + 0091 590 _IOB1 = 0x0091 + 0092 591 _IOB2 = 0x0092 + 0093 592 _IOB3 = 0x0093 + 0094 593 _IOB4 = 0x0094 + 0095 594 _IOB5 = 0x0095 + 0096 595 _IOB6 = 0x0096 + 0097 596 _IOB7 = 0x0097 + 0098 597 _RI_0 = 0x0098 + 0099 598 _TI_0 = 0x0099 + 009A 599 _RB8_0 = 0x009a + 009B 600 _TB8_0 = 0x009b + 009C 601 _REN_0 = 0x009c + 009D 602 _SM2_0 = 0x009d + 009E 603 _SM1_0 = 0x009e + 009F 604 _SM0_0 = 0x009f + 00A0 605 _IOC0 = 0x00a0 + 00A1 606 _IOC1 = 0x00a1 + 00A2 607 _IOC2 = 0x00a2 + 00A3 608 _IOC3 = 0x00a3 + 00A4 609 _IOC4 = 0x00a4 + 00A5 610 _IOC5 = 0x00a5 + 00A6 611 _IOC6 = 0x00a6 + 00A7 612 _IOC7 = 0x00a7 + 00A8 613 _EX0 = 0x00a8 + 00A9 614 _ET0 = 0x00a9 + 00AA 615 _EX1 = 0x00aa + 00AB 616 _ET1 = 0x00ab + 00AC 617 _ES0 = 0x00ac + 00AD 618 _ET2 = 0x00ad + 00AE 619 _ES1 = 0x00ae + 00AF 620 _EA = 0x00af + 00B0 621 _IOD0 = 0x00b0 + 00B1 622 _IOD1 = 0x00b1 + 00B2 623 _IOD2 = 0x00b2 + 00B3 624 _IOD3 = 0x00b3 + 00B4 625 _IOD4 = 0x00b4 + 00B5 626 _IOD5 = 0x00b5 + 00B6 627 _IOD6 = 0x00b6 + 00B7 628 _IOD7 = 0x00b7 + 00B8 629 _PX0 = 0x00b8 + 00B9 630 _PT0 = 0x00b9 + 00BA 631 _PX1 = 0x00ba + 00BB 632 _PT1 = 0x00bb + 00BC 633 _PS0 = 0x00bc + 00BD 634 _PT2 = 0x00bd + 00BE 635 _PS1 = 0x00be + 00C0 636 _RI_1 = 0x00c0 + 00C1 637 _TI_1 = 0x00c1 + 00C2 638 _RB8_1 = 0x00c2 + 00C3 639 _TB8_1 = 0x00c3 + 00C4 640 _REN_1 = 0x00c4 + 00C5 641 _SM2_1 = 0x00c5 + 00C6 642 _SM1_1 = 0x00c6 + 00C7 643 _SM0_1 = 0x00c7 + 00C8 644 _CPRL2 = 0x00c8 + 00C9 645 _CT2 = 0x00c9 + 00CA 646 _TR2 = 0x00ca + 00CB 647 _EXEN2 = 0x00cb + 00CC 648 _TCLK = 0x00cc + 00CD 649 _RCLK = 0x00cd + 00CE 650 _EXF2 = 0x00ce + 00CF 651 _TF2 = 0x00cf + 00D0 652 _PF = 0x00d0 + 00D1 653 _F1 = 0x00d1 + 00D2 654 _OV = 0x00d2 + 00D3 655 _RS0 = 0x00d3 + 00D4 656 _RS1 = 0x00d4 + 00D5 657 _F0 = 0x00d5 + 00D6 658 _AC = 0x00d6 + 00D7 659 _CY = 0x00d7 + 00DB 660 _INT6 = 0x00db + 00DC 661 _RESI = 0x00dc + 00DD 662 _ERESI = 0x00dd + 00DF 663 _SMOD1 = 0x00df + 00E0 664 _ACC0 = 0x00e0 + 00E1 665 _ACC1 = 0x00e1 + 00E2 666 _ACC2 = 0x00e2 + 00E3 667 _ACC3 = 0x00e3 + 00E4 668 _ACC4 = 0x00e4 + 00E5 669 _ACC5 = 0x00e5 + 00E6 670 _ACC6 = 0x00e6 + 00E7 671 _ACC7 = 0x00e7 + 00E8 672 _EUSB = 0x00e8 + 00E9 673 _EI2C = 0x00e9 + 00EA 674 _EIEX4 = 0x00ea + 00EB 675 _EIEX5 = 0x00eb + 00EC 676 _EIEX6 = 0x00ec + 00F0 677 _BREG0 = 0x00f0 + 00F1 678 _BREG1 = 0x00f1 + 00F2 679 _BREG2 = 0x00f2 + 00F3 680 _BREG3 = 0x00f3 + 00F4 681 _BREG4 = 0x00f4 + 00F5 682 _BREG5 = 0x00f5 + 00F6 683 _BREG6 = 0x00f6 + 00F7 684 _BREG7 = 0x00f7 + 00F8 685 _PUSB = 0x00f8 + 00F9 686 _PI2C = 0x00f9 + 00FA 687 _EIPX4 = 0x00fa + 00FB 688 _EIPX5 = 0x00fb + 00FC 689 _EIPX6 = 0x00fc + 690 ;-------------------------------------------------------- + 691 ; overlayable register banks + 692 ;-------------------------------------------------------- + 693 .area REG_BANK_0 (REL,OVR,DATA) + 0000 694 .ds 8 + 695 ;-------------------------------------------------------- + 696 ; overlayable bit register bank + 697 ;-------------------------------------------------------- + 698 .area BIT_BANK (REL,OVR,DATA) + 0020 699 bits: + 0020 700 .ds 1 + 8000 701 b0 = bits[0] + 8100 702 b1 = bits[1] + 8200 703 b2 = bits[2] + 8300 704 b3 = bits[3] + 8400 705 b4 = bits[4] + 8500 706 b5 = bits[5] + 8600 707 b6 = bits[6] + 8700 708 b7 = bits[7] + 709 ;-------------------------------------------------------- + 710 ; internal ram data + 711 ;-------------------------------------------------------- + 712 .area DSEG (DATA) + 0008 713 _eeprom_select_PARM_2: + 0008 714 .ds 1 + 0009 715 _eeprom_read_PARM_2: + 0009 716 .ds 2 + 000B 717 _eeprom_read_PARM_3: + 000B 718 .ds 1 + 000C 719 _eeprom_write_PARM_2: + 000C 720 .ds 2 + 000E 721 _eeprom_write_PARM_3: + 000E 722 .ds 1 + 723 ;-------------------------------------------------------- + 724 ; overlayable items in internal ram + 725 ;-------------------------------------------------------- + 726 .area OSEG (OVR,DATA) + 727 .area OSEG (OVR,DATA) + 728 .area OSEG (OVR,DATA) + 729 .area OSEG (OVR,DATA) + 730 .area OSEG (OVR,DATA) + 731 .area OSEG (OVR,DATA) + 732 .area OSEG (OVR,DATA) + 733 .area OSEG (OVR,DATA) + 734 .area OSEG (OVR,DATA) + 000F 735 _sendStringDescriptor_PARM_2:: + 000F 736 .ds 1 + 0010 737 _sendStringDescriptor_PARM_3:: + 0010 738 .ds 1 + 739 ;-------------------------------------------------------- + 740 ; Stack segment in internal ram + 741 ;-------------------------------------------------------- + 742 .area SSEG (DATA) + 0021 743 __start__stack: + 0021 744 .ds 1 + 745 + 746 ;-------------------------------------------------------- + 747 ; indirectly addressable internal ram data + 748 ;-------------------------------------------------------- + 749 .area ISEG (DATA) + 750 ;-------------------------------------------------------- + 751 ; absolute internal ram data + 752 ;-------------------------------------------------------- + 753 .area IABS (ABS,DATA) + 754 .area IABS (ABS,DATA) + 755 ;-------------------------------------------------------- + 756 ; bit data + 757 ;-------------------------------------------------------- + 758 .area BSEG (BIT) + 759 ;-------------------------------------------------------- + 760 ; paged external ram data + 761 ;-------------------------------------------------------- + 762 .area PSEG (PAG,XDATA) + 763 ;-------------------------------------------------------- + 764 ; external ram data + 765 ;-------------------------------------------------------- + 766 .area XSEG (XDATA) + E400 767 _GPIF_WAVE_DATA = 0xe400 + E400 768 _GPIF_WAVE0_DATA = 0xe400 + E420 769 _GPIF_WAVE1_DATA = 0xe420 + E440 770 _GPIF_WAVE2_DATA = 0xe440 + E460 771 _GPIF_WAVE3_DATA = 0xe460 + E50D 772 _GPCR2 = 0xe50d + E600 773 _CPUCS = 0xe600 + E601 774 _IFCONFIG = 0xe601 + E602 775 _PINFLAGSAB = 0xe602 + E603 776 _PINFLAGSCD = 0xe603 + E604 777 _FIFORESET = 0xe604 + E605 778 _BREAKPT = 0xe605 + E606 779 _BPADDRH = 0xe606 + E607 780 _BPADDRL = 0xe607 + E608 781 _UART230 = 0xe608 + E609 782 _FIFOPINPOLAR = 0xe609 + E60A 783 _REVID = 0xe60a + E60B 784 _REVCTL = 0xe60b + E60C 785 _GPIFHOLDAMOUNT = 0xe60c + E610 786 _EP1OUTCFG = 0xe610 + E611 787 _EP1INCFG = 0xe611 + E612 788 _EP2CFG = 0xe612 + E613 789 _EP4CFG = 0xe613 + E614 790 _EP6CFG = 0xe614 + E615 791 _EP8CFG = 0xe615 + E618 792 _EP2FIFOCFG = 0xe618 + E619 793 _EP4FIFOCFG = 0xe619 + E61A 794 _EP6FIFOCFG = 0xe61a + E61B 795 _EP8FIFOCFG = 0xe61b + E620 796 _EP2AUTOINLENH = 0xe620 + E621 797 _EP2AUTOINLENL = 0xe621 + E622 798 _EP4AUTOINLENH = 0xe622 + E623 799 _EP4AUTOINLENL = 0xe623 + E624 800 _EP6AUTOINLENH = 0xe624 + E625 801 _EP6AUTOINLENL = 0xe625 + E626 802 _EP8AUTOINLENH = 0xe626 + E627 803 _EP8AUTOINLENL = 0xe627 + E628 804 _ECCCFG = 0xe628 + E629 805 _ECCRESET = 0xe629 + E62A 806 _ECC1B0 = 0xe62a + E62B 807 _ECC1B1 = 0xe62b + E62C 808 _ECC1B2 = 0xe62c + E62D 809 _ECC2B0 = 0xe62d + E62E 810 _ECC2B1 = 0xe62e + E62F 811 _ECC2B2 = 0xe62f + E630 812 _EP2FIFOPFH = 0xe630 + E631 813 _EP2FIFOPFL = 0xe631 + E632 814 _EP4FIFOPFH = 0xe632 + E633 815 _EP4FIFOPFL = 0xe633 + E634 816 _EP6FIFOPFH = 0xe634 + E635 817 _EP6FIFOPFL = 0xe635 + E636 818 _EP8FIFOPFH = 0xe636 + E637 819 _EP8FIFOPFL = 0xe637 + E640 820 _EP2ISOINPKTS = 0xe640 + E641 821 _EP4ISOINPKTS = 0xe641 + E642 822 _EP6ISOINPKTS = 0xe642 + E643 823 _EP8ISOINPKTS = 0xe643 + E648 824 _INPKTEND = 0xe648 + E649 825 _OUTPKTEND = 0xe649 + E650 826 _EP2FIFOIE = 0xe650 + E651 827 _EP2FIFOIRQ = 0xe651 + E652 828 _EP4FIFOIE = 0xe652 + E653 829 _EP4FIFOIRQ = 0xe653 + E654 830 _EP6FIFOIE = 0xe654 + E655 831 _EP6FIFOIRQ = 0xe655 + E656 832 _EP8FIFOIE = 0xe656 + E657 833 _EP8FIFOIRQ = 0xe657 + E658 834 _IBNIE = 0xe658 + E659 835 _IBNIRQ = 0xe659 + E65A 836 _NAKIE = 0xe65a + E65B 837 _NAKIRQ = 0xe65b + E65C 838 _USBIE = 0xe65c + E65D 839 _USBIRQ = 0xe65d + E65E 840 _EPIE = 0xe65e + E65F 841 _EPIRQ = 0xe65f + E660 842 _GPIFIE = 0xe660 + E661 843 _GPIFIRQ = 0xe661 + E662 844 _USBERRIE = 0xe662 + E663 845 _USBERRIRQ = 0xe663 + E664 846 _ERRCNTLIM = 0xe664 + E665 847 _CLRERRCNT = 0xe665 + E666 848 _INT2IVEC = 0xe666 + E667 849 _INT4IVEC = 0xe667 + E668 850 _INTSETUP = 0xe668 + E670 851 _PORTACFG = 0xe670 + E671 852 _PORTCCFG = 0xe671 + E672 853 _PORTECFG = 0xe672 + E678 854 _I2CS = 0xe678 + E679 855 _I2DAT = 0xe679 + E67A 856 _I2CTL = 0xe67a + E67B 857 _XAUTODAT1 = 0xe67b + E67B 858 _EXTAUTODAT1 = 0xe67b + E67C 859 _XAUTODAT2 = 0xe67c + E67C 860 _EXTAUTODAT2 = 0xe67c + E67D 861 _UDMACRCH = 0xe67d + E67E 862 _UDMACRCL = 0xe67e + E67F 863 _UDMACRCQUALIFIER = 0xe67f + E680 864 _USBCS = 0xe680 + E681 865 _SUSPEND = 0xe681 + E682 866 _WAKEUPCS = 0xe682 + E683 867 _TOGCTL = 0xe683 + E684 868 _USBFRAMEH = 0xe684 + E685 869 _USBFRAMEL = 0xe685 + E686 870 _MICROFRAME = 0xe686 + E687 871 _FNADDR = 0xe687 + E68A 872 _EP0BCH = 0xe68a + E68B 873 _EP0BCL = 0xe68b + E68D 874 _EP1OUTBC = 0xe68d + E68F 875 _EP1INBC = 0xe68f + E690 876 _EP2BCH = 0xe690 + E691 877 _EP2BCL = 0xe691 + E694 878 _EP4BCH = 0xe694 + E695 879 _EP4BCL = 0xe695 + E698 880 _EP6BCH = 0xe698 + E699 881 _EP6BCL = 0xe699 + E69C 882 _EP8BCH = 0xe69c + E69D 883 _EP8BCL = 0xe69d + E6A0 884 _EP0CS = 0xe6a0 + E6A1 885 _EP1OUTCS = 0xe6a1 + E6A2 886 _EP1INCS = 0xe6a2 + E6A3 887 _EPXCS = 0xe6a3 + E6A3 888 _EP2CS = 0xe6a3 + E6A4 889 _EP4CS = 0xe6a4 + E6A5 890 _EP6CS = 0xe6a5 + E6A6 891 _EP8CS = 0xe6a6 + E6A7 892 _EP2FIFOFLGS = 0xe6a7 + E6A8 893 _EP4FIFOFLGS = 0xe6a8 + E6A9 894 _EP6FIFOFLGS = 0xe6a9 + E6AA 895 _EP8FIFOFLGS = 0xe6aa + E6AB 896 _EP2FIFOBCH = 0xe6ab + E6AC 897 _EP2FIFOBCL = 0xe6ac + E6AD 898 _EP4FIFOBCH = 0xe6ad + E6AE 899 _EP4FIFOBCL = 0xe6ae + E6AF 900 _EP6FIFOBCH = 0xe6af + E6B0 901 _EP6FIFOBCL = 0xe6b0 + E6B1 902 _EP8FIFOBCH = 0xe6b1 + E6B2 903 _EP8FIFOBCL = 0xe6b2 + E6B3 904 _SUDPTRH = 0xe6b3 + E6B4 905 _SUDPTRL = 0xe6b4 + E6B5 906 _SUDPTRCTL = 0xe6b5 + E6B8 907 _SETUPDAT = 0xe6b8 + E6B8 908 _bmRequestType = 0xe6b8 + E6B9 909 _bRequest = 0xe6b9 + E6BA 910 _wValueL = 0xe6ba + E6BB 911 _wValueH = 0xe6bb + E6BC 912 _wIndexL = 0xe6bc + E6BD 913 _wIndexH = 0xe6bd + E6BE 914 _wLengthL = 0xe6be + E6BF 915 _wLengthH = 0xe6bf + E6C0 916 _GPIFWFSELECT = 0xe6c0 + E6C1 917 _GPIFIDLECS = 0xe6c1 + E6C2 918 _GPIFIDLECTL = 0xe6c2 + E6C3 919 _GPIFCTLCFG = 0xe6c3 + E6C4 920 _GPIFADRH = 0xe6c4 + E6C5 921 _GPIFADRL = 0xe6c5 + E6C6 922 _FLOWSTATE = 0xe6c6 + E6C7 923 _FLOWLOGIC = 0xe6c7 + E6C8 924 _FLOWEQ0CTL = 0xe6c8 + E6C9 925 _FLOWEQ1CTL = 0xe6c9 + E6CA 926 _FLOWHOLDOFF = 0xe6ca + E6CB 927 _FLOWSTB = 0xe6cb + E6CC 928 _FLOWSTBEDGE = 0xe6cc + E6CD 929 _FLOWSTBHPERIOD = 0xe6cd + E6CE 930 _GPIFTCB3 = 0xe6ce + E6CF 931 _GPIFTCB2 = 0xe6cf + E6D0 932 _GPIFTCB1 = 0xe6d0 + E6D1 933 _GPIFTCB0 = 0xe6d1 + E6D2 934 _EP2GPIFFLGSEL = 0xe6d2 + E6D3 935 _EP2GPIFPFSTOP = 0xe6d3 + E6D4 936 _EP2GPIFTRIG = 0xe6d4 + E6DA 937 _EP4GPIFFLGSEL = 0xe6da + E6DB 938 _EP4GPIFPFSTOP = 0xe6db + E6DC 939 _EP4GPIFTRIG = 0xe6dc + E6E2 940 _EP6GPIFFLGSEL = 0xe6e2 + E6E3 941 _EP6GPIFPFSTOP = 0xe6e3 + E6E4 942 _EP6GPIFTRIG = 0xe6e4 + E6EA 943 _EP8GPIFFLGSEL = 0xe6ea + E6EB 944 _EP8GPIFPFSTOP = 0xe6eb + E6EC 945 _EP8GPIFTRIG = 0xe6ec + E6F0 946 _XGPIFSGLDATH = 0xe6f0 + E6F1 947 _XGPIFSGLDATLX = 0xe6f1 + E6F2 948 _XGPIFSGLDATLNOX = 0xe6f2 + E6F3 949 _GPIFREADYCFG = 0xe6f3 + E6F4 950 _GPIFREADYSTAT = 0xe6f4 + E6F5 951 _GPIFABORT = 0xe6f5 + E740 952 _EP0BUF = 0xe740 + E780 953 _EP1OUTBUF = 0xe780 + E7C0 954 _EP1INBUF = 0xe7c0 + F000 955 _EP2FIFOBUF = 0xf000 + F400 956 _EP4FIFOBUF = 0xf400 + F800 957 _EP6FIFOBUF = 0xf800 + FC00 958 _EP8FIFOBUF = 0xfc00 + 0003 959 _INT0VEC_IE0 = 0x0003 + 000B 960 _INT1VEC_T0 = 0x000b + 0013 961 _INT2VEC_IE1 = 0x0013 + 001B 962 _INT3VEC_T1 = 0x001b + 0023 963 _INT4VEC_USART0 = 0x0023 + 002B 964 _INT5VEC_T2 = 0x002b + 0033 965 _INT6VEC_RESUME = 0x0033 + 003B 966 _INT7VEC_USART1 = 0x003b + 0043 967 _INT8VEC_USB = 0x0043 + 004B 968 _INT9VEC_I2C = 0x004b + 0053 969 _INT10VEC_GPIF = 0x0053 + 005B 970 _INT11VEC_IE5 = 0x005b + 0063 971 _INT12VEC_IE6 = 0x0063 + 0100 972 _INTVEC_SUDAV = 0x0100 + 0104 973 _INTVEC_SOF = 0x0104 + 0108 974 _INTVEC_SUTOK = 0x0108 + 010C 975 _INTVEC_SUSPEND = 0x010c + 0110 976 _INTVEC_USBRESET = 0x0110 + 0114 977 _INTVEC_HISPEED = 0x0114 + 0118 978 _INTVEC_EP0ACK = 0x0118 + 0120 979 _INTVEC_EP0IN = 0x0120 + 0124 980 _INTVEC_EP0OUT = 0x0124 + 0128 981 _INTVEC_EP1IN = 0x0128 + 012C 982 _INTVEC_EP1OUT = 0x012c + 0130 983 _INTVEC_EP2 = 0x0130 + 0134 984 _INTVEC_EP4 = 0x0134 + 0138 985 _INTVEC_EP6 = 0x0138 + 013C 986 _INTVEC_EP8 = 0x013c + 0140 987 _INTVEC_IBN = 0x0140 + 0148 988 _INTVEC_EP0PING = 0x0148 + 014C 989 _INTVEC_EP1PING = 0x014c + 0150 990 _INTVEC_EP2PING = 0x0150 + 0154 991 _INTVEC_EP4PING = 0x0154 + 0158 992 _INTVEC_EP6PING = 0x0158 + 015C 993 _INTVEC_EP8PING = 0x015c + 0160 994 _INTVEC_ERRLIMIT = 0x0160 + 0170 995 _INTVEC_EP2ISOERR = 0x0170 + 0174 996 _INTVEC_EP4ISOERR = 0x0174 + 0178 997 _INTVEC_EP6ISOERR = 0x0178 + 017C 998 _INTVEC_EP8ISOERR = 0x017c + 0180 999 _INTVEC_EP2PF = 0x0180 + 0184 1000 _INTVEC_EP4PF = 0x0184 + 0188 1001 _INTVEC_EP6PF = 0x0188 + 018C 1002 _INTVEC_EP8PF = 0x018c + 0190 1003 _INTVEC_EP2EF = 0x0190 + 0194 1004 _INTVEC_EP4EF = 0x0194 + 0198 1005 _INTVEC_EP6EF = 0x0198 + 019C 1006 _INTVEC_EP8EF = 0x019c + 01A0 1007 _INTVEC_EP2FF = 0x01a0 + 01A8 1008 _INTVEC_EP6FF = 0x01a8 + 01AC 1009 _INTVEC_EP8FF = 0x01ac + 01B0 1010 _INTVEC_GPIFDONE = 0x01b0 + 01B4 1011 _INTVEC_GPIFWF = 0x01b4 + 3200 1012 _eeprom_addr:: + 3200 1013 .ds 2 + 3202 1014 _eeprom_write_bytes:: + 3202 1015 .ds 2 + 3204 1016 _eeprom_write_checksum:: + 3204 1017 .ds 1 + 3205 1018 _debug_counter:: + 3205 1019 .ds 2 + 3207 1020 _debug_stack_size:: + 3207 1021 .ds 1 + 3208 1022 _debug_msg_size:: + 3208 1023 .ds 1 + 3209 1024 _debug_stack:: + 3209 1025 .ds 96 + 3269 1026 _debug_stack_ptr:: + 3269 1027 .ds 2 + 326B 1028 _debug_msg_buf:: + 326B 1029 .ds 3 + 326E 1030 _debug_read_addr:: + 326E 1031 .ds 2 + 006C 1032 _ZTEX_DESCRIPTOR = 0x006c + 006D 1033 _ZTEX_DESCRIPTOR_VERSION = 0x006d + 006E 1034 _ZTEXID = 0x006e + 0072 1035 _PRODUCT_ID = 0x0072 + 0076 1036 _FW_VERSION = 0x0076 + 0077 1037 _INTERFACE_VERSION = 0x0077 + 0078 1038 _INTERFACE_CAPABILITIES = 0x0078 + 007E 1039 _MODULE_RESERVED = 0x007e + 008A 1040 _SN_STRING = 0x008a + 1041 ;-------------------------------------------------------- + 1042 ; absolute external ram data + 1043 ;-------------------------------------------------------- + 1044 .area XABS (ABS,XDATA) + 1045 ;-------------------------------------------------------- + 1046 ; external initialized ram data + 1047 ;-------------------------------------------------------- + 1048 .area XISEG (XDATA) + 3270 1049 _ep0_payload_remaining:: + 3270 1050 .ds 2 + 3272 1051 _ep0_payload_transfer:: + 3272 1052 .ds 1 + 3273 1053 _ep0_prev_setup_request:: + 3273 1054 .ds 1 + 3274 1055 _ep0_vendor_cmd_setup:: + 3274 1056 .ds 1 + 3275 1057 _ISOFRAME_COUNTER:: + 3275 1058 .ds 8 + 1059 .area HOME (CODE) + 1060 .area GSINIT0 (CODE) + 1061 .area GSINIT1 (CODE) + 1062 .area GSINIT2 (CODE) + 1063 .area GSINIT3 (CODE) + 1064 .area GSINIT4 (CODE) + 1065 .area GSINIT5 (CODE) + 1066 .area GSINIT (CODE) + 1067 .area GSFINAL (CODE) + 1068 .area CSEG (CODE) + 1069 ;-------------------------------------------------------- + 1070 ; interrupt vector + 1071 ;-------------------------------------------------------- + 1072 .area HOME (CODE) + 0200 1073 __interrupt_vect: + 0200 02 02 08 1074 ljmp __sdcc_gsinit_startup + 1075 ;-------------------------------------------------------- + 1076 ; global & static initialisations + 1077 ;-------------------------------------------------------- + 1078 .area HOME (CODE) + 1079 .area GSINIT (CODE) + 1080 .area GSFINAL (CODE) + 1081 .area GSINIT (CODE) + 1082 .globl __sdcc_gsinit_startup + 1083 .globl __sdcc_program_startup + 1084 .globl __start__stack + 1085 .globl __mcs51_genXINIT + 1086 .globl __mcs51_genXRAMCLEAR + 1087 .globl __mcs51_genRAMCLEAR + 1088 .area GSFINAL (CODE) + 0261 02 02 03 1089 ljmp __sdcc_program_startup + 1090 ;-------------------------------------------------------- + 1091 ; Home + 1092 ;-------------------------------------------------------- + 1093 .area HOME (CODE) + 1094 .area HOME (CODE) + 0203 1095 __sdcc_program_startup: + 0203 12 10 36 1096 lcall _main + 1097 ; return from main will lock up + 0206 80 FE 1098 sjmp . + 1099 ;-------------------------------------------------------- + 1100 ; code + 1101 ;-------------------------------------------------------- + 1102 .area CSEG (CODE) + 1103 ;------------------------------------------------------------ + 1104 ;Allocation info for local variables in function 'abscode_intvec' + 1105 ;------------------------------------------------------------ + 1106 ;------------------------------------------------------------ + 1107 ; ../../../include/ezintavecs.h:92: void abscode_intvec() _naked + 1108 ; ----------------------------------------- + 1109 ; function abscode_intvec + 1110 ; ----------------------------------------- + 0264 1111 _abscode_intvec: + 1112 ; naked function: no prologue. + 1113 ; ../../../include/ezintavecs.h:317: ERROR: no line number 317 in file ../../../include/ezintavecs.h + 1114 + 1115 .area ABSCODE (ABS,CODE) + 0000 1116 .org 0x0000 + 0000 1117 ENTRY: + 0000 02 02 00 1118 ljmp #0x0200 + 1119 ; # 94 "../../../include/ezintavecs.h" + 0003 1120 .org 0x0003 + 1121 ; # 34 "../../../include/ezintavecs.h" + 0003 32 1122 reti + 1123 ; # 94 "../../../include/ezintavecs.h" + 000B 1124 .org 0x000b + 1125 ; # 35 "../../../include/ezintavecs.h" + 000B 32 1126 reti + 1127 ; # 94 "../../../include/ezintavecs.h" + 0013 1128 .org 0x0013 + 1129 ; # 36 "../../../include/ezintavecs.h" + 0013 32 1130 reti + 1131 ; # 94 "../../../include/ezintavecs.h" + 001B 1132 .org 0x001b + 1133 ; # 37 "../../../include/ezintavecs.h" + 001B 32 1134 reti + 1135 ; # 94 "../../../include/ezintavecs.h" + 0023 1136 .org 0x0023 + 1137 ; # 38 "../../../include/ezintavecs.h" + 0023 32 1138 reti + 1139 ; # 94 "../../../include/ezintavecs.h" + 002B 1140 .org 0x002b + 1141 ; # 39 "../../../include/ezintavecs.h" + 002B 32 1142 reti + 1143 ; # 94 "../../../include/ezintavecs.h" + 0033 1144 .org 0x0033 + 1145 ; # 40 "../../../include/ezintavecs.h" + 0033 32 1146 reti + 1147 ; # 94 "../../../include/ezintavecs.h" + 003B 1148 .org 0x003b + 1149 ; # 41 "../../../include/ezintavecs.h" + 003B 32 1150 reti + 1151 ; # 94 "../../../include/ezintavecs.h" + 0043 1152 .org 0x0043 + 1153 ; # 42 "../../../include/ezintavecs.h" + 0043 32 1154 reti + 1155 ; # 94 "../../../include/ezintavecs.h" + 004B 1156 .org 0x004b + 1157 ; # 43 "../../../include/ezintavecs.h" + 004B 32 1158 reti + 1159 ; # 94 "../../../include/ezintavecs.h" + 0053 1160 .org 0x0053 + 1161 ; # 44 "../../../include/ezintavecs.h" + 0053 32 1162 reti + 1163 ; # 94 "../../../include/ezintavecs.h" + 005B 1164 .org 0x005b + 1165 ; # 45 "../../../include/ezintavecs.h" + 005B 32 1166 reti + 1167 ; # 94 "../../../include/ezintavecs.h" + 0063 1168 .org 0x0063 + 1169 ; # 46 "../../../include/ezintavecs.h" + 0063 32 1170 reti + 1171 ; # 94 "../../../include/ezintavecs.h" + 0100 1172 .org 0x0100 + 1173 ; # 47 "../../../include/ezintavecs.h" + 0100 32 1174 reti + 1175 ; # 94 "../../../include/ezintavecs.h" + 0104 1176 .org 0x0104 + 1177 ; # 48 "../../../include/ezintavecs.h" + 0104 32 1178 reti + 1179 ; # 94 "../../../include/ezintavecs.h" + 0108 1180 .org 0x0108 + 1181 ; # 49 "../../../include/ezintavecs.h" + 0108 32 1182 reti + 1183 ; # 94 "../../../include/ezintavecs.h" + 010C 1184 .org 0x010C + 1185 ; # 50 "../../../include/ezintavecs.h" + 010C 32 1186 reti + 1187 ; # 94 "../../../include/ezintavecs.h" + 0110 1188 .org 0x0110 + 1189 ; # 51 "../../../include/ezintavecs.h" + 0110 32 1190 reti + 1191 ; # 94 "../../../include/ezintavecs.h" + 0114 1192 .org 0x0114 + 1193 ; # 52 "../../../include/ezintavecs.h" + 0114 32 1194 reti + 1195 ; # 94 "../../../include/ezintavecs.h" + 0118 1196 .org 0x0118 + 1197 ; # 53 "../../../include/ezintavecs.h" + 0118 32 1198 reti + 1199 ; # 94 "../../../include/ezintavecs.h" + 0120 1200 .org 0x0120 + 1201 ; # 54 "../../../include/ezintavecs.h" + 0120 32 1202 reti + 1203 ; # 94 "../../../include/ezintavecs.h" + 0124 1204 .org 0x0124 + 1205 ; # 55 "../../../include/ezintavecs.h" + 0124 32 1206 reti + 1207 ; # 94 "../../../include/ezintavecs.h" + 0128 1208 .org 0x0128 + 1209 ; # 56 "../../../include/ezintavecs.h" + 0128 32 1210 reti + 1211 ; # 94 "../../../include/ezintavecs.h" + 012C 1212 .org 0x012C + 1213 ; # 57 "../../../include/ezintavecs.h" + 012C 32 1214 reti + 1215 ; # 94 "../../../include/ezintavecs.h" + 0130 1216 .org 0x0130 + 1217 ; # 58 "../../../include/ezintavecs.h" + 0130 32 1218 reti + 1219 ; # 94 "../../../include/ezintavecs.h" + 0134 1220 .org 0x0134 + 1221 ; # 59 "../../../include/ezintavecs.h" + 0134 32 1222 reti + 1223 ; # 94 "../../../include/ezintavecs.h" + 0138 1224 .org 0x0138 + 1225 ; # 60 "../../../include/ezintavecs.h" + 0138 32 1226 reti + 1227 ; # 94 "../../../include/ezintavecs.h" + 013C 1228 .org 0x013C + 1229 ; # 61 "../../../include/ezintavecs.h" + 013C 32 1230 reti + 1231 ; # 94 "../../../include/ezintavecs.h" + 0140 1232 .org 0x0140 + 1233 ; # 62 "../../../include/ezintavecs.h" + 0140 32 1234 reti + 1235 ; # 94 "../../../include/ezintavecs.h" + 0148 1236 .org 0x0148 + 1237 ; # 63 "../../../include/ezintavecs.h" + 0148 32 1238 reti + 1239 ; # 94 "../../../include/ezintavecs.h" + 014C 1240 .org 0x014C + 1241 ; # 64 "../../../include/ezintavecs.h" + 014C 32 1242 reti + 1243 ; # 94 "../../../include/ezintavecs.h" + 0150 1244 .org 0x0150 + 1245 ; # 65 "../../../include/ezintavecs.h" + 0150 32 1246 reti + 1247 ; # 94 "../../../include/ezintavecs.h" + 0154 1248 .org 0x0154 + 1249 ; # 66 "../../../include/ezintavecs.h" + 0154 32 1250 reti + 1251 ; # 94 "../../../include/ezintavecs.h" + 0158 1252 .org 0x0158 + 1253 ; # 67 "../../../include/ezintavecs.h" + 0158 32 1254 reti + 1255 ; # 94 "../../../include/ezintavecs.h" + 015C 1256 .org 0x015C + 1257 ; # 68 "../../../include/ezintavecs.h" + 015C 32 1258 reti + 1259 ; # 94 "../../../include/ezintavecs.h" + 0160 1260 .org 0x0160 + 1261 ; # 69 "../../../include/ezintavecs.h" + 0160 32 1262 reti + 1263 ; # 94 "../../../include/ezintavecs.h" + 0170 1264 .org 0x0170 + 1265 ; # 70 "../../../include/ezintavecs.h" + 0170 32 1266 reti + 1267 ; # 94 "../../../include/ezintavecs.h" + 0174 1268 .org 0x0174 + 1269 ; # 71 "../../../include/ezintavecs.h" + 0174 32 1270 reti + 1271 ; # 94 "../../../include/ezintavecs.h" + 0178 1272 .org 0x0178 + 1273 ; # 72 "../../../include/ezintavecs.h" + 0178 32 1274 reti + 1275 ; # 94 "../../../include/ezintavecs.h" + 017C 1276 .org 0x017C + 1277 ; # 73 "../../../include/ezintavecs.h" + 017C 32 1278 reti + 1279 ; # 94 "../../../include/ezintavecs.h" + 0180 1280 .org 0x0180 + 1281 ; # 74 "../../../include/ezintavecs.h" + 0180 32 1282 reti + 1283 ; # 94 "../../../include/ezintavecs.h" + 0184 1284 .org 0x0184 + 1285 ; # 75 "../../../include/ezintavecs.h" + 0184 32 1286 reti + 1287 ; # 94 "../../../include/ezintavecs.h" + 0188 1288 .org 0x0188 + 1289 ; # 76 "../../../include/ezintavecs.h" + 0188 32 1290 reti + 1291 ; # 94 "../../../include/ezintavecs.h" + 018C 1292 .org 0x018C + 1293 ; # 77 "../../../include/ezintavecs.h" + 018C 32 1294 reti + 1295 ; # 94 "../../../include/ezintavecs.h" + 0190 1296 .org 0x0190 + 1297 ; # 78 "../../../include/ezintavecs.h" + 0190 32 1298 reti + 1299 ; # 94 "../../../include/ezintavecs.h" + 0194 1300 .org 0x0194 + 1301 ; # 79 "../../../include/ezintavecs.h" + 0194 32 1302 reti + 1303 ; # 94 "../../../include/ezintavecs.h" + 0198 1304 .org 0x0198 + 1305 ; # 80 "../../../include/ezintavecs.h" + 0198 32 1306 reti + 1307 ; # 94 "../../../include/ezintavecs.h" + 019C 1308 .org 0x019C + 1309 ; # 81 "../../../include/ezintavecs.h" + 019C 32 1310 reti + 1311 ; # 94 "../../../include/ezintavecs.h" + 01A0 1312 .org 0x01A0 + 1313 ; # 82 "../../../include/ezintavecs.h" + 01A0 32 1314 reti + 1315 ; # 94 "../../../include/ezintavecs.h" + 01A8 1316 .org 0x01A8 + 1317 ; # 83 "../../../include/ezintavecs.h" + 01A8 32 1318 reti + 1319 ; # 94 "../../../include/ezintavecs.h" + 01AC 1320 .org 0x01AC + 1321 ; # 84 "../../../include/ezintavecs.h" + 01AC 32 1322 reti + 1323 ; # 94 "../../../include/ezintavecs.h" + 01B0 1324 .org 0x01B0 + 1325 ; # 85 "../../../include/ezintavecs.h" + 01B0 32 1326 reti + 1327 ; # 94 "../../../include/ezintavecs.h" + 01B4 1328 .org 0x01B4 + 1329 ; # 101 "../../../include/ezintavecs.h" + 01B4 32 1330 reti + 01B8 1331 .org 0x01b8 + 01B8 1332 INTVEC_DUMMY: + 01B8 32 1333 reti + 1334 .area CSEG (CODE) + 1335 + 1336 ; naked function: no epilogue. + 1337 ;------------------------------------------------------------ + 1338 ;Allocation info for local variables in function 'wait' + 1339 ;------------------------------------------------------------ + 1340 ;ms Allocated to registers r2 r3 + 1341 ;i Allocated to registers r6 r7 + 1342 ;j Allocated to registers r4 r5 + 1343 ;------------------------------------------------------------ + 1344 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 1345 ; ----------------------------------------- + 1346 ; function wait + 1347 ; ----------------------------------------- + 0264 1348 _wait: + 0002 1349 ar2 = 0x02 + 0003 1350 ar3 = 0x03 + 0004 1351 ar4 = 0x04 + 0005 1352 ar5 = 0x05 + 0006 1353 ar6 = 0x06 + 0007 1354 ar7 = 0x07 + 0000 1355 ar0 = 0x00 + 0001 1356 ar1 = 0x01 + 0264 AA 82 1357 mov r2,dpl + 0266 AB 83 1358 mov r3,dph + 1359 ; ../../../include/ztex-utils.h:80: for (j=0; j> 8) + 05CA FD 2103 mov r5,a + 05CB 90 32 69 2104 mov dptr,#_debug_stack_ptr + 05CE EC 2105 mov a,r4 + 05CF F0 2106 movx @dptr,a + 05D0 A3 2107 inc dptr + 05D1 ED 2108 mov a,r5 + 05D2 F0 2109 movx @dptr,a + 2110 ; ../../../include/ztex-utils.h:120: AUTOPTRL1=LO(&($0)); + 05D3 75 9B 6B 2111 mov _AUTOPTRL1,#_debug_msg_buf + 2112 ; ../../../include/ztex-utils.h:121: AUTOPTRH1=HI(&($0)); + 05D6 7E 6B 2113 mov r6,#_debug_msg_buf + 05D8 7F 32 2114 mov r7,#(_debug_msg_buf >> 8) + 05DA 8F 9A 2115 mov _AUTOPTRH1,r7 + 2116 ; ../../../include/ztex-utils.h:122: AUTOPTRL2=LO(&($1)); + 05DC 8C 06 2117 mov ar6,r4 + 05DE 8D 07 2118 mov ar7,r5 + 05E0 8E 9E 2119 mov _AUTOPTRL2,r6 + 2120 ; ../../../include/ztex-utils.h:123: AUTOPTRH2=HI(&($1)); + 05E2 8D 9D 2121 mov _AUTOPTRH2,r5 + 2122 ; ../../../include/ztex-utils.h:129: _endasm; + 2123 + 05E4 C0 02 2124 push ar2 + 05E6 7A 03 2125 mov r2,#(3); + 05E8 12 02 AC 2126 lcall _MEM_COPY1_int + 05EB D0 02 2127 pop ar2 + 2128 + 2129 ; ../../../include/ztex-debug.h:53: debug_counter += 1; + 05ED 90 32 05 2130 mov dptr,#_debug_counter + 05F0 74 01 2131 mov a,#0x01 + 05F2 2A 2132 add a,r2 + 05F3 F0 2133 movx @dptr,a + 05F4 E4 2134 clr a + 05F5 3B 2135 addc a,r3 + 05F6 A3 2136 inc dptr + 05F7 F0 2137 movx @dptr,a + 05F8 22 2138 ret + 2139 ;------------------------------------------------------------ + 2140 ;Allocation info for local variables in function 'debug_init' + 2141 ;------------------------------------------------------------ + 2142 ;------------------------------------------------------------ + 2143 ; ../../../include/ztex-debug.h:60: void debug_init () { + 2144 ; ----------------------------------------- + 2145 ; function debug_init + 2146 ; ----------------------------------------- + 05F9 2147 _debug_init: + 2148 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 05F9 90 32 05 2149 mov dptr,#_debug_counter + 05FC E4 2150 clr a + 05FD F0 2151 movx @dptr,a + 05FE A3 2152 inc dptr + 05FF F0 2153 movx @dptr,a + 2154 ; ../../../include/ztex-debug.h:62: debug_stack_size = DEBUG_STACK_SIZE; + 0600 90 32 07 2155 mov dptr,#_debug_stack_size + 0603 74 20 2156 mov a,#0x20 + 0605 F0 2157 movx @dptr,a + 2158 ; ../../../include/ztex-debug.h:63: debug_msg_size = DEBUG_MSG_SIZE; + 0606 90 32 08 2159 mov dptr,#_debug_msg_size + 0609 74 03 2160 mov a,#0x03 + 060B F0 2161 movx @dptr,a + 2162 ; ../../../include/ztex-debug.h:64: debug_stack_ptr = debug_stack; + 060C 90 32 69 2163 mov dptr,#_debug_stack_ptr + 060F 74 09 2164 mov a,#_debug_stack + 0611 F0 2165 movx @dptr,a + 0612 A3 2166 inc dptr + 0613 74 32 2167 mov a,#(_debug_stack >> 8) + 0615 F0 2168 movx @dptr,a + 0616 22 2169 ret + 2170 ;------------------------------------------------------------ + 2171 ;Allocation info for local variables in function 'debug_read_ep0' + 2172 ;------------------------------------------------------------ + 2173 ;b Allocated to registers r2 + 2174 ;------------------------------------------------------------ + 2175 ; ../../../include/ztex-debug.h:71: BYTE debug_read_ep0 () { + 2176 ; ----------------------------------------- + 2177 ; function debug_read_ep0 + 2178 ; ----------------------------------------- + 0617 2179 _debug_read_ep0: + 2180 ; ../../../include/ztex-debug.h:73: b = ep0_payload_transfer; + 0617 90 32 72 2181 mov dptr,#_ep0_payload_transfer + 061A E0 2182 movx a,@dptr + 2183 ; ../../../include/ztex-debug.h:74: if ( b != 0) { + 061B FA 2184 mov r2,a + 061C 70 03 2185 jnz 00106$ + 061E 02 06 3C 2186 ljmp 00102$ + 0621 2187 00106$: + 2188 ; ../../../include/ztex-utils.h:120: AUTOPTRL1=LO(&($0)); + 0621 90 32 6E 2189 mov dptr,#_debug_read_addr + 0624 E0 2190 movx a,@dptr + 0625 FB 2191 mov r3,a + 0626 A3 2192 inc dptr + 0627 E0 2193 movx a,@dptr + 0628 FC 2194 mov r4,a + 0629 8B 9B 2195 mov _AUTOPTRL1,r3 + 2196 ; ../../../include/ztex-utils.h:121: AUTOPTRH1=HI(&($0)); + 062B 8C 9A 2197 mov _AUTOPTRH1,r4 + 2198 ; ../../../include/ztex-utils.h:122: AUTOPTRL2=LO(&($1)); + 062D 75 9E 40 2199 mov _AUTOPTRL2,#0x40 + 2200 ; ../../../include/ztex-utils.h:123: AUTOPTRH2=HI(&($1)); + 0630 75 9D E7 2201 mov _AUTOPTRH2,#0xE7 + 2202 ; ../../../include/ztex-utils.h:129: _endasm; + 2203 + 0633 C0 02 2204 push ar2 + 0635 7A F0 2205 mov r2,#(b); + 0637 12 02 AC 2206 lcall _MEM_COPY1_int + 063A D0 02 2207 pop ar2 + 2208 + 063C 2209 00102$: + 2210 ; ../../../include/ztex-debug.h:77: debug_read_addr += b; + 063C 90 32 6E 2211 mov dptr,#_debug_read_addr + 063F E0 2212 movx a,@dptr + 0640 FB 2213 mov r3,a + 0641 A3 2214 inc dptr + 0642 E0 2215 movx a,@dptr + 0643 FC 2216 mov r4,a + 0644 90 32 6E 2217 mov dptr,#_debug_read_addr + 0647 EA 2218 mov a,r2 + 0648 2B 2219 add a,r3 + 0649 F0 2220 movx @dptr,a + 064A E4 2221 clr a + 064B 3C 2222 addc a,r4 + 064C A3 2223 inc dptr + 064D F0 2224 movx @dptr,a + 2225 ; ../../../include/ztex-debug.h:78: return b; + 064E 8A 82 2226 mov dpl,r2 + 0650 22 2227 ret + 2228 ;------------------------------------------------------------ + 2229 ;Allocation info for local variables in function 'abscode_identity' + 2230 ;------------------------------------------------------------ + 2231 ;------------------------------------------------------------ + 2232 ; ../../../include/ztex-descriptors.h:116: void abscode_identity() _naked + 2233 ; ----------------------------------------- + 2234 ; function abscode_identity + 2235 ; ----------------------------------------- + 0651 2236 _abscode_identity: + 2237 ; naked function: no prologue. + 2238 ; ../../../include/ztex-descriptors.h:170: .db MODULE_RESERVED_03 + 2239 + 2240 .area ABSCODE (ABS,CODE) + 2241 + 006C 2242 .org 0x06c + 006C 28 2243 .db 40 + 2244 + 006D 2245 .org _ZTEX_DESCRIPTOR_VERSION + 006D 01 2246 .db 1 + 2247 + 006E 2248 .org _ZTEXID + 006E 5A 54 45 58 2249 .ascii "ZTEX" + 2250 + 0072 2251 .org _PRODUCT_ID + 0072 00 2252 .db 0 + 0073 00 2253 .db 0 + 0074 00 2254 .db 0 + 0075 00 2255 .db 0 + 2256 + 0076 2257 .org _FW_VERSION + 0076 00 2258 .db 0 + 2259 + 0077 2260 .org _INTERFACE_VERSION + 0077 01 2261 .db 1 + 2262 + 0078 2263 .org _INTERFACE_CAPABILITIES + 2264 ; # 158 "../../../include/ztex-descriptors.h" + 0078 09 2265 .db 0 + 1 + 8 + 2266 ; # 160 "../../../include/ztex-descriptors.h" + 0079 00 2267 .db 0 + 007A 00 2268 .db 0 + 007B 00 2269 .db 0 + 007C 00 2270 .db 0 + 007D 00 2271 .db 0 + 2272 + 007E 2273 .org _MODULE_RESERVED + 007E 00 2274 .db 0 + 007F 00 2275 .db 0 + 0080 00 2276 .db 0 + 0081 00 2277 .db 0 + 0082 00 2278 .db 0 + 0083 00 2279 .db 0 + 0084 00 2280 .db 0 + 0085 00 2281 .db 0 + 0086 00 2282 .db 0 + 0087 00 2283 .db 0 + 0088 00 2284 .db 0 + 0089 00 2285 .db 0 + 2286 + 008A 2287 .org _SN_STRING + 008A 30 30 30 30 30 30 2288 .ascii "0000000000" + 30 30 30 30 + 2289 + 2290 .area CSEG (CODE) + 2291 + 2292 ; naked function: no epilogue. + 2293 ;------------------------------------------------------------ + 2294 ;Allocation info for local variables in function 'resetToggleData' + 2295 ;------------------------------------------------------------ + 2296 ;------------------------------------------------------------ + 2297 ; ../../../include/ztex-isr.h:34: static void resetToggleData () { + 2298 ; ----------------------------------------- + 2299 ; function resetToggleData + 2300 ; ----------------------------------------- + 0651 2301 _resetToggleData: + 2302 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 2303 ; ../../../include/ztex-isr.h:46: TOGCTL = 0 | bmBIT5; + 2304 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 2305 ; ../../../include/ztex-isr.h:48: TOGCTL = 0x10 | bmBIT5; + 0651 90 E6 83 2306 mov dptr,#_TOGCTL + 0654 E4 2307 clr a + 0655 F0 2308 movx @dptr,a + 0656 74 20 2309 mov a,#0x20 + 0658 F0 2310 movx @dptr,a + 0659 74 10 2311 mov a,#0x10 + 065B F0 2312 movx @dptr,a + 065C 74 30 2313 mov a,#0x30 + 065E F0 2314 movx @dptr,a + 2315 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 2316 ; ../../../include/ztex-isr.h:51: TOGCTL = 1 | bmBIT5; + 2317 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 2318 ; ../../../include/ztex-isr.h:55: TOGCTL = 0x11 | bmBIT5; + 065F 90 E6 83 2319 mov dptr,#_TOGCTL + 0662 74 01 2320 mov a,#0x01 + 0664 F0 2321 movx @dptr,a + 0665 74 21 2322 mov a,#0x21 + 0667 F0 2323 movx @dptr,a + 0668 74 11 2324 mov a,#0x11 + 066A F0 2325 movx @dptr,a + 066B 74 31 2326 mov a,#0x31 + 066D F0 2327 movx @dptr,a + 066E 22 2328 ret + 2329 ;------------------------------------------------------------ + 2330 ;Allocation info for local variables in function 'sendStringDescriptor' + 2331 ;------------------------------------------------------------ + 2332 ;hiAddr Allocated with name '_sendStringDescriptor_PARM_2' + 2333 ;size Allocated with name '_sendStringDescriptor_PARM_3' + 2334 ;loAddr Allocated to registers r2 + 2335 ;i Allocated to registers r2 + 2336 ;------------------------------------------------------------ + 2337 ; ../../../include/ztex-isr.h:68: static void sendStringDescriptor (BYTE loAddr, BYTE hiAddr, BYTE size) + 2338 ; ----------------------------------------- + 2339 ; function sendStringDescriptor + 2340 ; ----------------------------------------- + 066F 2341 _sendStringDescriptor: + 066F AA 82 2342 mov r2,dpl + 2343 ; ../../../include/ztex-isr.h:71: if ( size > 31) + 0671 E5 10 2344 mov a,_sendStringDescriptor_PARM_3 + 0673 24 E0 2345 add a,#0xff - 0x1F + 0675 50 03 2346 jnc 00102$ + 2347 ; ../../../include/ztex-isr.h:72: size = 31; + 0677 75 10 1F 2348 mov _sendStringDescriptor_PARM_3,#0x1F + 067A 2349 00102$: + 2350 ; ../../../include/ztex-isr.h:73: AUTOPTRSETUP = 7; + 067A 75 AF 07 2351 mov _AUTOPTRSETUP,#0x07 + 2352 ; ../../../include/ztex-isr.h:74: AUTOPTRL1 = loAddr; + 067D 8A 9B 2353 mov _AUTOPTRL1,r2 + 2354 ; ../../../include/ztex-isr.h:75: AUTOPTRH1 = hiAddr; + 067F 85 0F 9A 2355 mov _AUTOPTRH1,_sendStringDescriptor_PARM_2 + 2356 ; ../../../include/ztex-isr.h:76: AUTOPTRL2 = (BYTE)(((unsigned short)(&EP0BUF))+1); + 0682 75 9E 41 2357 mov _AUTOPTRL2,#0x41 + 2358 ; ../../../include/ztex-isr.h:77: AUTOPTRH2 = (BYTE)((((unsigned short)(&EP0BUF))+1) >> 8); + 0685 75 9D E7 2359 mov _AUTOPTRH2,#0xE7 + 2360 ; ../../../include/ztex-isr.h:78: XAUTODAT2 = 3; + 0688 90 E6 7C 2361 mov dptr,#_XAUTODAT2 + 068B 74 03 2362 mov a,#0x03 + 068D F0 2363 movx @dptr,a + 2364 ; ../../../include/ztex-isr.h:79: for (i=0; i 64 ) ? 64 : ep0_payload_remaining; + 06C2 90 32 70 2416 mov dptr,#_ep0_payload_remaining + 06C5 E0 2417 movx a,@dptr + 06C6 FA 2418 mov r2,a + 06C7 A3 2419 inc dptr + 06C8 E0 2420 movx a,@dptr + 06C9 FB 2421 mov r3,a + 06CA C3 2422 clr c + 06CB 74 40 2423 mov a,#0x40 + 06CD 9A 2424 subb a,r2 + 06CE E4 2425 clr a + 06CF 9B 2426 subb a,r3 + 06D0 50 06 2427 jnc 00103$ + 06D2 7C 40 2428 mov r4,#0x40 + 06D4 7D 00 2429 mov r5,#0x00 + 06D6 80 04 2430 sjmp 00104$ + 06D8 2431 00103$: + 06D8 8A 04 2432 mov ar4,r2 + 06DA 8B 05 2433 mov ar5,r3 + 06DC 2434 00104$: + 06DC 90 32 72 2435 mov dptr,#_ep0_payload_transfer + 06DF EC 2436 mov a,r4 + 06E0 F0 2437 movx @dptr,a + 2438 ; ../../../include/ztex-isr.h:95: ep0_payload_remaining -= ep0_payload_transfer; + 06E1 7D 00 2439 mov r5,#0x00 + 06E3 90 32 70 2440 mov dptr,#_ep0_payload_remaining + 06E6 EA 2441 mov a,r2 + 06E7 C3 2442 clr c + 06E8 9C 2443 subb a,r4 + 06E9 F0 2444 movx @dptr,a + 06EA EB 2445 mov a,r3 + 06EB 9D 2446 subb a,r5 + 06EC A3 2447 inc dptr + 06ED F0 2448 movx @dptr,a + 06EE 22 2449 ret + 2450 ;------------------------------------------------------------ + 2451 ;Allocation info for local variables in function 'ep0_vendor_cmd_su' + 2452 ;------------------------------------------------------------ + 2453 ;------------------------------------------------------------ + 2454 ; ../../../include/ztex-isr.h:102: static void ep0_vendor_cmd_su() { + 2455 ; ----------------------------------------- + 2456 ; function ep0_vendor_cmd_su + 2457 ; ----------------------------------------- + 06EF 2458 _ep0_vendor_cmd_su: + 2459 ; ../../../include/ztex-isr.h:103: switch ( ep0_prev_setup_request ) { + 06EF 90 32 73 2460 mov dptr,#_ep0_prev_setup_request + 06F2 E0 2461 movx a,@dptr + 06F3 FA 2462 mov r2,a + 06F4 BA 39 24 2463 cjne r2,#0x39,00102$ + 2464 ; ../../../include/ztex-eeprom.h:233: eeprom_write_checksum = 0; + 06F7 90 32 04 2465 mov dptr,#_eeprom_write_checksum + 2466 ; ../../../include/ztex-eeprom.h:234: eeprom_write_bytes = 0; + 06FA E4 2467 clr a + 06FB F0 2468 movx @dptr,a + 06FC 90 32 02 2469 mov dptr,#_eeprom_write_bytes + 06FF F0 2470 movx @dptr,a + 0700 A3 2471 inc dptr + 0701 F0 2472 movx @dptr,a + 2473 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 0702 90 E6 BB 2474 mov dptr,#(_SETUPDAT + 0x0003) + 0705 E0 2475 movx a,@dptr + 0706 FB 2476 mov r3,a + 0707 7A 00 2477 mov r2,#0x00 + 0709 90 E6 BA 2478 mov dptr,#(_SETUPDAT + 0x0002) + 070C E0 2479 movx a,@dptr + 070D FC 2480 mov r4,a + 070E 7D 00 2481 mov r5,#0x00 + 0710 90 32 00 2482 mov dptr,#_eeprom_addr + 0713 EC 2483 mov a,r4 + 0714 4A 2484 orl a,r2 + 0715 F0 2485 movx @dptr,a + 0716 ED 2486 mov a,r5 + 0717 4B 2487 orl a,r3 + 0718 A3 2488 inc dptr + 0719 F0 2489 movx @dptr,a + 2490 ; ../../../include/ztex-conf.h:115: break; + 2491 ; ../../../include/ztex-isr.h:105: default: + 071A 22 2492 ret + 071B 2493 00102$: + 2494 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 071B 90 E6 A0 2495 mov dptr,#_EP0CS + 071E E0 2496 movx a,@dptr + 071F 44 01 2497 orl a,#0x01 + 0721 F0 2498 movx @dptr,a + 2499 ; ../../../include/ztex-isr.h:107: } + 0722 22 2500 ret + 2501 ;------------------------------------------------------------ + 2502 ;Allocation info for local variables in function 'SUDAV_ISR' + 2503 ;------------------------------------------------------------ + 2504 ;a Allocated to registers r2 + 2505 ;------------------------------------------------------------ + 2506 ; ../../../include/ztex-isr.h:113: static void SUDAV_ISR () interrupt + 2507 ; ----------------------------------------- + 2508 ; function SUDAV_ISR + 2509 ; ----------------------------------------- + 0723 2510 _SUDAV_ISR: + 0723 C0 20 2511 push bits + 0725 C0 E0 2512 push acc + 0727 C0 F0 2513 push b + 0729 C0 82 2514 push dpl + 072B C0 83 2515 push dph + 072D C0 02 2516 push (0+2) + 072F C0 03 2517 push (0+3) + 0731 C0 04 2518 push (0+4) + 0733 C0 05 2519 push (0+5) + 0735 C0 06 2520 push (0+6) + 0737 C0 07 2521 push (0+7) + 0739 C0 00 2522 push (0+0) + 073B C0 01 2523 push (0+1) + 073D C0 D0 2524 push psw + 073F 75 D0 00 2525 mov psw,#0x00 + 2526 ; ../../../include/ztex-isr.h:116: ep0_prev_setup_request = bRequest; + 0742 90 E6 B9 2527 mov dptr,#_bRequest + 0745 E0 2528 movx a,@dptr + 0746 FA 2529 mov r2,a + 0747 90 32 73 2530 mov dptr,#_ep0_prev_setup_request + 074A F0 2531 movx @dptr,a + 2532 ; ../../../include/ztex-isr.h:117: SUDPTRCTL = 1; + 074B 90 E6 B5 2533 mov dptr,#_SUDPTRCTL + 074E 74 01 2534 mov a,#0x01 + 0750 F0 2535 movx @dptr,a + 2536 ; ../../../include/ztex-isr.h:120: switch ( bRequest ) { + 0751 90 E6 B9 2537 mov dptr,#_bRequest + 0754 E0 2538 movx a,@dptr + 0755 FA 2539 mov r2,a + 0756 24 F3 2540 add a,#0xff - 0x0C + 0758 50 03 2541 jnc 00214$ + 075A 02 0A D9 2542 ljmp 00160$ + 075D 2543 00214$: + 075D EA 2544 mov a,r2 + 075E 2A 2545 add a,r2 + 075F 2A 2546 add a,r2 + 0760 90 07 64 2547 mov dptr,#00215$ + 0763 73 2548 jmp @a+dptr + 0764 2549 00215$: + 0764 02 07 8B 2550 ljmp 00101$ + 0767 02 08 3F 2551 ljmp 00112$ + 076A 02 0A D9 2552 ljmp 00160$ + 076D 02 08 BC 2553 ljmp 00122$ + 0770 02 0A D9 2554 ljmp 00160$ + 0773 02 0A D9 2555 ljmp 00160$ + 0776 02 09 54 2556 ljmp 00132$ + 0779 02 0A 6F 2557 ljmp 00152$ + 077C 02 0A 71 2558 ljmp 00153$ + 077F 02 0A 82 2559 ljmp 00154$ + 0782 02 0A 87 2560 ljmp 00155$ + 0785 02 0A 98 2561 ljmp 00156$ + 0788 02 0A 9D 2562 ljmp 00157$ + 2563 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 078B 2564 00101$: + 2565 ; ../../../include/ztex-isr.h:122: switch(SETUPDAT[0]) { + 078B 90 E6 B8 2566 mov dptr,#_SETUPDAT + 078E E0 2567 movx a,@dptr + 078F FA 2568 mov r2,a + 0790 BA 80 02 2569 cjne r2,#0x80,00216$ + 0793 80 0D 2570 sjmp 00102$ + 0795 2571 00216$: + 0795 BA 81 02 2572 cjne r2,#0x81,00217$ + 0798 80 1E 2573 sjmp 00103$ + 079A 2574 00217$: + 079A BA 82 02 2575 cjne r2,#0x82,00218$ + 079D 80 2F 2576 sjmp 00104$ + 079F 2577 00218$: + 079F 02 0A D9 2578 ljmp 00160$ + 2579 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 07A2 2580 00102$: + 07A2 90 E7 40 2581 mov dptr,#_EP0BUF + 2582 ; ../../../include/ztex-isr.h:125: EP0BUF[1] = 0; + 2583 ; ../../../include/ztex-isr.h:126: EP0BCH = 0; + 07A5 E4 2584 clr a + 07A6 F0 2585 movx @dptr,a + 07A7 90 E7 41 2586 mov dptr,#(_EP0BUF + 0x0001) + 07AA F0 2587 movx @dptr,a + 07AB 90 E6 8A 2588 mov dptr,#_EP0BCH + 07AE F0 2589 movx @dptr,a + 2590 ; ../../../include/ztex-isr.h:127: EP0BCL = 2; + 07AF 90 E6 8B 2591 mov dptr,#_EP0BCL + 07B2 74 02 2592 mov a,#0x02 + 07B4 F0 2593 movx @dptr,a + 2594 ; ../../../include/ztex-isr.h:128: break; + 07B5 02 0A D9 2595 ljmp 00160$ + 2596 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 07B8 2597 00103$: + 07B8 90 E7 40 2598 mov dptr,#_EP0BUF + 2599 ; ../../../include/ztex-isr.h:131: EP0BUF[1] = 0; + 2600 ; ../../../include/ztex-isr.h:132: EP0BCH = 0; + 07BB E4 2601 clr a + 07BC F0 2602 movx @dptr,a + 07BD 90 E7 41 2603 mov dptr,#(_EP0BUF + 0x0001) + 07C0 F0 2604 movx @dptr,a + 07C1 90 E6 8A 2605 mov dptr,#_EP0BCH + 07C4 F0 2606 movx @dptr,a + 2607 ; ../../../include/ztex-isr.h:133: EP0BCL = 2; + 07C5 90 E6 8B 2608 mov dptr,#_EP0BCL + 07C8 74 02 2609 mov a,#0x02 + 07CA F0 2610 movx @dptr,a + 2611 ; ../../../include/ztex-isr.h:134: break; + 07CB 02 0A D9 2612 ljmp 00160$ + 2613 ; ../../../include/ztex-isr.h:135: case 0x82: + 07CE 2614 00104$: + 2615 ; ../../../include/ztex-isr.h:136: switch ( SETUPDAT[4] ) { + 07CE 90 E6 BC 2616 mov dptr,#(_SETUPDAT + 0x0004) + 07D1 E0 2617 movx a,@dptr + 07D2 FA 2618 mov r2,a + 07D3 60 0F 2619 jz 00106$ + 07D5 BA 01 02 2620 cjne r2,#0x01,00220$ + 07D8 80 19 2621 sjmp 00107$ + 07DA 2622 00220$: + 07DA BA 80 02 2623 cjne r2,#0x80,00221$ + 07DD 80 05 2624 sjmp 00106$ + 07DF 2625 00221$: + 2626 ; ../../../include/ztex-isr.h:138: case 0x80 : + 07DF BA 81 2F 2627 cjne r2,#0x81,00109$ + 07E2 80 1E 2628 sjmp 00108$ + 07E4 2629 00106$: + 2630 ; ../../../include/ztex-isr.h:139: EP0BUF[0] = EP0CS & bmBIT0; + 07E4 90 E6 A0 2631 mov dptr,#_EP0CS + 07E7 E0 2632 movx a,@dptr + 07E8 FA 2633 mov r2,a + 07E9 53 02 01 2634 anl ar2,#0x01 + 07EC 90 E7 40 2635 mov dptr,#_EP0BUF + 07EF EA 2636 mov a,r2 + 07F0 F0 2637 movx @dptr,a + 2638 ; ../../../include/ztex-isr.h:140: break; + 2639 ; ../../../include/ztex-isr.h:141: case 0x01 : + 07F1 80 3A 2640 sjmp 00110$ + 07F3 2641 00107$: + 2642 ; ../../../include/ztex-isr.h:142: EP0BUF[0] = EP1OUTCS & bmBIT0; + 07F3 90 E6 A1 2643 mov dptr,#_EP1OUTCS + 07F6 E0 2644 movx a,@dptr + 07F7 FA 2645 mov r2,a + 07F8 53 02 01 2646 anl ar2,#0x01 + 07FB 90 E7 40 2647 mov dptr,#_EP0BUF + 07FE EA 2648 mov a,r2 + 07FF F0 2649 movx @dptr,a + 2650 ; ../../../include/ztex-isr.h:143: break; + 2651 ; ../../../include/ztex-isr.h:144: case 0x81 : + 0800 80 2B 2652 sjmp 00110$ + 0802 2653 00108$: + 2654 ; ../../../include/ztex-isr.h:145: EP0BUF[0] = EP1INCS & bmBIT0; + 0802 90 E6 A2 2655 mov dptr,#_EP1INCS + 0805 E0 2656 movx a,@dptr + 0806 FA 2657 mov r2,a + 0807 53 02 01 2658 anl ar2,#0x01 + 080A 90 E7 40 2659 mov dptr,#_EP0BUF + 080D EA 2660 mov a,r2 + 080E F0 2661 movx @dptr,a + 2662 ; ../../../include/ztex-isr.h:146: break; + 2663 ; ../../../include/ztex-isr.h:147: default: + 080F 80 1C 2664 sjmp 00110$ + 0811 2665 00109$: + 2666 ; ../../../include/ztex-isr.h:148: EP0BUF[0] = EPXCS[ ((SETUPDAT[4] >> 1)-1) & 3 ] & bmBIT0; + 0811 90 E6 BC 2667 mov dptr,#(_SETUPDAT + 0x0004) + 0814 E0 2668 movx a,@dptr + 0815 C3 2669 clr c + 0816 13 2670 rrc a + 0817 14 2671 dec a + 0818 54 03 2672 anl a,#0x03 + 081A 24 A3 2673 add a,#_EPXCS + 081C F5 82 2674 mov dpl,a + 081E E4 2675 clr a + 081F 34 E6 2676 addc a,#(_EPXCS >> 8) + 0821 F5 83 2677 mov dph,a + 0823 E0 2678 movx a,@dptr + 0824 FA 2679 mov r2,a + 0825 53 02 01 2680 anl ar2,#0x01 + 0828 90 E7 40 2681 mov dptr,#_EP0BUF + 082B EA 2682 mov a,r2 + 082C F0 2683 movx @dptr,a + 2684 ; ../../../include/ztex-isr.h:150: } + 082D 2685 00110$: + 2686 ; ../../../include/ztex-isr.h:151: EP0BUF[1] = 0; + 082D 90 E7 41 2687 mov dptr,#(_EP0BUF + 0x0001) + 2688 ; ../../../include/ztex-isr.h:152: EP0BCH = 0; + 0830 E4 2689 clr a + 0831 F0 2690 movx @dptr,a + 0832 90 E6 8A 2691 mov dptr,#_EP0BCH + 0835 F0 2692 movx @dptr,a + 2693 ; ../../../include/ztex-isr.h:153: EP0BCL = 2; + 0836 90 E6 8B 2694 mov dptr,#_EP0BCL + 0839 74 02 2695 mov a,#0x02 + 083B F0 2696 movx @dptr,a + 2697 ; ../../../include/ztex-isr.h:156: break; + 083C 02 0A D9 2698 ljmp 00160$ + 2699 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 083F 2700 00112$: + 2701 ; ../../../include/ztex-isr.h:158: if ( SETUPDAT[0] == 2 && SETUPDAT[2] == 0 ) { + 083F 90 E6 B8 2702 mov dptr,#_SETUPDAT + 0842 E0 2703 movx a,@dptr + 0843 FA 2704 mov r2,a + 0844 BA 02 02 2705 cjne r2,#0x02,00223$ + 0847 80 03 2706 sjmp 00224$ + 0849 2707 00223$: + 0849 02 0A D9 2708 ljmp 00160$ + 084C 2709 00224$: + 084C 90 E6 BA 2710 mov dptr,#(_SETUPDAT + 0x0002) + 084F E0 2711 movx a,@dptr + 0850 60 03 2712 jz 00225$ + 0852 02 0A D9 2713 ljmp 00160$ + 0855 2714 00225$: + 2715 ; ../../../include/ztex-isr.h:159: switch ( SETUPDAT[4] ) { + 0855 90 E6 BC 2716 mov dptr,#(_SETUPDAT + 0x0004) + 0858 E0 2717 movx a,@dptr + 0859 FA 2718 mov r2,a + 085A 60 0F 2719 jz 00114$ + 085C BA 01 02 2720 cjne r2,#0x01,00227$ + 085F 80 15 2721 sjmp 00115$ + 0861 2722 00227$: + 0861 BA 80 02 2723 cjne r2,#0x80,00228$ + 0864 80 05 2724 sjmp 00114$ + 0866 2725 00228$: + 2726 ; ../../../include/ztex-isr.h:161: case 0x80 : + 0866 BA 81 23 2727 cjne r2,#0x81,00117$ + 0869 80 16 2728 sjmp 00116$ + 086B 2729 00114$: + 2730 ; ../../../include/ztex-isr.h:162: EP0CS &= ~bmBIT0; + 086B 90 E6 A0 2731 mov dptr,#_EP0CS + 086E E0 2732 movx a,@dptr + 086F FA 2733 mov r2,a + 0870 54 FE 2734 anl a,#0xFE + 0872 F0 2735 movx @dptr,a + 2736 ; ../../../include/ztex-isr.h:163: break; + 0873 02 0A D9 2737 ljmp 00160$ + 2738 ; ../../../include/ztex-isr.h:164: case 0x01 : + 0876 2739 00115$: + 2740 ; ../../../include/ztex-isr.h:165: EP1OUTCS &= ~bmBIT0; + 0876 90 E6 A1 2741 mov dptr,#_EP1OUTCS + 0879 E0 2742 movx a,@dptr + 087A FA 2743 mov r2,a + 087B 54 FE 2744 anl a,#0xFE + 087D F0 2745 movx @dptr,a + 2746 ; ../../../include/ztex-isr.h:166: break; + 087E 02 0A D9 2747 ljmp 00160$ + 2748 ; ../../../include/ztex-isr.h:167: case 0x81 : + 0881 2749 00116$: + 2750 ; ../../../include/ztex-isr.h:168: EP1INCS &= ~bmBIT0; + 0881 90 E6 A2 2751 mov dptr,#_EP1INCS + 0884 E0 2752 movx a,@dptr + 0885 FA 2753 mov r2,a + 0886 54 FE 2754 anl a,#0xFE + 0888 F0 2755 movx @dptr,a + 2756 ; ../../../include/ztex-isr.h:169: break; + 0889 02 0A D9 2757 ljmp 00160$ + 2758 ; ../../../include/ztex-isr.h:170: default: + 088C 2759 00117$: + 2760 ; ../../../include/ztex-isr.h:171: EPXCS[ ((SETUPDAT[4] >> 1)-1) & 3 ] &= ~bmBIT0; + 088C 90 E6 BC 2761 mov dptr,#(_SETUPDAT + 0x0004) + 088F E0 2762 movx a,@dptr + 0890 C3 2763 clr c + 0891 13 2764 rrc a + 0892 14 2765 dec a + 0893 54 03 2766 anl a,#0x03 + 0895 24 A3 2767 add a,#_EPXCS + 0897 FA 2768 mov r2,a + 0898 E4 2769 clr a + 0899 34 E6 2770 addc a,#(_EPXCS >> 8) + 089B FB 2771 mov r3,a + 089C 90 E6 BC 2772 mov dptr,#(_SETUPDAT + 0x0004) + 089F E0 2773 movx a,@dptr + 08A0 C3 2774 clr c + 08A1 13 2775 rrc a + 08A2 14 2776 dec a + 08A3 54 03 2777 anl a,#0x03 + 08A5 24 A3 2778 add a,#_EPXCS + 08A7 F5 82 2779 mov dpl,a + 08A9 E4 2780 clr a + 08AA 34 E6 2781 addc a,#(_EPXCS >> 8) + 08AC F5 83 2782 mov dph,a + 08AE E0 2783 movx a,@dptr + 08AF FC 2784 mov r4,a + 08B0 53 04 FE 2785 anl ar4,#0xFE + 08B3 8A 82 2786 mov dpl,r2 + 08B5 8B 83 2787 mov dph,r3 + 08B7 EC 2788 mov a,r4 + 08B8 F0 2789 movx @dptr,a + 2790 ; ../../../include/ztex-isr.h:175: break; + 08B9 02 0A D9 2791 ljmp 00160$ + 2792 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 08BC 2793 00122$: + 2794 ; ../../../include/ztex-isr.h:177: if ( SETUPDAT[0] == 2 && SETUPDAT[2] == 0 ) { + 08BC 90 E6 B8 2795 mov dptr,#_SETUPDAT + 08BF E0 2796 movx a,@dptr + 08C0 FA 2797 mov r2,a + 08C1 BA 02 02 2798 cjne r2,#0x02,00230$ + 08C4 80 03 2799 sjmp 00231$ + 08C6 2800 00230$: + 08C6 02 0A D9 2801 ljmp 00160$ + 08C9 2802 00231$: + 08C9 90 E6 BA 2803 mov dptr,#(_SETUPDAT + 0x0002) + 08CC E0 2804 movx a,@dptr + 08CD 60 03 2805 jz 00232$ + 08CF 02 0A D9 2806 ljmp 00160$ + 08D2 2807 00232$: + 2808 ; ../../../include/ztex-isr.h:178: switch ( SETUPDAT[4] ) { + 08D2 90 E6 BC 2809 mov dptr,#(_SETUPDAT + 0x0004) + 08D5 E0 2810 movx a,@dptr + 08D6 FA 2811 mov r2,a + 08D7 60 0F 2812 jz 00124$ + 08D9 BA 01 02 2813 cjne r2,#0x01,00234$ + 08DC 80 14 2814 sjmp 00125$ + 08DE 2815 00234$: + 08DE BA 80 02 2816 cjne r2,#0x80,00235$ + 08E1 80 05 2817 sjmp 00124$ + 08E3 2818 00235$: + 2819 ; ../../../include/ztex-isr.h:180: case 0x80 : + 08E3 BA 81 20 2820 cjne r2,#0x81,00127$ + 08E6 80 14 2821 sjmp 00126$ + 08E8 2822 00124$: + 2823 ; ../../../include/ztex-isr.h:181: EP0CS |= bmBIT0; + 08E8 90 E6 A0 2824 mov dptr,#_EP0CS + 08EB E0 2825 movx a,@dptr + 08EC FA 2826 mov r2,a + 08ED 44 01 2827 orl a,#0x01 + 08EF F0 2828 movx @dptr,a + 2829 ; ../../../include/ztex-isr.h:182: break; + 2830 ; ../../../include/ztex-isr.h:183: case 0x01 : + 08F0 80 41 2831 sjmp 00128$ + 08F2 2832 00125$: + 2833 ; ../../../include/ztex-isr.h:184: EP1OUTCS |= bmBIT0; + 08F2 90 E6 A1 2834 mov dptr,#_EP1OUTCS + 08F5 E0 2835 movx a,@dptr + 08F6 FA 2836 mov r2,a + 08F7 44 01 2837 orl a,#0x01 + 08F9 F0 2838 movx @dptr,a + 2839 ; ../../../include/ztex-isr.h:185: break; + 2840 ; ../../../include/ztex-isr.h:186: case 0x81 : + 08FA 80 37 2841 sjmp 00128$ + 08FC 2842 00126$: + 2843 ; ../../../include/ztex-isr.h:187: EP1INCS |= bmBIT0; + 08FC 90 E6 A2 2844 mov dptr,#_EP1INCS + 08FF E0 2845 movx a,@dptr + 0900 FA 2846 mov r2,a + 0901 44 01 2847 orl a,#0x01 + 0903 F0 2848 movx @dptr,a + 2849 ; ../../../include/ztex-isr.h:188: break; + 2850 ; ../../../include/ztex-isr.h:189: default: + 0904 80 2D 2851 sjmp 00128$ + 0906 2852 00127$: + 2853 ; ../../../include/ztex-isr.h:190: EPXCS[ ((SETUPDAT[4] >> 1)-1) & 3 ] |= ~bmBIT0; + 0906 90 E6 BC 2854 mov dptr,#(_SETUPDAT + 0x0004) + 0909 E0 2855 movx a,@dptr + 090A C3 2856 clr c + 090B 13 2857 rrc a + 090C 14 2858 dec a + 090D 54 03 2859 anl a,#0x03 + 090F 24 A3 2860 add a,#_EPXCS + 0911 FA 2861 mov r2,a + 0912 E4 2862 clr a + 0913 34 E6 2863 addc a,#(_EPXCS >> 8) + 0915 FB 2864 mov r3,a + 0916 90 E6 BC 2865 mov dptr,#(_SETUPDAT + 0x0004) + 0919 E0 2866 movx a,@dptr + 091A C3 2867 clr c + 091B 13 2868 rrc a + 091C 14 2869 dec a + 091D 54 03 2870 anl a,#0x03 + 091F 24 A3 2871 add a,#_EPXCS + 0921 F5 82 2872 mov dpl,a + 0923 E4 2873 clr a + 0924 34 E6 2874 addc a,#(_EPXCS >> 8) + 0926 F5 83 2875 mov dph,a + 0928 E0 2876 movx a,@dptr + 0929 FC 2877 mov r4,a + 092A 43 04 FE 2878 orl ar4,#0xFE + 092D 8A 82 2879 mov dpl,r2 + 092F 8B 83 2880 mov dph,r3 + 0931 EC 2881 mov a,r4 + 0932 F0 2882 movx @dptr,a + 2883 ; ../../../include/ztex-isr.h:192: } + 0933 2884 00128$: + 2885 ; ../../../include/ztex-isr.h:193: a = ( (SETUPDAT[4] & 0x80) >> 3 ) | (SETUPDAT[4] & 0x0f); + 0933 90 E6 BC 2886 mov dptr,#(_SETUPDAT + 0x0004) + 0936 E0 2887 movx a,@dptr + 0937 54 80 2888 anl a,#0x80 + 0939 C4 2889 swap a + 093A 23 2890 rl a + 093B 54 1F 2891 anl a,#0x1f + 093D FA 2892 mov r2,a + 093E 90 E6 BC 2893 mov dptr,#(_SETUPDAT + 0x0004) + 0941 E0 2894 movx a,@dptr + 0942 FB 2895 mov r3,a + 0943 74 0F 2896 mov a,#0x0F + 0945 5B 2897 anl a,r3 + 0946 42 02 2898 orl ar2,a + 2899 ; ../../../include/ztex-isr.h:194: TOGCTL = a; + 2900 ; ../../../include/ztex-isr.h:195: TOGCTL = a | bmBIT5; + 0948 90 E6 83 2901 mov dptr,#_TOGCTL + 094B EA 2902 mov a,r2 + 094C F0 2903 movx @dptr,a + 094D 74 20 2904 mov a,#0x20 + 094F 4A 2905 orl a,r2 + 0950 F0 2906 movx @dptr,a + 2907 ; ../../../include/ztex-isr.h:197: break; + 0951 02 0A D9 2908 ljmp 00160$ + 2909 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 0954 2910 00132$: + 2911 ; ../../../include/ztex-isr.h:199: switch(SETUPDAT[3]) { + 0954 90 E6 BB 2912 mov dptr,#(_SETUPDAT + 0x0003) + 0957 E0 2913 movx a,@dptr + 0958 FA 2914 mov r2,a + 0959 BA 01 02 2915 cjne r2,#0x01,00237$ + 095C 80 19 2916 sjmp 00133$ + 095E 2917 00237$: + 095E BA 02 02 2918 cjne r2,#0x02,00238$ + 0961 80 26 2919 sjmp 00134$ + 0963 2920 00238$: + 0963 BA 03 02 2921 cjne r2,#0x03,00239$ + 0966 80 4D 2922 sjmp 00138$ + 0968 2923 00239$: + 0968 BA 06 03 2924 cjne r2,#0x06,00240$ + 096B 02 0A 28 2925 ljmp 00145$ + 096E 2926 00240$: + 096E BA 07 03 2927 cjne r2,#0x07,00241$ + 0971 02 0A 3A 2928 ljmp 00146$ + 0974 2929 00241$: + 0974 02 0A 65 2930 ljmp 00150$ + 2931 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 0977 2932 00133$: + 2933 ; ../../../include/ztex-isr.h:201: SUDPTRH = MSB(&DeviceDescriptor); + 0977 7A B4 2934 mov r2,#_DeviceDescriptor + 0979 7B 10 2935 mov r3,#(_DeviceDescriptor >> 8) + 097B 90 E6 B3 2936 mov dptr,#_SUDPTRH + 097E EB 2937 mov a,r3 + 097F F0 2938 movx @dptr,a + 2939 ; ../../../include/ztex-isr.h:202: SUDPTRL = LSB(&DeviceDescriptor); + 0980 90 E6 B4 2940 mov dptr,#_SUDPTRL + 0983 74 B4 2941 mov a,#_DeviceDescriptor + 0985 F0 2942 movx @dptr,a + 2943 ; ../../../include/ztex-isr.h:203: break; + 0986 02 0A D9 2944 ljmp 00160$ + 2945 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 0989 2946 00134$: + 2947 ; ../../../include/ztex-isr.h:205: if (USBCS & bmBIT7) { + 0989 90 E6 80 2948 mov dptr,#_USBCS + 098C E0 2949 movx a,@dptr + 098D FA 2950 mov r2,a + 098E 30 E7 12 2951 jnb acc.7,00136$ + 2952 ; ../../../include/ztex-isr.h:206: SUDPTRH = MSB(&HighSpeedConfigDescriptor); + 0991 7A D0 2953 mov r2,#_HighSpeedConfigDescriptor + 0993 7B 10 2954 mov r3,#(_HighSpeedConfigDescriptor >> 8) + 0995 90 E6 B3 2955 mov dptr,#_SUDPTRH + 0998 EB 2956 mov a,r3 + 0999 F0 2957 movx @dptr,a + 2958 ; ../../../include/ztex-isr.h:207: SUDPTRL = LSB(&HighSpeedConfigDescriptor); + 099A 90 E6 B4 2959 mov dptr,#_SUDPTRL + 099D 74 D0 2960 mov a,#_HighSpeedConfigDescriptor + 099F F0 2961 movx @dptr,a + 09A0 02 0A D9 2962 ljmp 00160$ + 09A3 2963 00136$: + 2964 ; ../../../include/ztex-isr.h:210: SUDPTRH = MSB(&FullSpeedConfigDescriptor); + 09A3 7A F2 2965 mov r2,#_FullSpeedConfigDescriptor + 09A5 7B 10 2966 mov r3,#(_FullSpeedConfigDescriptor >> 8) + 09A7 90 E6 B3 2967 mov dptr,#_SUDPTRH + 09AA EB 2968 mov a,r3 + 09AB F0 2969 movx @dptr,a + 2970 ; ../../../include/ztex-isr.h:211: SUDPTRL = LSB(&FullSpeedConfigDescriptor); + 09AC 90 E6 B4 2971 mov dptr,#_SUDPTRL + 09AF 74 F2 2972 mov a,#_FullSpeedConfigDescriptor + 09B1 F0 2973 movx @dptr,a + 2974 ; ../../../include/ztex-isr.h:213: break; + 09B2 02 0A D9 2975 ljmp 00160$ + 2976 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 09B5 2977 00138$: + 2978 ; ../../../include/ztex-isr.h:215: switch (SETUPDAT[2]) { + 09B5 90 E6 BA 2979 mov dptr,#(_SETUPDAT + 0x0002) + 09B8 E0 2980 movx a,@dptr + 09B9 FA 2981 mov r2,a + 09BA BA 01 02 2982 cjne r2,#0x01,00243$ + 09BD 80 0F 2983 sjmp 00139$ + 09BF 2984 00243$: + 09BF BA 02 02 2985 cjne r2,#0x02,00244$ + 09C2 80 1C 2986 sjmp 00140$ + 09C4 2987 00244$: + 09C4 BA 03 02 2988 cjne r2,#0x03,00245$ + 09C7 80 29 2989 sjmp 00141$ + 09C9 2990 00245$: + 2991 ; ../../../include/ztex-isr.h:216: case 1: + 09C9 BA 04 4A 2992 cjne r2,#0x04,00143$ + 09CC 80 36 2993 sjmp 00142$ + 09CE 2994 00139$: + 2995 ; ../../../include/ztex-isr.h:217: SEND_STRING_DESCRIPTOR(manufacturerString); + 09CE 75 82 8B 2996 mov dpl,#_manufacturerString + 09D1 7A 8B 2997 mov r2,#_manufacturerString + 09D3 7B 10 2998 mov r3,#(_manufacturerString >> 8) + 09D5 8B 0F 2999 mov _sendStringDescriptor_PARM_2,r3 + 09D7 75 10 05 3000 mov _sendStringDescriptor_PARM_3,#0x05 + 09DA 12 06 6F 3001 lcall _sendStringDescriptor + 3002 ; ../../../include/ztex-isr.h:218: break; + 09DD 02 0A D9 3003 ljmp 00160$ + 3004 ; ../../../include/ztex-isr.h:219: case 2: + 09E0 3005 00140$: + 3006 ; ../../../include/ztex-isr.h:220: SEND_STRING_DESCRIPTOR(productString); + 09E0 75 82 90 3007 mov dpl,#_productString + 09E3 7A 90 3008 mov r2,#_productString + 09E5 7B 10 3009 mov r3,#(_productString >> 8) + 09E7 8B 0F 3010 mov _sendStringDescriptor_PARM_2,r3 + 09E9 75 10 19 3011 mov _sendStringDescriptor_PARM_3,#0x19 + 09EC 12 06 6F 3012 lcall _sendStringDescriptor + 3013 ; ../../../include/ztex-isr.h:221: break; + 09EF 02 0A D9 3014 ljmp 00160$ + 3015 ; ../../../include/ztex-isr.h:222: case 3: + 09F2 3016 00141$: + 3017 ; ../../../include/ztex-isr.h:223: SEND_STRING_DESCRIPTOR(SN_STRING); + 09F2 75 82 8A 3018 mov dpl,#_SN_STRING + 09F5 7A 8A 3019 mov r2,#_SN_STRING + 09F7 7B 00 3020 mov r3,#(_SN_STRING >> 8) + 09F9 8B 0F 3021 mov _sendStringDescriptor_PARM_2,r3 + 09FB 75 10 0A 3022 mov _sendStringDescriptor_PARM_3,#0x0A + 09FE 12 06 6F 3023 lcall _sendStringDescriptor + 3024 ; ../../../include/ztex-isr.h:224: break; + 0A01 02 0A D9 3025 ljmp 00160$ + 3026 ; ../../../include/ztex-isr.h:225: case 4: + 0A04 3027 00142$: + 3028 ; ../../../include/ztex-isr.h:226: SEND_STRING_DESCRIPTOR(configurationString); + 0A04 75 82 A9 3029 mov dpl,#_configurationString + 0A07 7A A9 3030 mov r2,#_configurationString + 0A09 7B 10 3031 mov r3,#(_configurationString >> 8) + 0A0B 8B 0F 3032 mov _sendStringDescriptor_PARM_2,r3 + 0A0D 75 10 0A 3033 mov _sendStringDescriptor_PARM_3,#0x0A + 0A10 12 06 6F 3034 lcall _sendStringDescriptor + 3035 ; ../../../include/ztex-isr.h:227: break; + 0A13 02 0A D9 3036 ljmp 00160$ + 3037 ; ../../../include/ztex-isr.h:228: default: + 0A16 3038 00143$: + 3039 ; ../../../include/ztex-isr.h:229: SUDPTRH = MSB(&EmptyStringDescriptor); + 0A16 7A 14 3040 mov r2,#_EmptyStringDescriptor + 0A18 7B 11 3041 mov r3,#(_EmptyStringDescriptor >> 8) + 0A1A 90 E6 B3 3042 mov dptr,#_SUDPTRH + 0A1D EB 3043 mov a,r3 + 0A1E F0 3044 movx @dptr,a + 3045 ; ../../../include/ztex-isr.h:230: SUDPTRL = LSB(&EmptyStringDescriptor); + 0A1F 90 E6 B4 3046 mov dptr,#_SUDPTRL + 0A22 74 14 3047 mov a,#_EmptyStringDescriptor + 0A24 F0 3048 movx @dptr,a + 3049 ; ../../../include/ztex-isr.h:233: break; + 0A25 02 0A D9 3050 ljmp 00160$ + 3051 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 0A28 3052 00145$: + 3053 ; ../../../include/ztex-isr.h:235: SUDPTRH = MSB(&DeviceQualifierDescriptor); + 0A28 7A C6 3054 mov r2,#_DeviceQualifierDescriptor + 0A2A 7B 10 3055 mov r3,#(_DeviceQualifierDescriptor >> 8) + 0A2C 90 E6 B3 3056 mov dptr,#_SUDPTRH + 0A2F EB 3057 mov a,r3 + 0A30 F0 3058 movx @dptr,a + 3059 ; ../../../include/ztex-isr.h:236: SUDPTRL = LSB(&DeviceQualifierDescriptor); + 0A31 90 E6 B4 3060 mov dptr,#_SUDPTRL + 0A34 74 C6 3061 mov a,#_DeviceQualifierDescriptor + 0A36 F0 3062 movx @dptr,a + 3063 ; ../../../include/ztex-isr.h:237: break; + 0A37 02 0A D9 3064 ljmp 00160$ + 3065 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 0A3A 3066 00146$: + 3067 ; ../../../include/ztex-isr.h:239: if (USBCS & bmBIT7) { + 0A3A 90 E6 80 3068 mov dptr,#_USBCS + 0A3D E0 3069 movx a,@dptr + 0A3E FA 3070 mov r2,a + 0A3F 30 E7 12 3071 jnb acc.7,00148$ + 3072 ; ../../../include/ztex-isr.h:240: SUDPTRH = MSB(&FullSpeedConfigDescriptor); + 0A42 7A F2 3073 mov r2,#_FullSpeedConfigDescriptor + 0A44 7B 10 3074 mov r3,#(_FullSpeedConfigDescriptor >> 8) + 0A46 90 E6 B3 3075 mov dptr,#_SUDPTRH + 0A49 EB 3076 mov a,r3 + 0A4A F0 3077 movx @dptr,a + 3078 ; ../../../include/ztex-isr.h:241: SUDPTRL = LSB(&FullSpeedConfigDescriptor); + 0A4B 90 E6 B4 3079 mov dptr,#_SUDPTRL + 0A4E 74 F2 3080 mov a,#_FullSpeedConfigDescriptor + 0A50 F0 3081 movx @dptr,a + 0A51 02 0A D9 3082 ljmp 00160$ + 0A54 3083 00148$: + 3084 ; ../../../include/ztex-isr.h:244: SUDPTRH = MSB(&HighSpeedConfigDescriptor); + 0A54 7A D0 3085 mov r2,#_HighSpeedConfigDescriptor + 0A56 7B 10 3086 mov r3,#(_HighSpeedConfigDescriptor >> 8) + 0A58 90 E6 B3 3087 mov dptr,#_SUDPTRH + 0A5B EB 3088 mov a,r3 + 0A5C F0 3089 movx @dptr,a + 3090 ; ../../../include/ztex-isr.h:245: SUDPTRL = LSB(&HighSpeedConfigDescriptor); + 0A5D 90 E6 B4 3091 mov dptr,#_SUDPTRL + 0A60 74 D0 3092 mov a,#_HighSpeedConfigDescriptor + 0A62 F0 3093 movx @dptr,a + 3094 ; ../../../include/ztex-isr.h:247: break; + 3095 ; ../../../include/ztex-isr.h:248: default: + 0A63 80 74 3096 sjmp 00160$ + 0A65 3097 00150$: + 3098 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 0A65 90 E6 A0 3099 mov dptr,#_EP0CS + 0A68 E0 3100 movx a,@dptr + 0A69 FA 3101 mov r2,a + 0A6A 44 01 3102 orl a,#0x01 + 0A6C F0 3103 movx @dptr,a + 3104 ; ../../../include/ztex-isr.h:251: break; + 3105 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 0A6D 80 6A 3106 sjmp 00160$ + 0A6F 3107 00152$: + 3108 ; ../../../include/ztex-isr.h:253: break; + 3109 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 0A6F 80 68 3110 sjmp 00160$ + 0A71 3111 00153$: + 0A71 90 E7 40 3112 mov dptr,#_EP0BUF + 3113 ; ../../../include/ztex-isr.h:256: EP0BCH = 0; + 0A74 E4 3114 clr a + 0A75 F0 3115 movx @dptr,a + 0A76 90 E6 8A 3116 mov dptr,#_EP0BCH + 0A79 F0 3117 movx @dptr,a + 3118 ; ../../../include/ztex-isr.h:257: EP0BCL = 1; + 0A7A 90 E6 8B 3119 mov dptr,#_EP0BCL + 0A7D 74 01 3120 mov a,#0x01 + 0A7F F0 3121 movx @dptr,a + 3122 ; ../../../include/ztex-isr.h:258: break; + 3123 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 0A80 80 57 3124 sjmp 00160$ + 0A82 3125 00154$: + 3126 ; ../../../include/ztex-isr.h:260: resetToggleData(); + 0A82 12 06 51 3127 lcall _resetToggleData + 3128 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 0A85 80 52 3129 sjmp 00160$ + 0A87 3130 00155$: + 0A87 90 E7 40 3131 mov dptr,#_EP0BUF + 3132 ; ../../../include/ztex-isr.h:264: EP0BCH = 0; + 0A8A E4 3133 clr a + 0A8B F0 3134 movx @dptr,a + 0A8C 90 E6 8A 3135 mov dptr,#_EP0BCH + 0A8F F0 3136 movx @dptr,a + 3137 ; ../../../include/ztex-isr.h:265: EP0BCL = 1; + 0A90 90 E6 8B 3138 mov dptr,#_EP0BCL + 0A93 74 01 3139 mov a,#0x01 + 0A95 F0 3140 movx @dptr,a + 3141 ; ../../../include/ztex-isr.h:266: break; + 3142 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 0A96 80 41 3143 sjmp 00160$ + 0A98 3144 00156$: + 3145 ; ../../../include/ztex-isr.h:268: resetToggleData(); + 0A98 12 06 51 3146 lcall _resetToggleData + 3147 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 0A9B 80 3C 3148 sjmp 00160$ + 0A9D 3149 00157$: + 3150 ; ../../../include/ztex-isr.h:271: if ( SETUPDAT[0] == 0x82 ) { + 0A9D 90 E6 B8 3151 mov dptr,#_SETUPDAT + 0AA0 E0 3152 movx a,@dptr + 0AA1 FA 3153 mov r2,a + 0AA2 BA 82 34 3154 cjne r2,#0x82,00160$ + 3155 ; ../../../include/ztex-isr.h:272: ISOFRAME_COUNTER[ ((SETUPDAT[4] >> 1)-1) & 3 ] = 0; + 0AA5 90 E6 BC 3156 mov dptr,#(_SETUPDAT + 0x0004) + 0AA8 E0 3157 movx a,@dptr + 0AA9 C3 3158 clr c + 0AAA 13 3159 rrc a + 0AAB 14 3160 dec a + 0AAC 54 03 3161 anl a,#0x03 + 0AAE 25 E0 3162 add a,acc + 0AB0 24 75 3163 add a,#_ISOFRAME_COUNTER + 0AB2 F5 82 3164 mov dpl,a + 0AB4 E4 3165 clr a + 0AB5 34 32 3166 addc a,#(_ISOFRAME_COUNTER >> 8) + 0AB7 F5 83 3167 mov dph,a + 0AB9 E4 3168 clr a + 0ABA F0 3169 movx @dptr,a + 0ABB A3 3170 inc dptr + 0ABC F0 3171 movx @dptr,a + 3172 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 0ABD 90 E6 85 3173 mov dptr,#_USBFRAMEL + 0AC0 E0 3174 movx a,@dptr + 0AC1 90 E7 40 3175 mov dptr,#_EP0BUF + 0AC4 F0 3176 movx @dptr,a + 3177 ; ../../../include/ztex-isr.h:274: EP0BUF[1] = USBFRAMEH; + 0AC5 90 E6 84 3178 mov dptr,#_USBFRAMEH + 0AC8 E0 3179 movx a,@dptr + 0AC9 FA 3180 mov r2,a + 0ACA 90 E7 41 3181 mov dptr,#(_EP0BUF + 0x0001) + 0ACD F0 3182 movx @dptr,a + 3183 ; ../../../include/ztex-isr.h:275: EP0BCH = 0; + 0ACE 90 E6 8A 3184 mov dptr,#_EP0BCH + 0AD1 E4 3185 clr a + 0AD2 F0 3186 movx @dptr,a + 3187 ; ../../../include/ztex-isr.h:276: EP0BCL = 2; + 0AD3 90 E6 8B 3188 mov dptr,#_EP0BCL + 0AD6 74 02 3189 mov a,#0x02 + 0AD8 F0 3190 movx @dptr,a + 3191 ; ../../../include/ztex-isr.h:280: } + 0AD9 3192 00160$: + 3193 ; ../../../include/ztex-isr.h:283: switch ( bmRequestType ) { + 0AD9 90 E6 B8 3194 mov dptr,#_bmRequestType + 0ADC E0 3195 movx a,@dptr + 0ADD FA 3196 mov r2,a + 0ADE BA 40 03 3197 cjne r2,#0x40,00250$ + 0AE1 02 0B C9 3198 ljmp 00168$ + 0AE4 3199 00250$: + 0AE4 BA C0 02 3200 cjne r2,#0xC0,00251$ + 0AE7 80 03 3201 sjmp 00252$ + 0AE9 3202 00251$: + 0AE9 02 0B F3 3203 ljmp 00172$ + 0AEC 3204 00252$: + 3205 ; ../../../include/ztex-isr.h:285: ep0_payload_remaining = (SETUPDAT[7] << 8) | SETUPDAT[6]; + 0AEC 90 E6 BF 3206 mov dptr,#(_SETUPDAT + 0x0007) + 0AEF E0 3207 movx a,@dptr + 0AF0 FB 3208 mov r3,a + 0AF1 7A 00 3209 mov r2,#0x00 + 0AF3 90 E6 BE 3210 mov dptr,#(_SETUPDAT + 0x0006) + 0AF6 E0 3211 movx a,@dptr + 0AF7 FC 3212 mov r4,a + 0AF8 7D 00 3213 mov r5,#0x00 + 0AFA 90 32 70 3214 mov dptr,#_ep0_payload_remaining + 0AFD EC 3215 mov a,r4 + 0AFE 4A 3216 orl a,r2 + 0AFF F0 3217 movx @dptr,a + 0B00 ED 3218 mov a,r5 + 0B01 4B 3219 orl a,r3 + 0B02 A3 3220 inc dptr + 0B03 F0 3221 movx @dptr,a + 3222 ; ../../../include/ztex-isr.h:286: ep0_payload_update(); + 0B04 12 06 C2 3223 lcall _ep0_payload_update + 3224 ; ../../../include/ztex-isr.h:288: switch ( bRequest ) { + 0B07 90 E6 B9 3225 mov dptr,#_bRequest + 0B0A E0 3226 movx a,@dptr + 0B0B FA 3227 mov r2,a + 0B0C BA 22 02 3228 cjne r2,#0x22,00253$ + 0B0F 80 13 3229 sjmp 00162$ + 0B11 3230 00253$: + 0B11 BA 28 03 3231 cjne r2,#0x28,00254$ + 0B14 02 0B A5 3232 ljmp 00165$ + 0B17 3233 00254$: + 0B17 BA 38 02 3234 cjne r2,#0x38,00255$ + 0B1A 80 25 3235 sjmp 00163$ + 0B1C 3236 00255$: + 0B1C BA 3A 02 3237 cjne r2,#0x3A,00256$ + 0B1F 80 49 3238 sjmp 00164$ + 0B21 3239 00256$: + 0B21 02 0B BF 3240 ljmp 00166$ + 3241 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 0B24 3242 00162$: + 3243 ; ../../../include/ztex-isr.h:290: SUDPTRCTL = 0; + 0B24 90 E6 B5 3244 mov dptr,#_SUDPTRCTL + 3245 ; ../../../include/ztex-isr.h:291: EP0BCH = 0; + 0B27 E4 3246 clr a + 0B28 F0 3247 movx @dptr,a + 0B29 90 E6 8A 3248 mov dptr,#_EP0BCH + 0B2C F0 3249 movx @dptr,a + 3250 ; ../../../include/ztex-isr.h:292: EP0BCL = ZTEX_DESCRIPTOR_LEN; + 0B2D 90 E6 8B 3251 mov dptr,#_EP0BCL + 0B30 74 28 3252 mov a,#0x28 + 0B32 F0 3253 movx @dptr,a + 3254 ; ../../../include/ztex-isr.h:293: SUDPTRH = MSB(ZTEX_DESCRIPTOR_OFFS); + 0B33 90 E6 B3 3255 mov dptr,#_SUDPTRH + 0B36 E4 3256 clr a + 0B37 F0 3257 movx @dptr,a + 3258 ; ../../../include/ztex-isr.h:294: SUDPTRL = LSB(ZTEX_DESCRIPTOR_OFFS); + 0B38 90 E6 B4 3259 mov dptr,#_SUDPTRL + 0B3B 74 6C 3260 mov a,#0x6C + 0B3D F0 3261 movx @dptr,a + 3262 ; ../../../include/ztex-isr.h:295: break; + 0B3E 02 0B F3 3263 ljmp 00172$ + 3264 ; ../../../include/ztex-conf.h:90: case $0: + 0B41 3265 00163$: + 3266 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 0B41 90 E6 BB 3267 mov dptr,#(_SETUPDAT + 0x0003) + 0B44 E0 3268 movx a,@dptr + 0B45 FB 3269 mov r3,a + 0B46 7A 00 3270 mov r2,#0x00 + 0B48 90 E6 BA 3271 mov dptr,#(_SETUPDAT + 0x0002) + 0B4B E0 3272 movx a,@dptr + 0B4C FC 3273 mov r4,a + 0B4D 7D 00 3274 mov r5,#0x00 + 0B4F 90 32 00 3275 mov dptr,#_eeprom_addr + 0B52 EC 3276 mov a,r4 + 0B53 4A 3277 orl a,r2 + 0B54 F0 3278 movx @dptr,a + 0B55 ED 3279 mov a,r5 + 0B56 4B 3280 orl a,r3 + 0B57 A3 3281 inc dptr + 0B58 F0 3282 movx @dptr,a + 3283 ; ../../../include/ztex-eeprom.h:216: EP0BCH = 0; + 0B59 90 E6 8A 3284 mov dptr,#_EP0BCH + 0B5C E4 3285 clr a + 0B5D F0 3286 movx @dptr,a + 3287 ; ../../../include/ztex-eeprom.h:217: EP0BCL = eeprom_read_ep0(); + 0B5E 12 05 54 3288 lcall _eeprom_read_ep0 + 0B61 E5 82 3289 mov a,dpl + 0B63 90 E6 8B 3290 mov dptr,#_EP0BCL + 0B66 F0 3291 movx @dptr,a + 3292 ; ../../../include/ztex-conf.h:92: break; + 0B67 02 0B F3 3293 ljmp 00172$ + 3294 ; ../../../include/ztex-conf.h:90: case $0: + 0B6A 3295 00164$: + 3296 ; ../../../include/ztex-eeprom.h:244: EP0BUF[0] = LSB(eeprom_write_bytes); + 0B6A 90 32 02 3297 mov dptr,#_eeprom_write_bytes + 0B6D E0 3298 movx a,@dptr + 0B6E FA 3299 mov r2,a + 0B6F A3 3300 inc dptr + 0B70 E0 3301 movx a,@dptr + 0B71 FB 3302 mov r3,a + 0B72 8A 04 3303 mov ar4,r2 + 0B74 90 E7 40 3304 mov dptr,#_EP0BUF + 0B77 EC 3305 mov a,r4 + 0B78 F0 3306 movx @dptr,a + 3307 ; ../../../include/ztex-eeprom.h:245: EP0BUF[1] = MSB(eeprom_write_bytes); + 0B79 8B 02 3308 mov ar2,r3 + 0B7B 90 E7 41 3309 mov dptr,#(_EP0BUF + 0x0001) + 0B7E EA 3310 mov a,r2 + 0B7F F0 3311 movx @dptr,a + 3312 ; ../../../include/ztex-eeprom.h:246: EP0BUF[2] = eeprom_write_checksum; + 0B80 90 32 04 3313 mov dptr,#_eeprom_write_checksum + 0B83 E0 3314 movx a,@dptr + 0B84 90 E7 42 3315 mov dptr,#(_EP0BUF + 0x0002) + 0B87 F0 3316 movx @dptr,a + 3317 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 0B88 75 08 01 3318 mov _eeprom_select_PARM_2,#0x01 + 0B8B 75 82 00 3319 mov dpl,#0x00 + 0B8E 12 03 44 3320 lcall _eeprom_select + 0B91 AA 82 3321 mov r2,dpl + 0B93 90 E7 43 3322 mov dptr,#(_EP0BUF + 0x0003) + 0B96 EA 3323 mov a,r2 + 0B97 F0 3324 movx @dptr,a + 3325 ; ../../../include/ztex-eeprom.h:248: EP0BCH = 0; + 0B98 90 E6 8A 3326 mov dptr,#_EP0BCH + 0B9B E4 3327 clr a + 0B9C F0 3328 movx @dptr,a + 3329 ; ../../../include/ztex-eeprom.h:249: EP0BCL = 4; + 0B9D 90 E6 8B 3330 mov dptr,#_EP0BCL + 0BA0 74 04 3331 mov a,#0x04 + 0BA2 F0 3332 movx @dptr,a + 3333 ; ../../../include/ztex-conf.h:92: break; + 3334 ; ../../../include/ztex-conf.h:90: case $0: + 0BA3 80 4E 3335 sjmp 00172$ + 0BA5 3336 00165$: + 3337 ; ../../../include/ztex-debug.h:82: debug_read_addr = (__xdata BYTE*)&debug_counter; + 0BA5 90 32 6E 3338 mov dptr,#_debug_read_addr + 0BA8 74 05 3339 mov a,#_debug_counter + 0BAA F0 3340 movx @dptr,a + 0BAB A3 3341 inc dptr + 0BAC 74 32 3342 mov a,#(_debug_counter >> 8) + 0BAE F0 3343 movx @dptr,a + 3344 ; ../../../include/ztex-debug.h:83: EP0BCH = 0; + 0BAF 90 E6 8A 3345 mov dptr,#_EP0BCH + 0BB2 E4 3346 clr a + 0BB3 F0 3347 movx @dptr,a + 3348 ; ../../../include/ztex-debug.h:84: EP0BCL = debug_read_ep0(); + 0BB4 12 06 17 3349 lcall _debug_read_ep0 + 0BB7 E5 82 3350 mov a,dpl + 0BB9 90 E6 8B 3351 mov dptr,#_EP0BCL + 0BBC F0 3352 movx @dptr,a + 3353 ; ../../../include/ztex-conf.h:92: break; + 3354 ; ../../../include/ztex-isr.h:297: default: + 0BBD 80 34 3355 sjmp 00172$ + 0BBF 3356 00166$: + 3357 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 0BBF 90 E6 A0 3358 mov dptr,#_EP0CS + 0BC2 E0 3359 movx a,@dptr + 0BC3 FA 3360 mov r2,a + 0BC4 44 01 3361 orl a,#0x01 + 0BC6 F0 3362 movx @dptr,a + 3363 ; ../../../include/ztex-isr.h:300: break; + 3364 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 0BC7 80 2A 3365 sjmp 00172$ + 0BC9 3366 00168$: + 3367 ; ../../../include/ztex-isr.h:305: if ( SETUPDAT[7]!=0 || SETUPDAT[6]!=0 ) { + 0BC9 90 E6 BF 3368 mov dptr,#(_SETUPDAT + 0x0007) + 0BCC E0 3369 movx a,@dptr + 0BCD 70 06 3370 jnz 00169$ + 0BCF 90 E6 BE 3371 mov dptr,#(_SETUPDAT + 0x0006) + 0BD2 E0 3372 movx a,@dptr + 0BD3 60 16 3373 jz 00170$ + 0BD5 3374 00169$: + 3375 ; ../../../include/ztex-isr.h:306: ep0_vendor_cmd_setup = 1; + 0BD5 90 32 74 3376 mov dptr,#_ep0_vendor_cmd_setup + 0BD8 74 01 3377 mov a,#0x01 + 0BDA F0 3378 movx @dptr,a + 3379 ; ../../../include/ztex-isr.h:307: EP0BCL = 0; + 0BDB 90 E6 8B 3380 mov dptr,#_EP0BCL + 0BDE E4 3381 clr a + 0BDF F0 3382 movx @dptr,a + 3383 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 0BE0 53 91 EF 3384 anl _EXIF,#0xEF + 0BE3 90 E6 5D 3385 mov dptr,#_USBIRQ + 0BE6 74 01 3386 mov a,#0x01 + 0BE8 F0 3387 movx @dptr,a + 0BE9 80 19 3388 sjmp 00173$ + 0BEB 3389 00170$: + 0BEB 12 06 EF 3390 lcall _ep0_vendor_cmd_su + 3391 ; ../../../include/ztex-isr.h:313: EP0BCL = 0; + 0BEE 90 E6 8B 3392 mov dptr,#_EP0BCL + 0BF1 E4 3393 clr a + 0BF2 F0 3394 movx @dptr,a + 3395 ; ../../../include/ztex-isr.h:315: } + 0BF3 3396 00172$: + 3397 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 0BF3 53 91 EF 3398 anl _EXIF,#0xEF + 0BF6 90 E6 5D 3399 mov dptr,#_USBIRQ + 0BF9 74 01 3400 mov a,#0x01 + 0BFB F0 3401 movx @dptr,a + 0BFC 90 E6 A0 3402 mov dptr,#_EP0CS + 0BFF E0 3403 movx a,@dptr + 0C00 FA 3404 mov r2,a + 0C01 44 80 3405 orl a,#0x80 + 0C03 F0 3406 movx @dptr,a + 0C04 3407 00173$: + 0C04 D0 D0 3408 pop psw + 0C06 D0 01 3409 pop (0+1) + 0C08 D0 00 3410 pop (0+0) + 0C0A D0 07 3411 pop (0+7) + 0C0C D0 06 3412 pop (0+6) + 0C0E D0 05 3413 pop (0+5) + 0C10 D0 04 3414 pop (0+4) + 0C12 D0 03 3415 pop (0+3) + 0C14 D0 02 3416 pop (0+2) + 0C16 D0 83 3417 pop dph + 0C18 D0 82 3418 pop dpl + 0C1A D0 F0 3419 pop b + 0C1C D0 E0 3420 pop acc + 0C1E D0 20 3421 pop bits + 0C20 32 3422 reti + 3423 ;------------------------------------------------------------ + 3424 ;Allocation info for local variables in function 'SOF_ISR' + 3425 ;------------------------------------------------------------ + 3426 ;------------------------------------------------------------ + 3427 ; ../../../include/ztex-isr.h:325: void SOF_ISR() interrupt + 3428 ; ----------------------------------------- + 3429 ; function SOF_ISR + 3430 ; ----------------------------------------- + 0C21 3431 _SOF_ISR: + 0C21 C0 E0 3432 push acc + 0C23 C0 82 3433 push dpl + 0C25 C0 83 3434 push dph + 3435 ; ../../../include/ztex-isr.h:327: EXIF &= ~bmBIT4; + 0C27 53 91 EF 3436 anl _EXIF,#0xEF + 3437 ; ../../../include/ztex-isr.h:328: USBIRQ = bmBIT1; + 0C2A 90 E6 5D 3438 mov dptr,#_USBIRQ + 0C2D 74 02 3439 mov a,#0x02 + 0C2F F0 3440 movx @dptr,a + 0C30 D0 83 3441 pop dph + 0C32 D0 82 3442 pop dpl + 0C34 D0 E0 3443 pop acc + 0C36 32 3444 reti + 3445 ; eliminated unneeded push/pop psw + 3446 ; eliminated unneeded push/pop b + 3447 ;------------------------------------------------------------ + 3448 ;Allocation info for local variables in function 'SUTOK_ISR' + 3449 ;------------------------------------------------------------ + 3450 ;------------------------------------------------------------ + 3451 ; ../../../include/ztex-isr.h:334: void SUTOK_ISR() interrupt + 3452 ; ----------------------------------------- + 3453 ; function SUTOK_ISR + 3454 ; ----------------------------------------- + 0C37 3455 _SUTOK_ISR: + 0C37 C0 E0 3456 push acc + 0C39 C0 82 3457 push dpl + 0C3B C0 83 3458 push dph + 3459 ; ../../../include/ztex-isr.h:336: EXIF &= ~bmBIT4; + 0C3D 53 91 EF 3460 anl _EXIF,#0xEF + 3461 ; ../../../include/ztex-isr.h:337: USBIRQ = bmBIT2; + 0C40 90 E6 5D 3462 mov dptr,#_USBIRQ + 0C43 74 04 3463 mov a,#0x04 + 0C45 F0 3464 movx @dptr,a + 0C46 D0 83 3465 pop dph + 0C48 D0 82 3466 pop dpl + 0C4A D0 E0 3467 pop acc + 0C4C 32 3468 reti + 3469 ; eliminated unneeded push/pop psw + 3470 ; eliminated unneeded push/pop b + 3471 ;------------------------------------------------------------ + 3472 ;Allocation info for local variables in function 'SUSP_ISR' + 3473 ;------------------------------------------------------------ + 3474 ;------------------------------------------------------------ + 3475 ; ../../../include/ztex-isr.h:343: void SUSP_ISR() interrupt + 3476 ; ----------------------------------------- + 3477 ; function SUSP_ISR + 3478 ; ----------------------------------------- + 0C4D 3479 _SUSP_ISR: + 0C4D C0 E0 3480 push acc + 0C4F C0 82 3481 push dpl + 0C51 C0 83 3482 push dph + 3483 ; ../../../include/ztex-isr.h:345: EXIF &= ~bmBIT4; + 0C53 53 91 EF 3484 anl _EXIF,#0xEF + 3485 ; ../../../include/ztex-isr.h:346: USBIRQ = bmBIT3; + 0C56 90 E6 5D 3486 mov dptr,#_USBIRQ + 0C59 74 08 3487 mov a,#0x08 + 0C5B F0 3488 movx @dptr,a + 0C5C D0 83 3489 pop dph + 0C5E D0 82 3490 pop dpl + 0C60 D0 E0 3491 pop acc + 0C62 32 3492 reti + 3493 ; eliminated unneeded push/pop psw + 3494 ; eliminated unneeded push/pop b + 3495 ;------------------------------------------------------------ + 3496 ;Allocation info for local variables in function 'URES_ISR' + 3497 ;------------------------------------------------------------ + 3498 ;------------------------------------------------------------ + 3499 ; ../../../include/ztex-isr.h:352: void URES_ISR() interrupt + 3500 ; ----------------------------------------- + 3501 ; function URES_ISR + 3502 ; ----------------------------------------- + 0C63 3503 _URES_ISR: + 0C63 C0 E0 3504 push acc + 0C65 C0 82 3505 push dpl + 0C67 C0 83 3506 push dph + 3507 ; ../../../include/ztex-isr.h:354: EXIF &= ~bmBIT4; + 0C69 53 91 EF 3508 anl _EXIF,#0xEF + 3509 ; ../../../include/ztex-isr.h:355: USBIRQ = bmBIT4; + 0C6C 90 E6 5D 3510 mov dptr,#_USBIRQ + 0C6F 74 10 3511 mov a,#0x10 + 0C71 F0 3512 movx @dptr,a + 0C72 D0 83 3513 pop dph + 0C74 D0 82 3514 pop dpl + 0C76 D0 E0 3515 pop acc + 0C78 32 3516 reti + 3517 ; eliminated unneeded push/pop psw + 3518 ; eliminated unneeded push/pop b + 3519 ;------------------------------------------------------------ + 3520 ;Allocation info for local variables in function 'HSGRANT_ISR' + 3521 ;------------------------------------------------------------ + 3522 ;------------------------------------------------------------ + 3523 ; ../../../include/ztex-isr.h:361: void HSGRANT_ISR() interrupt + 3524 ; ----------------------------------------- + 3525 ; function HSGRANT_ISR + 3526 ; ----------------------------------------- + 0C79 3527 _HSGRANT_ISR: + 0C79 C0 E0 3528 push acc + 0C7B C0 82 3529 push dpl + 0C7D C0 83 3530 push dph + 3531 ; ../../../include/ztex-isr.h:363: EXIF &= ~bmBIT4; + 0C7F 53 91 EF 3532 anl _EXIF,#0xEF + 3533 ; ../../../include/ztex-isr.h:364: USBIRQ = bmBIT5; + 0C82 90 E6 5D 3534 mov dptr,#_USBIRQ + 0C85 74 20 3535 mov a,#0x20 + 0C87 F0 3536 movx @dptr,a + 0C88 D0 83 3537 pop dph + 0C8A D0 82 3538 pop dpl + 0C8C D0 E0 3539 pop acc + 0C8E 32 3540 reti + 3541 ; eliminated unneeded push/pop psw + 3542 ; eliminated unneeded push/pop b + 3543 ;------------------------------------------------------------ + 3544 ;Allocation info for local variables in function 'EP0ACK_ISR' + 3545 ;------------------------------------------------------------ + 3546 ;------------------------------------------------------------ + 3547 ; ../../../include/ztex-isr.h:370: void EP0ACK_ISR() interrupt + 3548 ; ----------------------------------------- + 3549 ; function EP0ACK_ISR + 3550 ; ----------------------------------------- + 0C8F 3551 _EP0ACK_ISR: + 0C8F C0 E0 3552 push acc + 0C91 C0 82 3553 push dpl + 0C93 C0 83 3554 push dph + 3555 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 0C95 53 91 EF 3556 anl _EXIF,#0xEF + 0C98 90 E6 5D 3557 mov dptr,#_USBIRQ + 0C9B 74 40 3558 mov a,#0x40 + 0C9D F0 3559 movx @dptr,a + 0C9E D0 83 3560 pop dph + 0CA0 D0 82 3561 pop dpl + 0CA2 D0 E0 3562 pop acc + 0CA4 32 3563 reti + 3564 ; eliminated unneeded push/pop psw + 3565 ; eliminated unneeded push/pop b + 3566 ;------------------------------------------------------------ + 3567 ;Allocation info for local variables in function 'EP0IN_ISR' + 3568 ;------------------------------------------------------------ + 3569 ;------------------------------------------------------------ + 3570 ; ../../../include/ztex-isr.h:379: static void EP0IN_ISR () interrupt + 3571 ; ----------------------------------------- + 3572 ; function EP0IN_ISR + 3573 ; ----------------------------------------- + 0CA5 3574 _EP0IN_ISR: + 0CA5 C0 20 3575 push bits + 0CA7 C0 E0 3576 push acc + 0CA9 C0 F0 3577 push b + 0CAB C0 82 3578 push dpl + 0CAD C0 83 3579 push dph + 0CAF C0 02 3580 push (0+2) + 0CB1 C0 03 3581 push (0+3) + 0CB3 C0 04 3582 push (0+4) + 0CB5 C0 05 3583 push (0+5) + 0CB7 C0 06 3584 push (0+6) + 0CB9 C0 07 3585 push (0+7) + 0CBB C0 00 3586 push (0+0) + 0CBD C0 01 3587 push (0+1) + 0CBF C0 D0 3588 push psw + 0CC1 75 D0 00 3589 mov psw,#0x00 + 3590 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 0CC4 C2 E8 3591 clr _EUSB + 3592 ; ../../../include/ztex-isr.h:382: ep0_payload_update(); + 0CC6 12 06 C2 3593 lcall _ep0_payload_update + 3594 ; ../../../include/ztex-isr.h:383: switch ( ep0_prev_setup_request ) { + 0CC9 90 32 73 3595 mov dptr,#_ep0_prev_setup_request + 0CCC E0 3596 movx a,@dptr + 0CCD FA 3597 mov r2,a + 0CCE BA 28 02 3598 cjne r2,#0x28,00111$ + 0CD1 80 1A 3599 sjmp 00103$ + 0CD3 3600 00111$: + 0CD3 BA 38 02 3601 cjne r2,#0x38,00112$ + 0CD6 80 05 3602 sjmp 00101$ + 0CD8 3603 00112$: + 3604 ; ../../../include/ztex-conf.h:95: case $0: + 0CD8 BA 3A 22 3605 cjne r2,#0x3A,00104$ + 0CDB 80 29 3606 sjmp 00105$ + 0CDD 3607 00101$: + 3608 ; ../../../include/ztex-eeprom.h:219: EP0BCH = 0; + 0CDD 90 E6 8A 3609 mov dptr,#_EP0BCH + 0CE0 E4 3610 clr a + 0CE1 F0 3611 movx @dptr,a + 3612 ; ../../../include/ztex-eeprom.h:220: EP0BCL = eeprom_read_ep0(); + 0CE2 12 05 54 3613 lcall _eeprom_read_ep0 + 0CE5 E5 82 3614 mov a,dpl + 0CE7 90 E6 8B 3615 mov dptr,#_EP0BCL + 0CEA F0 3616 movx @dptr,a + 3617 ; ../../../include/ztex-conf.h:97: break; + 3618 ; ../../../include/ztex-conf.h:95: case $0: + 0CEB 80 19 3619 sjmp 00105$ + 0CED 3620 00103$: + 3621 ; ../../../include/ztex-debug.h:86: EP0BCH = 0; + 0CED 90 E6 8A 3622 mov dptr,#_EP0BCH + 0CF0 E4 3623 clr a + 0CF1 F0 3624 movx @dptr,a + 3625 ; ../../../include/ztex-debug.h:87: EP0BCL = debug_read_ep0(); + 0CF2 12 06 17 3626 lcall _debug_read_ep0 + 0CF5 E5 82 3627 mov a,dpl + 0CF7 90 E6 8B 3628 mov dptr,#_EP0BCL + 0CFA F0 3629 movx @dptr,a + 3630 ; ../../../include/ztex-conf.h:97: break; + 3631 ; ../../../include/ztex-isr.h:385: default: + 0CFB 80 09 3632 sjmp 00105$ + 0CFD 3633 00104$: + 3634 ; ../../../include/ztex-isr.h:386: EP0BCH = 0; + 0CFD 90 E6 8A 3635 mov dptr,#_EP0BCH + 3636 ; ../../../include/ztex-isr.h:387: EP0BCL = 0; + 0D00 E4 3637 clr a + 0D01 F0 3638 movx @dptr,a + 0D02 90 E6 8B 3639 mov dptr,#_EP0BCL + 0D05 F0 3640 movx @dptr,a + 3641 ; ../../../include/ztex-isr.h:388: } + 0D06 3642 00105$: + 3643 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 0D06 53 91 EF 3644 anl _EXIF,#0xEF + 0D09 90 E6 5F 3645 mov dptr,#_EPIRQ + 0D0C 74 01 3646 mov a,#0x01 + 0D0E F0 3647 movx @dptr,a + 3648 ; ../../../include/ztex-isr.h:391: EUSB = 1; + 0D0F D2 E8 3649 setb _EUSB + 0D11 D0 D0 3650 pop psw + 0D13 D0 01 3651 pop (0+1) + 0D15 D0 00 3652 pop (0+0) + 0D17 D0 07 3653 pop (0+7) + 0D19 D0 06 3654 pop (0+6) + 0D1B D0 05 3655 pop (0+5) + 0D1D D0 04 3656 pop (0+4) + 0D1F D0 03 3657 pop (0+3) + 0D21 D0 02 3658 pop (0+2) + 0D23 D0 83 3659 pop dph + 0D25 D0 82 3660 pop dpl + 0D27 D0 F0 3661 pop b + 0D29 D0 E0 3662 pop acc + 0D2B D0 20 3663 pop bits + 0D2D 32 3664 reti + 3665 ;------------------------------------------------------------ + 3666 ;Allocation info for local variables in function 'EP0OUT_ISR' + 3667 ;------------------------------------------------------------ + 3668 ;------------------------------------------------------------ + 3669 ; ../../../include/ztex-isr.h:397: static void EP0OUT_ISR () interrupt + 3670 ; ----------------------------------------- + 3671 ; function EP0OUT_ISR + 3672 ; ----------------------------------------- + 0D2E 3673 _EP0OUT_ISR: + 0D2E C0 20 3674 push bits + 0D30 C0 E0 3675 push acc + 0D32 C0 F0 3676 push b + 0D34 C0 82 3677 push dpl + 0D36 C0 83 3678 push dph + 0D38 C0 02 3679 push (0+2) + 0D3A C0 03 3680 push (0+3) + 0D3C C0 04 3681 push (0+4) + 0D3E C0 05 3682 push (0+5) + 0D40 C0 06 3683 push (0+6) + 0D42 C0 07 3684 push (0+7) + 0D44 C0 00 3685 push (0+0) + 0D46 C0 01 3686 push (0+1) + 0D48 C0 D0 3687 push psw + 0D4A 75 D0 00 3688 mov psw,#0x00 + 3689 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 0D4D C2 E8 3690 clr _EUSB + 3691 ; ../../../include/ztex-isr.h:400: if ( ep0_vendor_cmd_setup ) { + 0D4F 90 32 74 3692 mov dptr,#_ep0_vendor_cmd_setup + 0D52 E0 3693 movx a,@dptr + 0D53 FA 3694 mov r2,a + 0D54 60 20 3695 jz 00102$ + 3696 ; ../../../include/ztex-isr.h:401: ep0_vendor_cmd_setup = 0; + 0D56 90 32 74 3697 mov dptr,#_ep0_vendor_cmd_setup + 0D59 E4 3698 clr a + 0D5A F0 3699 movx @dptr,a + 3700 ; ../../../include/ztex-isr.h:402: ep0_payload_remaining = (SETUPDAT[7] << 8) | SETUPDAT[6]; + 0D5B 90 E6 BF 3701 mov dptr,#(_SETUPDAT + 0x0007) + 0D5E E0 3702 movx a,@dptr + 0D5F FB 3703 mov r3,a + 0D60 7A 00 3704 mov r2,#0x00 + 0D62 90 E6 BE 3705 mov dptr,#(_SETUPDAT + 0x0006) + 0D65 E0 3706 movx a,@dptr + 0D66 FC 3707 mov r4,a + 0D67 7D 00 3708 mov r5,#0x00 + 0D69 90 32 70 3709 mov dptr,#_ep0_payload_remaining + 0D6C EC 3710 mov a,r4 + 0D6D 4A 3711 orl a,r2 + 0D6E F0 3712 movx @dptr,a + 0D6F ED 3713 mov a,r5 + 0D70 4B 3714 orl a,r3 + 0D71 A3 3715 inc dptr + 0D72 F0 3716 movx @dptr,a + 3717 ; ../../../include/ztex-isr.h:403: ep0_vendor_cmd_su(); + 0D73 12 06 EF 3718 lcall _ep0_vendor_cmd_su + 0D76 3719 00102$: + 3720 ; ../../../include/ztex-isr.h:406: ep0_payload_update(); + 0D76 12 06 C2 3721 lcall _ep0_payload_update + 3722 ; ../../../include/ztex-isr.h:408: switch ( ep0_prev_setup_request ) { + 0D79 90 32 73 3723 mov dptr,#_ep0_prev_setup_request + 0D7C E0 3724 movx a,@dptr + 0D7D FA 3725 mov r2,a + 0D7E BA 39 09 3726 cjne r2,#0x39,00104$ + 3727 ; ../../../include/ztex-eeprom.h:237: eeprom_write_ep0(EP0BCL); + 0D81 90 E6 8B 3728 mov dptr,#_EP0BCL + 0D84 E0 3729 movx a,@dptr + 0D85 F5 82 3730 mov dpl,a + 0D87 12 05 88 3731 lcall _eeprom_write_ep0 + 3732 ; ../../../include/ztex-isr.h:410: } + 0D8A 3733 00104$: + 3734 ; ../../../include/ztex-isr.h:412: EP0BCL = 0; + 0D8A 90 E6 8B 3735 mov dptr,#_EP0BCL + 0D8D E4 3736 clr a + 0D8E F0 3737 movx @dptr,a + 3738 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 0D8F 53 91 EF 3739 anl _EXIF,#0xEF + 0D92 90 E6 5F 3740 mov dptr,#_EPIRQ + 0D95 74 02 3741 mov a,#0x02 + 0D97 F0 3742 movx @dptr,a + 3743 ; ../../../include/ztex-isr.h:416: if ( ep0_payload_remaining == 0 ) { + 0D98 90 32 70 3744 mov dptr,#_ep0_payload_remaining + 0D9B E0 3745 movx a,@dptr + 0D9C FA 3746 mov r2,a + 0D9D A3 3747 inc dptr + 0D9E E0 3748 movx a,@dptr + 0D9F FB 3749 mov r3,a + 0DA0 4A 3750 orl a,r2 + 0DA1 70 08 3751 jnz 00106$ + 3752 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 0DA3 90 E6 A0 3753 mov dptr,#_EP0CS + 0DA6 E0 3754 movx a,@dptr + 0DA7 FA 3755 mov r2,a + 0DA8 44 80 3756 orl a,#0x80 + 0DAA F0 3757 movx @dptr,a + 0DAB 3758 00106$: + 3759 ; ../../../include/ztex-isr.h:419: EUSB = 1; + 0DAB D2 E8 3760 setb _EUSB + 0DAD D0 D0 3761 pop psw + 0DAF D0 01 3762 pop (0+1) + 0DB1 D0 00 3763 pop (0+0) + 0DB3 D0 07 3764 pop (0+7) + 0DB5 D0 06 3765 pop (0+6) + 0DB7 D0 05 3766 pop (0+5) + 0DB9 D0 04 3767 pop (0+4) + 0DBB D0 03 3768 pop (0+3) + 0DBD D0 02 3769 pop (0+2) + 0DBF D0 83 3770 pop dph + 0DC1 D0 82 3771 pop dpl + 0DC3 D0 F0 3772 pop b + 0DC5 D0 E0 3773 pop acc + 0DC7 D0 20 3774 pop bits + 0DC9 32 3775 reti + 3776 ;------------------------------------------------------------ + 3777 ;Allocation info for local variables in function 'EP1IN_ISR' + 3778 ;------------------------------------------------------------ + 3779 ;------------------------------------------------------------ + 3780 ; ../../../include/ztex-isr.h:426: void EP1IN_ISR() interrupt + 3781 ; ----------------------------------------- + 3782 ; function EP1IN_ISR + 3783 ; ----------------------------------------- + 0DCA 3784 _EP1IN_ISR: + 0DCA C0 E0 3785 push acc + 0DCC C0 82 3786 push dpl + 0DCE C0 83 3787 push dph + 3788 ; ../../../include/ztex-isr.h:428: EXIF &= ~bmBIT4; + 0DD0 53 91 EF 3789 anl _EXIF,#0xEF + 3790 ; ../../../include/ztex-isr.h:429: EPIRQ = bmBIT2; + 0DD3 90 E6 5F 3791 mov dptr,#_EPIRQ + 0DD6 74 04 3792 mov a,#0x04 + 0DD8 F0 3793 movx @dptr,a + 0DD9 D0 83 3794 pop dph + 0DDB D0 82 3795 pop dpl + 0DDD D0 E0 3796 pop acc + 0DDF 32 3797 reti + 3798 ; eliminated unneeded push/pop psw + 3799 ; eliminated unneeded push/pop b + 3800 ;------------------------------------------------------------ + 3801 ;Allocation info for local variables in function 'EP1OUT_ISR' + 3802 ;------------------------------------------------------------ + 3803 ;------------------------------------------------------------ + 3804 ; ../../../include/ztex-isr.h:436: void EP1OUT_ISR() interrupt + 3805 ; ----------------------------------------- + 3806 ; function EP1OUT_ISR + 3807 ; ----------------------------------------- + 0DE0 3808 _EP1OUT_ISR: + 0DE0 C0 E0 3809 push acc + 0DE2 C0 82 3810 push dpl + 0DE4 C0 83 3811 push dph + 3812 ; ../../../include/ztex-isr.h:438: EXIF &= ~bmBIT4; + 0DE6 53 91 EF 3813 anl _EXIF,#0xEF + 3814 ; ../../../include/ztex-isr.h:439: EPIRQ = bmBIT3; + 0DE9 90 E6 5F 3815 mov dptr,#_EPIRQ + 0DEC 74 08 3816 mov a,#0x08 + 0DEE F0 3817 movx @dptr,a + 0DEF D0 83 3818 pop dph + 0DF1 D0 82 3819 pop dpl + 0DF3 D0 E0 3820 pop acc + 0DF5 32 3821 reti + 3822 ; eliminated unneeded push/pop psw + 3823 ; eliminated unneeded push/pop b + 3824 ;------------------------------------------------------------ + 3825 ;Allocation info for local variables in function 'EP2_ISR' + 3826 ;------------------------------------------------------------ + 3827 ;------------------------------------------------------------ + 3828 ; ../../../include/ztex-isr.h:445: void EP2_ISR() interrupt + 3829 ; ----------------------------------------- + 3830 ; function EP2_ISR + 3831 ; ----------------------------------------- + 0DF6 3832 _EP2_ISR: + 0DF6 C0 E0 3833 push acc + 0DF8 C0 82 3834 push dpl + 0DFA C0 83 3835 push dph + 3836 ; ../../../include/ztex-isr.h:447: EXIF &= ~bmBIT4; + 0DFC 53 91 EF 3837 anl _EXIF,#0xEF + 3838 ; ../../../include/ztex-isr.h:448: EPIRQ = bmBIT4; + 0DFF 90 E6 5F 3839 mov dptr,#_EPIRQ + 0E02 74 10 3840 mov a,#0x10 + 0E04 F0 3841 movx @dptr,a + 0E05 D0 83 3842 pop dph + 0E07 D0 82 3843 pop dpl + 0E09 D0 E0 3844 pop acc + 0E0B 32 3845 reti + 3846 ; eliminated unneeded push/pop psw + 3847 ; eliminated unneeded push/pop b + 3848 ;------------------------------------------------------------ + 3849 ;Allocation info for local variables in function 'EP4_ISR' + 3850 ;------------------------------------------------------------ + 3851 ;------------------------------------------------------------ + 3852 ; ../../../include/ztex-isr.h:454: void EP4_ISR() interrupt + 3853 ; ----------------------------------------- + 3854 ; function EP4_ISR + 3855 ; ----------------------------------------- + 0E0C 3856 _EP4_ISR: + 0E0C C0 E0 3857 push acc + 0E0E C0 82 3858 push dpl + 0E10 C0 83 3859 push dph + 3860 ; ../../../include/ztex-isr.h:456: EXIF &= ~bmBIT4; + 0E12 53 91 EF 3861 anl _EXIF,#0xEF + 3862 ; ../../../include/ztex-isr.h:457: EPIRQ = bmBIT5; + 0E15 90 E6 5F 3863 mov dptr,#_EPIRQ + 0E18 74 20 3864 mov a,#0x20 + 0E1A F0 3865 movx @dptr,a + 0E1B D0 83 3866 pop dph + 0E1D D0 82 3867 pop dpl + 0E1F D0 E0 3868 pop acc + 0E21 32 3869 reti + 3870 ; eliminated unneeded push/pop psw + 3871 ; eliminated unneeded push/pop b + 3872 ;------------------------------------------------------------ + 3873 ;Allocation info for local variables in function 'EP6_ISR' + 3874 ;------------------------------------------------------------ + 3875 ;------------------------------------------------------------ + 3876 ; ../../../include/ztex-isr.h:463: void EP6_ISR() interrupt + 3877 ; ----------------------------------------- + 3878 ; function EP6_ISR + 3879 ; ----------------------------------------- + 0E22 3880 _EP6_ISR: + 0E22 C0 E0 3881 push acc + 0E24 C0 82 3882 push dpl + 0E26 C0 83 3883 push dph + 3884 ; ../../../include/ztex-isr.h:465: EXIF &= ~bmBIT4; + 0E28 53 91 EF 3885 anl _EXIF,#0xEF + 3886 ; ../../../include/ztex-isr.h:466: EPIRQ = bmBIT6; + 0E2B 90 E6 5F 3887 mov dptr,#_EPIRQ + 0E2E 74 40 3888 mov a,#0x40 + 0E30 F0 3889 movx @dptr,a + 0E31 D0 83 3890 pop dph + 0E33 D0 82 3891 pop dpl + 0E35 D0 E0 3892 pop acc + 0E37 32 3893 reti + 3894 ; eliminated unneeded push/pop psw + 3895 ; eliminated unneeded push/pop b + 3896 ;------------------------------------------------------------ + 3897 ;Allocation info for local variables in function 'EP8_ISR' + 3898 ;------------------------------------------------------------ + 3899 ;------------------------------------------------------------ + 3900 ; ../../../include/ztex-isr.h:472: void EP8_ISR() interrupt + 3901 ; ----------------------------------------- + 3902 ; function EP8_ISR + 3903 ; ----------------------------------------- + 0E38 3904 _EP8_ISR: + 0E38 C0 E0 3905 push acc + 0E3A C0 82 3906 push dpl + 0E3C C0 83 3907 push dph + 3908 ; ../../../include/ztex-isr.h:474: EXIF &= ~bmBIT4; + 0E3E 53 91 EF 3909 anl _EXIF,#0xEF + 3910 ; ../../../include/ztex-isr.h:475: EPIRQ = bmBIT7; + 0E41 90 E6 5F 3911 mov dptr,#_EPIRQ + 0E44 74 80 3912 mov a,#0x80 + 0E46 F0 3913 movx @dptr,a + 0E47 D0 83 3914 pop dph + 0E49 D0 82 3915 pop dpl + 0E4B D0 E0 3916 pop acc + 0E4D 32 3917 reti + 3918 ; eliminated unneeded push/pop psw + 3919 ; eliminated unneeded push/pop b + 3920 ;------------------------------------------------------------ + 3921 ;Allocation info for local variables in function 'init_USB' + 3922 ;------------------------------------------------------------ + 3923 ;------------------------------------------------------------ + 3924 ; ../../../include/ztex.h:165: void init_USB () + 3925 ; ----------------------------------------- + 3926 ; function init_USB + 3927 ; ----------------------------------------- + 0E4E 3928 _init_USB: + 3929 ; ../../../include/ztex.h:167: USBCS |= 0x08; + 0E4E 90 E6 80 3930 mov dptr,#_USBCS + 0E51 E0 3931 movx a,@dptr + 0E52 44 08 3932 orl a,#0x08 + 0E54 F0 3933 movx @dptr,a + 3934 ; ../../../include/ztex.h:169: CPUCS = bmBIT4 | bmBIT1; + 0E55 90 E6 00 3935 mov dptr,#_CPUCS + 0E58 74 12 3936 mov a,#0x12 + 0E5A F0 3937 movx @dptr,a + 3938 ; ../../../include/ztex.h:170: CKCON &= ~7; + 0E5B 53 8E F8 3939 anl _CKCON,#0xF8 + 3940 ; ../../../include/ztex.h:191: EA = 0; + 0E5E C2 AF 3941 clr _EA + 3942 ; ../../../include/ztex.h:192: EUSB = 0; + 0E60 C2 E8 3943 clr _EUSB + 3944 ; ../../../include/ezintavecs.h:123: INT8VEC_USB.op=0x02; + 0E62 90 00 43 3945 mov dptr,#_INT8VEC_USB + 0E65 74 02 3946 mov a,#0x02 + 0E67 F0 3947 movx @dptr,a + 3948 ; ../../../include/ezintavecs.h:124: INT8VEC_USB.addrH = 0x01; + 0E68 90 00 44 3949 mov dptr,#(_INT8VEC_USB + 0x0001) + 0E6B 74 01 3950 mov a,#0x01 + 0E6D F0 3951 movx @dptr,a + 3952 ; ../../../include/ezintavecs.h:125: INT8VEC_USB.addrL = 0xb8; + 0E6E 90 00 45 3953 mov dptr,#(_INT8VEC_USB + 0x0002) + 0E71 74 B8 3954 mov a,#0xB8 + 0E73 F0 3955 movx @dptr,a + 3956 ; ../../../include/ezintavecs.h:126: INTSETUP |= 8; + 0E74 90 E6 68 3957 mov dptr,#_INTSETUP + 0E77 E0 3958 movx a,@dptr + 0E78 44 08 3959 orl a,#0x08 + 0E7A F0 3960 movx @dptr,a + 3961 ; ../../../include/ezintavecs.h:115: $0.op=0x02; + 0E7B 90 01 00 3962 mov dptr,#_INTVEC_SUDAV + 0E7E 74 02 3963 mov a,#0x02 + 0E80 F0 3964 movx @dptr,a + 3965 ; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8; + 0E81 7A 23 3966 mov r2,#_SUDAV_ISR + 0E83 7B 07 3967 mov r3,#(_SUDAV_ISR >> 8) + 0E85 8B 04 3968 mov ar4,r3 + 0E87 90 01 01 3969 mov dptr,#(_INTVEC_SUDAV + 0x0001) + 0E8A EC 3970 mov a,r4 + 0E8B F0 3971 movx @dptr,a + 3972 ; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1); + 0E8C 90 01 02 3973 mov dptr,#(_INTVEC_SUDAV + 0x0002) + 0E8F EA 3974 mov a,r2 + 0E90 F0 3975 movx @dptr,a + 3976 ; ../../../include/ezintavecs.h:115: $0.op=0x02; + 0E91 90 01 04 3977 mov dptr,#_INTVEC_SOF + 0E94 74 02 3978 mov a,#0x02 + 0E96 F0 3979 movx @dptr,a + 3980 ; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8; + 0E97 7A 21 3981 mov r2,#_SOF_ISR + 0E99 7B 0C 3982 mov r3,#(_SOF_ISR >> 8) + 0E9B 8B 04 3983 mov ar4,r3 + 0E9D 90 01 05 3984 mov dptr,#(_INTVEC_SOF + 0x0001) + 0EA0 EC 3985 mov a,r4 + 0EA1 F0 3986 movx @dptr,a + 3987 ; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1); + 0EA2 90 01 06 3988 mov dptr,#(_INTVEC_SOF + 0x0002) + 0EA5 EA 3989 mov a,r2 + 0EA6 F0 3990 movx @dptr,a + 3991 ; ../../../include/ezintavecs.h:115: $0.op=0x02; + 0EA7 90 01 08 3992 mov dptr,#_INTVEC_SUTOK + 0EAA 74 02 3993 mov a,#0x02 + 0EAC F0 3994 movx @dptr,a + 3995 ; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8; + 0EAD 7A 37 3996 mov r2,#_SUTOK_ISR + 0EAF 7B 0C 3997 mov r3,#(_SUTOK_ISR >> 8) + 0EB1 8B 04 3998 mov ar4,r3 + 0EB3 90 01 09 3999 mov dptr,#(_INTVEC_SUTOK + 0x0001) + 0EB6 EC 4000 mov a,r4 + 0EB7 F0 4001 movx @dptr,a + 4002 ; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1); + 0EB8 90 01 0A 4003 mov dptr,#(_INTVEC_SUTOK + 0x0002) + 0EBB EA 4004 mov a,r2 + 0EBC F0 4005 movx @dptr,a + 4006 ; ../../../include/ezintavecs.h:115: $0.op=0x02; + 0EBD 90 01 0C 4007 mov dptr,#_INTVEC_SUSPEND + 0EC0 74 02 4008 mov a,#0x02 + 0EC2 F0 4009 movx @dptr,a + 4010 ; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8; + 0EC3 7A 4D 4011 mov r2,#_SUSP_ISR + 0EC5 7B 0C 4012 mov r3,#(_SUSP_ISR >> 8) + 0EC7 8B 04 4013 mov ar4,r3 + 0EC9 90 01 0D 4014 mov dptr,#(_INTVEC_SUSPEND + 0x0001) + 0ECC EC 4015 mov a,r4 + 0ECD F0 4016 movx @dptr,a + 4017 ; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1); + 0ECE 90 01 0E 4018 mov dptr,#(_INTVEC_SUSPEND + 0x0002) + 0ED1 EA 4019 mov a,r2 + 0ED2 F0 4020 movx @dptr,a + 4021 ; ../../../include/ezintavecs.h:115: $0.op=0x02; + 0ED3 90 01 10 4022 mov dptr,#_INTVEC_USBRESET + 0ED6 74 02 4023 mov a,#0x02 + 0ED8 F0 4024 movx @dptr,a + 4025 ; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8; + 0ED9 7A 63 4026 mov r2,#_URES_ISR + 0EDB 7B 0C 4027 mov r3,#(_URES_ISR >> 8) + 0EDD 8B 04 4028 mov ar4,r3 + 0EDF 90 01 11 4029 mov dptr,#(_INTVEC_USBRESET + 0x0001) + 0EE2 EC 4030 mov a,r4 + 0EE3 F0 4031 movx @dptr,a + 4032 ; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1); + 0EE4 90 01 12 4033 mov dptr,#(_INTVEC_USBRESET + 0x0002) + 0EE7 EA 4034 mov a,r2 + 0EE8 F0 4035 movx @dptr,a + 4036 ; ../../../include/ezintavecs.h:115: $0.op=0x02; + 0EE9 90 01 14 4037 mov dptr,#_INTVEC_HISPEED + 0EEC 74 02 4038 mov a,#0x02 + 0EEE F0 4039 movx @dptr,a + 4040 ; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8; + 0EEF 7A 79 4041 mov r2,#_HSGRANT_ISR + 0EF1 7B 0C 4042 mov r3,#(_HSGRANT_ISR >> 8) + 0EF3 8B 04 4043 mov ar4,r3 + 0EF5 90 01 15 4044 mov dptr,#(_INTVEC_HISPEED + 0x0001) + 0EF8 EC 4045 mov a,r4 + 0EF9 F0 4046 movx @dptr,a + 4047 ; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1); + 0EFA 90 01 16 4048 mov dptr,#(_INTVEC_HISPEED + 0x0002) + 0EFD EA 4049 mov a,r2 + 0EFE F0 4050 movx @dptr,a + 4051 ; ../../../include/ezintavecs.h:115: $0.op=0x02; + 0EFF 90 01 18 4052 mov dptr,#_INTVEC_EP0ACK + 0F02 74 02 4053 mov a,#0x02 + 0F04 F0 4054 movx @dptr,a + 4055 ; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8; + 0F05 7A 8F 4056 mov r2,#_EP0ACK_ISR + 0F07 7B 0C 4057 mov r3,#(_EP0ACK_ISR >> 8) + 0F09 8B 04 4058 mov ar4,r3 + 0F0B 90 01 19 4059 mov dptr,#(_INTVEC_EP0ACK + 0x0001) + 0F0E EC 4060 mov a,r4 + 0F0F F0 4061 movx @dptr,a + 4062 ; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1); + 0F10 90 01 1A 4063 mov dptr,#(_INTVEC_EP0ACK + 0x0002) + 0F13 EA 4064 mov a,r2 + 0F14 F0 4065 movx @dptr,a + 4066 ; ../../../include/ezintavecs.h:115: $0.op=0x02; + 0F15 90 01 20 4067 mov dptr,#_INTVEC_EP0IN + 0F18 74 02 4068 mov a,#0x02 + 0F1A F0 4069 movx @dptr,a + 4070 ; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8; + 0F1B 7A A5 4071 mov r2,#_EP0IN_ISR + 0F1D 7B 0C 4072 mov r3,#(_EP0IN_ISR >> 8) + 0F1F 8B 04 4073 mov ar4,r3 + 0F21 90 01 21 4074 mov dptr,#(_INTVEC_EP0IN + 0x0001) + 0F24 EC 4075 mov a,r4 + 0F25 F0 4076 movx @dptr,a + 4077 ; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1); + 0F26 90 01 22 4078 mov dptr,#(_INTVEC_EP0IN + 0x0002) + 0F29 EA 4079 mov a,r2 + 0F2A F0 4080 movx @dptr,a + 4081 ; ../../../include/ezintavecs.h:115: $0.op=0x02; + 0F2B 90 01 24 4082 mov dptr,#_INTVEC_EP0OUT + 0F2E 74 02 4083 mov a,#0x02 + 0F30 F0 4084 movx @dptr,a + 4085 ; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8; + 0F31 7A 2E 4086 mov r2,#_EP0OUT_ISR + 0F33 7B 0D 4087 mov r3,#(_EP0OUT_ISR >> 8) + 0F35 8B 04 4088 mov ar4,r3 + 0F37 90 01 25 4089 mov dptr,#(_INTVEC_EP0OUT + 0x0001) + 0F3A EC 4090 mov a,r4 + 0F3B F0 4091 movx @dptr,a + 4092 ; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1); + 0F3C 90 01 26 4093 mov dptr,#(_INTVEC_EP0OUT + 0x0002) + 0F3F EA 4094 mov a,r2 + 0F40 F0 4095 movx @dptr,a + 4096 ; ../../../include/ezintavecs.h:115: $0.op=0x02; + 0F41 90 01 28 4097 mov dptr,#_INTVEC_EP1IN + 0F44 74 02 4098 mov a,#0x02 + 0F46 F0 4099 movx @dptr,a + 4100 ; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8; + 0F47 7A CA 4101 mov r2,#_EP1IN_ISR + 0F49 7B 0D 4102 mov r3,#(_EP1IN_ISR >> 8) + 0F4B 8B 04 4103 mov ar4,r3 + 0F4D 90 01 29 4104 mov dptr,#(_INTVEC_EP1IN + 0x0001) + 0F50 EC 4105 mov a,r4 + 0F51 F0 4106 movx @dptr,a + 4107 ; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1); + 0F52 90 01 2A 4108 mov dptr,#(_INTVEC_EP1IN + 0x0002) + 0F55 EA 4109 mov a,r2 + 0F56 F0 4110 movx @dptr,a + 4111 ; ../../../include/ezintavecs.h:115: $0.op=0x02; + 0F57 90 01 2C 4112 mov dptr,#_INTVEC_EP1OUT + 0F5A 74 02 4113 mov a,#0x02 + 0F5C F0 4114 movx @dptr,a + 4115 ; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8; + 0F5D 7A E0 4116 mov r2,#_EP1OUT_ISR + 0F5F 7B 0D 4117 mov r3,#(_EP1OUT_ISR >> 8) + 0F61 8B 04 4118 mov ar4,r3 + 0F63 90 01 2D 4119 mov dptr,#(_INTVEC_EP1OUT + 0x0001) + 0F66 EC 4120 mov a,r4 + 0F67 F0 4121 movx @dptr,a + 4122 ; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1); + 0F68 90 01 2E 4123 mov dptr,#(_INTVEC_EP1OUT + 0x0002) + 0F6B EA 4124 mov a,r2 + 0F6C F0 4125 movx @dptr,a + 4126 ; ../../../include/ezintavecs.h:115: $0.op=0x02; + 0F6D 90 01 30 4127 mov dptr,#_INTVEC_EP2 + 0F70 74 02 4128 mov a,#0x02 + 0F72 F0 4129 movx @dptr,a + 4130 ; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8; + 0F73 7A F6 4131 mov r2,#_EP2_ISR + 0F75 7B 0D 4132 mov r3,#(_EP2_ISR >> 8) + 0F77 8B 04 4133 mov ar4,r3 + 0F79 90 01 31 4134 mov dptr,#(_INTVEC_EP2 + 0x0001) + 0F7C EC 4135 mov a,r4 + 0F7D F0 4136 movx @dptr,a + 4137 ; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1); + 0F7E 90 01 32 4138 mov dptr,#(_INTVEC_EP2 + 0x0002) + 0F81 EA 4139 mov a,r2 + 0F82 F0 4140 movx @dptr,a + 4141 ; ../../../include/ezintavecs.h:115: $0.op=0x02; + 0F83 90 01 34 4142 mov dptr,#_INTVEC_EP4 + 0F86 74 02 4143 mov a,#0x02 + 0F88 F0 4144 movx @dptr,a + 4145 ; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8; + 0F89 7A 0C 4146 mov r2,#_EP4_ISR + 0F8B 7B 0E 4147 mov r3,#(_EP4_ISR >> 8) + 0F8D 8B 04 4148 mov ar4,r3 + 0F8F 90 01 35 4149 mov dptr,#(_INTVEC_EP4 + 0x0001) + 0F92 EC 4150 mov a,r4 + 0F93 F0 4151 movx @dptr,a + 4152 ; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1); + 0F94 90 01 36 4153 mov dptr,#(_INTVEC_EP4 + 0x0002) + 0F97 EA 4154 mov a,r2 + 0F98 F0 4155 movx @dptr,a + 4156 ; ../../../include/ezintavecs.h:115: $0.op=0x02; + 0F99 90 01 38 4157 mov dptr,#_INTVEC_EP6 + 0F9C 74 02 4158 mov a,#0x02 + 0F9E F0 4159 movx @dptr,a + 4160 ; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8; + 0F9F 7A 22 4161 mov r2,#_EP6_ISR + 0FA1 7B 0E 4162 mov r3,#(_EP6_ISR >> 8) + 0FA3 8B 04 4163 mov ar4,r3 + 0FA5 90 01 39 4164 mov dptr,#(_INTVEC_EP6 + 0x0001) + 0FA8 EC 4165 mov a,r4 + 0FA9 F0 4166 movx @dptr,a + 4167 ; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1); + 0FAA 90 01 3A 4168 mov dptr,#(_INTVEC_EP6 + 0x0002) + 0FAD EA 4169 mov a,r2 + 0FAE F0 4170 movx @dptr,a + 4171 ; ../../../include/ezintavecs.h:115: $0.op=0x02; + 0FAF 90 01 3C 4172 mov dptr,#_INTVEC_EP8 + 0FB2 74 02 4173 mov a,#0x02 + 0FB4 F0 4174 movx @dptr,a + 4175 ; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8; + 0FB5 7A 38 4176 mov r2,#_EP8_ISR + 0FB7 7B 0E 4177 mov r3,#(_EP8_ISR >> 8) + 0FB9 8B 04 4178 mov ar4,r3 + 0FBB 90 01 3D 4179 mov dptr,#(_INTVEC_EP8 + 0x0001) + 0FBE EC 4180 mov a,r4 + 0FBF F0 4181 movx @dptr,a + 4182 ; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1); + 0FC0 90 01 3E 4183 mov dptr,#(_INTVEC_EP8 + 0x0002) + 0FC3 EA 4184 mov a,r2 + 0FC4 F0 4185 movx @dptr,a + 4186 ; ../../../include/ztex.h:213: EXIF &= ~bmBIT4; + 0FC5 53 91 EF 4187 anl _EXIF,#0xEF + 4188 ; ../../../include/ztex.h:214: USBIRQ = 0x7f; + 0FC8 90 E6 5D 4189 mov dptr,#_USBIRQ + 0FCB 74 7F 4190 mov a,#0x7F + 0FCD F0 4191 movx @dptr,a + 4192 ; ../../../include/ztex.h:215: USBIE |= 0x7f; + 0FCE 90 E6 5C 4193 mov dptr,#_USBIE + 0FD1 E0 4194 movx a,@dptr + 0FD2 FA 4195 mov r2,a + 0FD3 44 7F 4196 orl a,#0x7F + 0FD5 F0 4197 movx @dptr,a + 4198 ; ../../../include/ztex.h:216: EPIRQ = 0xff; + 0FD6 90 E6 5F 4199 mov dptr,#_EPIRQ + 0FD9 74 FF 4200 mov a,#0xFF + 0FDB F0 4201 movx @dptr,a + 4202 ; ../../../include/ztex.h:217: EPIE = 0xff; + 0FDC 90 E6 5E 4203 mov dptr,#_EPIE + 0FDF 74 FF 4204 mov a,#0xFF + 0FE1 F0 4205 movx @dptr,a + 4206 ; ../../../include/ztex.h:219: EUSB = 1; + 0FE2 D2 E8 4207 setb _EUSB + 4208 ; ../../../include/ztex.h:220: EA = 1; + 0FE4 D2 AF 4209 setb _EA + 4210 ; ../../../include/ztex.h:154: EP$0CFG = bmBIT7 | bmBIT5; + 0FE6 90 E6 11 4211 mov dptr,#_EP1INCFG + 0FE9 74 A0 4212 mov a,#0xA0 + 0FEB F0 4213 movx @dptr,a + 4214 ; ../../../include/ezregs.h:46: _endasm; + 4215 + 0FEC 00 4216 nop + 0FED 00 4217 nop + 0FEE 00 4218 nop + 0FEF 00 4219 nop + 4220 + 4221 ; ../../../include/ztex.h:154: EP$0CFG = bmBIT7 | bmBIT5; + 0FF0 90 E6 10 4222 mov dptr,#_EP1OUTCFG + 0FF3 74 A0 4223 mov a,#0xA0 + 0FF5 F0 4224 movx @dptr,a + 4225 ; ../../../include/ezregs.h:46: _endasm; + 4226 + 0FF6 00 4227 nop + 0FF7 00 4228 nop + 0FF8 00 4229 nop + 0FF9 00 4230 nop + 4231 + 4232 ; ../../../include/ztex.h:149: ; + 0FFA 90 E6 12 4233 mov dptr,#_EP2CFG + 0FFD E4 4234 clr a + 0FFE F0 4235 movx @dptr,a + 4236 ; ../../../include/ezregs.h:46: _endasm; + 4237 + 0FFF 00 4238 nop + 1000 00 4239 nop + 1001 00 4240 nop + 1002 00 4241 nop + 4242 + 4243 ; ../../../include/ztex.h:149: ; + 1003 90 E6 13 4244 mov dptr,#_EP4CFG + 1006 E4 4245 clr a + 1007 F0 4246 movx @dptr,a + 4247 ; ../../../include/ezregs.h:46: _endasm; + 4248 + 1008 00 4249 nop + 1009 00 4250 nop + 100A 00 4251 nop + 100B 00 4252 nop + 4253 + 4254 ; ../../../include/ztex.h:149: ; + 100C 90 E6 14 4255 mov dptr,#_EP6CFG + 100F E4 4256 clr a + 1010 F0 4257 movx @dptr,a + 4258 ; ../../../include/ezregs.h:46: _endasm; + 4259 + 1011 00 4260 nop + 1012 00 4261 nop + 1013 00 4262 nop + 1014 00 4263 nop + 4264 + 4265 ; ../../../include/ztex.h:149: ; + 1015 90 E6 15 4266 mov dptr,#_EP8CFG + 1018 E4 4267 clr a + 1019 F0 4268 movx @dptr,a + 4269 ; ../../../include/ezregs.h:46: _endasm; + 4270 + 101A 00 4271 nop + 101B 00 4272 nop + 101C 00 4273 nop + 101D 00 4274 nop + 4275 + 4276 ; ../../../include/ztex.h:236: debug_init(); + 101E 12 05 F9 4277 lcall _debug_init + 4278 ; ../../../include/ztex.h:239: USBCS |= bmBIT7 | bmBIT1; + 1021 90 E6 80 4279 mov dptr,#_USBCS + 1024 E0 4280 movx a,@dptr + 1025 44 82 4281 orl a,#0x82 + 1027 F0 4282 movx @dptr,a + 4283 ; ../../../include/ztex.h:240: wait(250); + 1028 90 00 FA 4284 mov dptr,#0x00FA + 102B 12 02 64 4285 lcall _wait + 4286 ; ../../../include/ztex.h:241: USBCS &= ~0x08; + 102E 90 E6 80 4287 mov dptr,#_USBCS + 1031 E0 4288 movx a,@dptr + 1032 54 F7 4289 anl a,#0xF7 + 1034 F0 4290 movx @dptr,a + 1035 22 4291 ret + 4292 ;------------------------------------------------------------ + 4293 ;Allocation info for local variables in function 'main' + 4294 ;------------------------------------------------------------ + 4295 ;i Allocated to registers + 4296 ;b Allocated to registers r4 + 4297 ;------------------------------------------------------------ + 4298 ; debug.c:32: void main(void) + 4299 ; ----------------------------------------- + 4300 ; function main + 4301 ; ----------------------------------------- + 1036 4302 _main: + 4303 ; debug.c:38: init_USB(); + 1036 12 0E 4E 4304 lcall _init_USB + 4305 ; debug.c:41: while (1) { + 1039 7A 00 4306 mov r2,#0x00 + 103B 7B 00 4307 mov r3,#0x00 + 103D 4308 00102$: + 4309 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 103D 8A 04 4310 mov ar4,r2 + 103F 90 32 6B 4311 mov dptr,#_debug_msg_buf + 1042 EC 4312 mov a,r4 + 1043 F0 4313 movx @dptr,a + 4314 ; debug.c:44: debug_msg_buf[1] = i >> 8; + 1044 8B 04 4315 mov ar4,r3 + 1046 90 32 6C 4316 mov dptr,#(_debug_msg_buf + 0x0001) + 1049 EC 4317 mov a,r4 + 104A F0 4318 movx @dptr,a + 4319 ; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + 104B C0 02 4320 push ar2 + 104D C0 03 4321 push ar3 + 104F 12 05 B5 4322 lcall _debug_add_msg + 1052 D0 03 4323 pop ar3 + 1054 D0 02 4324 pop ar2 + 4325 ; debug.c:46: i+=1; + 1056 0A 4326 inc r2 + 1057 BA 00 01 4327 cjne r2,#0x00,00113$ + 105A 0B 4328 inc r3 + 105B 4329 00113$: + 4330 ; debug.c:30: #include[ztex.h] + 105B 7C 00 4331 mov r4,#0x00 + 105D 4332 00104$: + 105D BC 64 00 4333 cjne r4,#0x64,00114$ + 1060 4334 00114$: + 1060 50 DB 4335 jnc 00102$ + 1062 90 32 69 4336 mov dptr,#_debug_stack_ptr + 1065 E0 4337 movx a,@dptr + 1066 FD 4338 mov r5,a + 1067 A3 4339 inc dptr + 1068 E0 4340 movx a,@dptr + 1069 FE 4341 mov r6,a + 106A 8D 82 4342 mov dpl,r5 + 106C 8E 83 4343 mov dph,r6 + 106E A3 4344 inc dptr + 106F A3 4345 inc dptr + 1070 EC 4346 mov a,r4 + 1071 F0 4347 movx @dptr,a + 1072 90 00 0A 4348 mov dptr,#0x000A + 1075 C0 02 4349 push ar2 + 1077 C0 03 4350 push ar3 + 1079 C0 04 4351 push ar4 + 107B 12 02 64 4352 lcall _wait + 107E D0 04 4353 pop ar4 + 1080 D0 03 4354 pop ar3 + 1082 D0 02 4355 pop ar2 + 1084 0C 4356 inc r4 + 1085 80 D6 4357 sjmp 00104$ + 4358 .area CSEG (CODE) + 4359 .area CONST (CODE) + 108B 4360 _manufacturerString: + 108B 5A 54 45 58 4361 .ascii "ZTEX" + 108F 00 4362 .db 0x00 + 1090 4363 _productString: + 1090 64 65 62 75 67 20 4364 .ascii "debug for EZ-USB devices" + 66 6F 72 20 45 5A + 2D 55 53 42 20 64 + 65 76 69 63 65 73 + 10A8 00 4365 .db 0x00 + 10A9 4366 _configurationString: + 10A9 28 75 6E 6B 6E 6F 4367 .ascii "(unknown)" + 77 6E 29 + 10B2 00 4368 .db 0x00 + 10B3 4369 _PadByte: + 10B3 00 4370 .db #0x00 + 10B4 4371 _DeviceDescriptor: + 10B4 12 4372 .db #0x12 + 10B5 01 4373 .db #0x01 + 10B6 00 4374 .db #0x00 + 10B7 02 4375 .db #0x02 + 10B8 FF 4376 .db #0xFF + 10B9 FF 4377 .db #0xFF + 10BA FF 4378 .db #0xFF + 10BB 40 4379 .db #0x40 + 10BC 1A 4380 .db #0x1A + 10BD 22 4381 .db #0x22 + 10BE 00 4382 .db #0x00 + 10BF 01 4383 .db #0x01 + 10C0 00 4384 .db #0x00 + 10C1 00 4385 .db #0x00 + 10C2 01 4386 .db #0x01 + 10C3 02 4387 .db #0x02 + 10C4 03 4388 .db #0x03 + 10C5 01 4389 .db #0x01 + 10C6 4390 _DeviceQualifierDescriptor: + 10C6 0A 4391 .db #0x0A + 10C7 06 4392 .db #0x06 + 10C8 00 4393 .db #0x00 + 10C9 02 4394 .db #0x02 + 10CA FF 4395 .db #0xFF + 10CB FF 4396 .db #0xFF + 10CC FF 4397 .db #0xFF + 10CD 40 4398 .db #0x40 + 10CE 01 4399 .db #0x01 + 10CF 00 4400 .db #0x00 + 10D0 4401 _HighSpeedConfigDescriptor: + 10D0 09 4402 .db #0x09 + 10D1 02 4403 .db #0x02 + 10D2 20 4404 .db #0x20 + 10D3 00 4405 .db #0x00 + 10D4 01 4406 .db #0x01 + 10D5 01 4407 .db #0x01 + 10D6 04 4408 .db #0x04 + 10D7 C0 4409 .db #0xC0 + 10D8 32 4410 .db #0x32 + 10D9 09 4411 .db #0x09 + 10DA 04 4412 .db #0x04 + 10DB 00 4413 .db #0x00 + 10DC 00 4414 .db #0x00 + 10DD 02 4415 .db #0x02 + 10DE FF 4416 .db #0xFF + 10DF FF 4417 .db #0xFF + 10E0 FF 4418 .db #0xFF + 10E1 00 4419 .db #0x00 + 10E2 07 4420 .db #0x07 + 10E3 05 4421 .db #0x05 + 10E4 81 4422 .db #0x81 + 10E5 02 4423 .db #0x02 + 10E6 00 4424 .db #0x00 + 10E7 02 4425 .db #0x02 + 10E8 00 4426 .db #0x00 + 10E9 07 4427 .db #0x07 + 10EA 05 4428 .db #0x05 + 10EB 01 4429 .db #0x01 + 10EC 02 4430 .db #0x02 + 10ED 00 4431 .db #0x00 + 10EE 02 4432 .db #0x02 + 10EF 00 4433 .db #0x00 + 10F0 4434 _HighSpeedConfigDescriptor_PadByte: + 10F0 00 4435 .db #0x00 + 10F1 00 4436 .db 0x00 + 10F2 4437 _FullSpeedConfigDescriptor: + 10F2 09 4438 .db #0x09 + 10F3 02 4439 .db #0x02 + 10F4 20 4440 .db #0x20 + 10F5 00 4441 .db #0x00 + 10F6 01 4442 .db #0x01 + 10F7 01 4443 .db #0x01 + 10F8 04 4444 .db #0x04 + 10F9 C0 4445 .db #0xC0 + 10FA 32 4446 .db #0x32 + 10FB 09 4447 .db #0x09 + 10FC 04 4448 .db #0x04 + 10FD 00 4449 .db #0x00 + 10FE 00 4450 .db #0x00 + 10FF 02 4451 .db #0x02 + 1100 FF 4452 .db #0xFF + 1101 FF 4453 .db #0xFF + 1102 FF 4454 .db #0xFF + 1103 00 4455 .db #0x00 + 1104 07 4456 .db #0x07 + 1105 05 4457 .db #0x05 + 1106 81 4458 .db #0x81 + 1107 02 4459 .db #0x02 + 1108 40 4460 .db #0x40 + 1109 00 4461 .db #0x00 + 110A 00 4462 .db #0x00 + 110B 07 4463 .db #0x07 + 110C 05 4464 .db #0x05 + 110D 01 4465 .db #0x01 + 110E 02 4466 .db #0x02 + 110F 40 4467 .db #0x40 + 1110 00 4468 .db #0x00 + 1111 00 4469 .db #0x00 + 1112 4470 _FullSpeedConfigDescriptor_PadByte: + 1112 00 4471 .db #0x00 + 1113 00 4472 .db 0x00 + 1114 4473 _EmptyStringDescriptor: + 1114 04 4474 .db #0x04 + 1115 03 4475 .db #0x03 + 1116 00 4476 .db #0x00 + 1117 00 4477 .db #0x00 + 4478 .area XINIT (CODE) + 1118 4479 __xinit__ep0_payload_remaining: + 1118 00 00 4480 .byte #0x00,#0x00 + 111A 4481 __xinit__ep0_payload_transfer: + 111A 00 4482 .db #0x00 + 111B 4483 __xinit__ep0_prev_setup_request: + 111B FF 4484 .db #0xFF + 111C 4485 __xinit__ep0_vendor_cmd_setup: + 111C 00 4486 .db #0x00 + 111D 4487 __xinit__ISOFRAME_COUNTER: + 111D 00 00 4488 .byte #0x00,#0x00 + 111F 00 00 4489 .byte #0x00,#0x00 + 1121 00 00 4490 .byte #0x00,#0x00 + 1123 00 00 4491 .byte #0x00,#0x00 + 4492 .area CABS (ABS,CODE) Index: debug/Readme =================================================================== --- debug/Readme (nonexistent) +++ debug/Readme (revision 3) @@ -0,0 +1,74 @@ +debug +----- + +This example explains the usage of the debug helper and should work +on all EZ-USB Products. + +The debug helper provides a simple interface to store status +informations or other data which can be read out from host PC using the +API. + +The debug helper is stack orientated and initialized using the +"ENABLE_DEBUG(,);" macro, where +denotes the maximum number of messages in stack and +denotes the message size in bytes. + +Two variables and one function are used for the message control: + +/* + This buffer is used to buffer the message. The user should + write the data to this buffer. +*/ +xdata BYTE debug_msg_buf[DEBUG_MSG_SIZE]; + +/* + Points the the last message on message stack. This can be used to + modify / update the last message +*/ +xdata BYTE* xdata debug_stack_ptr; + +/* + Adds the message stored in debug_msg_buf to the message stack +*/ +void debug_add_msg (); + +The messages can be read out from host PC using the following API +methods and variables: + +/* + Is set by debugReadMessages(boolean,byte[]) and contains the number + of new messages. +*/ +public int debugNewMessages; + +/* + Returns the size of message stack in messages. +*/ +public int debugStackSize ( ); + +/* + Returns the size of messages in bytes. +*/ +public int debugMsgSize ( ); + +/* + Returns the number of the last message read out by + debugStackSize(boolean,byte[]) +*/ +public final int debuglastMsg ( ); + +/* + Reads debug messages from message stack. The number of messages + stored in buf is returned. The total number of new messages is stored + in debugNewMessages. The number of the latest message is returned by + debuglastMessage(). + + If parameter all is true, all messages from stack are written to buf. + If it is false, only the new messages are written to buf. +*/ +public int debugReadMessages ( boolean all, byte[] buf ); + + +The example creates one debug message per second. Each message is 3 +bytes long. The first two bytes contain the second counter, the last +byte contains a another counter which is incremented every 10ms. Index: debug/debug.sh =================================================================== --- debug/debug.sh (nonexistent) +++ debug/debug.sh (revision 3) @@ -0,0 +1,3 @@ +make -C ../../../java distclean all || exit +make distclean all || exit +java -cp Debug.jar Debug $@
debug/debug.sh Property changes : Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Index: debug/Debug.jar =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: debug/Debug.jar =================================================================== --- debug/Debug.jar (nonexistent) +++ debug/Debug.jar (revision 3)
debug/Debug.jar Property changes : Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: debug/debug.map =================================================================== --- debug/debug.map (nonexistent) +++ debug/debug.map (revision 3) @@ -0,0 +1,920 @@ + +Hexadecimal + +Area Addr Size Decimal Bytes (Attributes) +-------------------------------- ---- ---- ------- ----- ------------ +CABS 0000 0000 = 0. bytes (ABS,CON,CODE) + + Value Global + -------- -------------------------------- + 0C:FFFFFF00 s_BSEG + 0C:0000 l_ABSCODE + 0C:0000 l_BSEG + 0C:0000 l_BSEG_BYTES + 0C:0000 l_CABS + 0C:0000 l_GSINIT + 0C:0000 l_GSINIT1 + 0C:0000 l_GSINIT5 + 0C:0000 l_IABS + 0C:0000 l_ISEG + 0C:0000 l_PSEG + 0C:0000 l_REG_BANK_1 + 0C:0000 l_REG_BANK_2 + 0C:0000 l_REG_BANK_3 + 0C:0000 l_RSEG + 0C:0000 l_XABS + 0C:0000 l__CODE + 0C:0000 s_ABSCODE + 0C:0000 s_ABSCODE0 + 0C:0000 s_ABSCODE100 + 0C:0000 s_ABSCODE104 + 0C:0000 s_ABSCODE108 + 0C:0000 s_ABSCODE10c + 0C:0000 s_ABSCODE110 + 0C:0000 s_ABSCODE114 + 0C:0000 s_ABSCODE118 + 0C:0000 s_ABSCODE120 + 0C:0000 s_ABSCODE124 + 0C:0000 s_ABSCODE128 + 0C:0000 s_ABSCODE12c + 0C:0000 s_ABSCODE13 + 0C:0000 s_ABSCODE130 + 0C:0000 s_ABSCODE134 + 0C:0000 s_ABSCODE138 + 0C:0000 s_ABSCODE13c + 0C:0000 s_ABSCODE140 + 0C:0000 s_ABSCODE148 + 0C:0000 s_ABSCODE14c + 0C:0000 s_ABSCODE150 + 0C:0000 s_ABSCODE154 + 0C:0000 s_ABSCODE158 + 0C:0000 s_ABSCODE15c + 0C:0000 s_ABSCODE160 + 0C:0000 s_ABSCODE170 + 0C:0000 s_ABSCODE174 + 0C:0000 s_ABSCODE178 + 0C:0000 s_ABSCODE17c + 0C:0000 s_ABSCODE180 + 0C:0000 s_ABSCODE184 + 0C:0000 s_ABSCODE188 + 0C:0000 s_ABSCODE18c + 0C:0000 s_ABSCODE190 + 0C:0000 s_ABSCODE194 + 0C:0000 s_ABSCODE198 + 0C:0000 s_ABSCODE19c + 0C:0000 s_ABSCODE1a0 + 0C:0000 s_ABSCODE1a8 + 0C:0000 s_ABSCODE1ac + 0C:0000 s_ABSCODE1b + 0C:0000 s_ABSCODE1b0 + 0C:0000 s_ABSCODE1b4 + 0C:0000 s_ABSCODE1b8 + 0C:0000 s_ABSCODE23 + 0C:0000 s_ABSCODE2b + 0C:0000 s_ABSCODE3 + 0C:0000 s_ABSCODE33 + 0C:0000 s_ABSCODE3b + 0C:0000 s_ABSCODE43 + 0C:0000 s_ABSCODE4b + 0C:0000 s_ABSCODE53 + 0C:0000 s_ABSCODE5b + 0C:0000 s_ABSCODE63 + 0C:0000 s_ABSCODE6c + 0C:0000 s_ABSCODE6d + 0C:0000 s_ABSCODE6e + 0C:0000 s_ABSCODE72 + 0C:0000 s_ABSCODE76 + 0C:0000 s_ABSCODE77 + 0C:0000 s_ABSCODE78 + 0C:0000 s_ABSCODE7e + 0C:0000 s_ABSCODE8a + 0C:0000 s_ABSCODEb + 0C:0000 s_BSEG_BYTES + 0C:0000 s_CABS + 0C:0000 s_DSEG + 0C:0000 s_IABS + 0C:0000 s_ISEG + 0C:0000 s_REG_BANK_0 + 0C:0000 s_XABS + 0C:0001 l_ABSCODE100 + 0C:0001 l_ABSCODE104 + 0C:0001 l_ABSCODE108 + 0C:0001 l_ABSCODE10c + 0C:0001 l_ABSCODE110 + 0C:0001 l_ABSCODE114 + 0C:0001 l_ABSCODE118 + 0C:0001 l_ABSCODE120 + 0C:0001 l_ABSCODE124 + 0C:0001 l_ABSCODE128 + 0C:0001 l_ABSCODE12c + 0C:0001 l_ABSCODE13 + 0C:0001 l_ABSCODE130 + 0C:0001 l_ABSCODE134 + 0C:0001 l_ABSCODE138 + 0C:0001 l_ABSCODE13c + 0C:0001 l_ABSCODE140 + 0C:0001 l_ABSCODE148 + 0C:0001 l_ABSCODE14c + 0C:0001 l_ABSCODE150 + 0C:0001 l_ABSCODE154 + 0C:0001 l_ABSCODE158 + 0C:0001 l_ABSCODE15c + 0C:0001 l_ABSCODE160 + 0C:0001 l_ABSCODE170 + 0C:0001 l_ABSCODE174 + 0C:0001 l_ABSCODE178 + 0C:0001 l_ABSCODE17c + 0C:0001 l_ABSCODE180 + 0C:0001 l_ABSCODE184 + 0C:0001 l_ABSCODE188 + 0C:0001 l_ABSCODE18c + 0C:0001 l_ABSCODE190 + 0C:0001 l_ABSCODE194 + 0C:0001 l_ABSCODE198 + 0C:0001 l_ABSCODE19c + 0C:0001 l_ABSCODE1a0 + 0C:0001 l_ABSCODE1a8 + 0C:0001 l_ABSCODE1ac + 0C:0001 l_ABSCODE1b + 0C:0001 l_ABSCODE1b0 + 0C:0001 l_ABSCODE1b4 + 0C:0001 l_ABSCODE1b8 + 0C:0001 l_ABSCODE23 + 0C:0001 l_ABSCODE2b + 0C:0001 l_ABSCODE3 + 0C:0001 l_ABSCODE33 + 0C:0001 l_ABSCODE3b + 0C:0001 l_ABSCODE43 + 0C:0001 l_ABSCODE4b + 0C:0001 l_ABSCODE53 + 0C:0001 l_ABSCODE5b + 0C:0001 l_ABSCODE63 + 0C:0001 l_ABSCODE6c + 0C:0001 l_ABSCODE6d + 0C:0001 l_ABSCODE76 + 0C:0001 l_ABSCODE77 + 0C:0001 l_ABSCODEb + 0C:0001 l_BIT_BANK + 0C:0002 l_OSEG + 0C:0003 l_ABSCODE0 + 0C:0003 l_GSFINAL + 0C:0003 l_GSINIT0 + 0C:0004 l_ABSCODE6e + 0C:0004 l_ABSCODE72 + 0C:0006 l_ABSCODE78 + 0C:0008 l_HOME + 0C:0008 l_REG_BANK_0 + 0C:0008 s_REG_BANK_1 + 0C:000A l_ABSCODE8a + 0C:000A l_GSINIT2 + 0C:000C l_ABSCODE7e + 0C:000D l_XINIT + 0C:000D l_XISEG + 0C:000F s_OSEG + 0C:0010 s_REG_BANK_2 + 0C:0018 s_REG_BANK_3 + 0C:0020 s_BIT_BANK + 0C:0020 s__CODE + 0C:0021 s_RSEG + 0C:0021 s_SSEG + 0C:0022 l_GSINIT3 + 0C:002A l_GSINIT4 + 0C:0070 l_XSEG + 0C:0071 l_DSEG + 0C:008D l_CONST + 0C:00DF l_SSEG + 0C:0100 l_IRAM + 0C:0200 s_HOME + 0C:0208 s_GSINIT0 + 0C:020B s_GSINIT1 + 0C:020B s_GSINIT2 + 0C:0215 s_GSINIT3 + 0C:0237 s_GSINIT4 + 0C:0261 s_GSFINAL + 0C:0261 s_GSINIT + 0C:0261 s_GSINIT5 + 0C:0264 s_CSEG + 0C:0E27 l_CSEG + 0C:108B s_CONST + 0C:1118 s_XINIT + 0C:3200 s_PSEG + 0C:3200 s_XSEG + 0C:3270 s_XISEG + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Hexadecimal + +Area Addr Size Decimal Bytes (Attributes) +-------------------------------- ---- ---- ------- ----- ------------ +. .ABS. 0000 0000 = 0. bytes (ABS,CON) + + Value Global + -------- -------------------------------- + 0003 _INT0VEC_IE0 + 000B _INT1VEC_T0 + 0013 _INT2VEC_IE1 + 001B _INT3VEC_T1 + 0023 _INT4VEC_USART0 + 002B _INT5VEC_T2 + 0033 _INT6VEC_RESUME + 003B _INT7VEC_USART1 + 0043 _INT8VEC_USB + 004B _INT9VEC_I2C + 0053 _INT10VEC_GPIF + 005B _INT11VEC_IE5 + 0063 _INT12VEC_IE6 + 006C _ZTEX_DESCRIPTOR + 006D _ZTEX_DESCRIPTOR_VERSION + 006E _ZTEXID + 0072 _PRODUCT_ID + 0076 _FW_VERSION + 0077 _INTERFACE_VERSION + 0078 _INTERFACE_CAPABILITIES + 007E _MODULE_RESERVED + 0080 _IOA + 0080 _IOA0 + 0081 _IOA1 + 0081 _SP + 0082 _DPL0 + 0082 _IOA2 + 0083 _DPH0 + 0083 _IOA3 + 0084 _DPL1 + 0084 _IOA4 + 0085 _DPH1 + 0085 _IOA5 + 0086 _DPS + 0086 _IOA6 + 0087 _IOA7 + 0087 _PCON + 0088 _IT0 + 0088 _TCON + 0089 _IE0 + 0089 _TMOD + 008A _IT1 + 008A _SN_STRING + 008A _TL0 + 008B _IE1 + 008B _TL1 + 008C _TH0 + 008C _TR0 + 008D _TF0 + 008D _TH1 + 008E _CKCON + 008E _TR1 + 008F _TF1 + 0090 _IOB + 0090 _IOB0 + 0091 _EXIF + 0091 _IOB1 + 0092 _IOB2 + 0092 _MPAGE + 0092 __XPAGE + 0093 _IOB3 + 0094 _IOB4 + 0095 _IOB5 + 0096 _IOB6 + 0097 _IOB7 + 0098 _RI_0 + 0098 _SCON0 + 0099 _SBUF0 + 0099 _TI_0 + 009A _AUTOPTRH1 + 009A _RB8_0 + 009B _AUTOPTRL1 + 009B _TB8_0 + 009C _REN_0 + 009D _AUTOPTRH2 + 009D _SM2_0 + 009E _AUTOPTRL2 + 009E _SM1_0 + 009F _SM0_0 + 00A0 _IOC + 00A0 _IOC0 + 00A1 _INT2CLR + 00A1 _IOC1 + 00A2 _INT4CLR + 00A2 _IOC2 + 00A3 _IOC3 + 00A4 _IOC4 + 00A5 _IOC5 + 00A6 _IOC6 + 00A7 _IOC7 + 00A8 _EX0 + 00A8 _IE + 00A9 _ET0 + 00AA _EP2468STAT + 00AA _EX1 + 00AB _EP24FIFOFLGS + 00AB _ET1 + 00AC _EP68FIFOFLGS + 00AC _ES0 + 00AD _ET2 + 00AE _ES1 + 00AF _AUTOPTRSETUP + 00AF _EA + 00B0 _IOD + 00B0 _IOD0 + 00B1 _IOD1 + 00B1 _IOE + 00B2 _IOD2 + 00B2 _OEA + 00B3 _IOD3 + 00B3 _OEB + 00B4 _IOD4 + 00B4 _OEC + 00B5 _IOD5 + 00B5 _OED + 00B6 _IOD6 + 00B6 _OEE + 00B7 _IOD7 + 00B8 _IP + 00B8 _PX0 + 00B9 _PT0 + 00BA _EP01STAT + 00BA _PX1 + 00BB _GPIFTRIG + 00BB _PT1 + 00BC _PS0 + 00BD _GPIFSGLDATH + 00BD _PT2 + 00BE _GPIFSGLDATLX + 00BE _PS1 + 00BF _GPIFSGLDATLNOX + 00C0 _RI_1 + 00C0 _SCON1 + 00C1 _SBUF1 + 00C1 _TI_1 + 00C2 _RB8_1 + 00C3 _TB8_1 + 00C4 _REN_1 + 00C5 _SM2_1 + 00C6 _SM1_1 + 00C7 _SM0_1 + 00C8 _CPRL2 + 00C8 _T2CON + 00C9 _CT2 + 00CA _RCAP2L + 00CA _TR2 + 00CB _EXEN2 + 00CB _RCAP2H + 00CC _TCLK + 00CC _TL2 + 00CD _RCLK + 00CD _TH2 + 00CE _EXF2 + 00CF _TF2 + 00D0 _PF + 00D0 _PSW + 00D1 _F1 + 00D2 _OV + 00D3 _RS0 + 00D4 _RS1 + 00D5 _F0 + 00D6 _AC + 00D7 _CY + 00D8 _EICON + 00DB _INT6 + 00DC _RESI + 00DD _ERESI + 00DF _SMOD1 + 00E0 _ACC + 00E0 _ACC0 + 00E1 _ACC1 + 00E2 _ACC2 + 00E3 _ACC3 + 00E4 _ACC4 + 00E5 _ACC5 + 00E6 _ACC6 + 00E7 _ACC7 + 00E8 _EIE + 00E8 _EUSB + 00E9 _EI2C + 00EA _EIEX4 + 00EB _EIEX5 + 00EC _EIEX6 + 00F0 _BREG + 00F0 _BREG0 + 00F1 _BREG1 + 00F2 _BREG2 + 00F3 _BREG3 + 00F4 _BREG4 + 00F5 _BREG5 + 00F6 _BREG6 + 00F7 _BREG7 + 00F8 _EIP + 00F8 _PUSB + 00F9 _PI2C + 00FA _EIPX4 + 00FB _EIPX5 + 00FC _EIPX6 + 0100 _INTVEC_SUDAV + 0104 _INTVEC_SOF + 0108 _INTVEC_SUTOK + 010C _INTVEC_SUSPEND + 0110 _INTVEC_USBRESET + 0114 _INTVEC_HISPEED + 0118 _INTVEC_EP0ACK + 0120 _INTVEC_EP0IN + 0124 _INTVEC_EP0OUT + 0128 _INTVEC_EP1IN + 012C _INTVEC_EP1OUT + 0130 _INTVEC_EP2 + 0134 _INTVEC_EP4 + 0138 _INTVEC_EP6 + 013C _INTVEC_EP8 + 0140 _INTVEC_IBN + 0148 _INTVEC_EP0PING + 014C _INTVEC_EP1PING + 0150 _INTVEC_EP2PING + 0154 _INTVEC_EP4PING + 0158 _INTVEC_EP6PING + 015C _INTVEC_EP8PING + 0160 _INTVEC_ERRLIMIT + 0170 _INTVEC_EP2ISOERR + 0174 _INTVEC_EP4ISOERR + 0178 _INTVEC_EP6ISOERR + 017C _INTVEC_EP8ISOERR + 0180 _INTVEC_EP2PF + 0184 _INTVEC_EP4PF + 0188 _INTVEC_EP6PF + 018C _INTVEC_EP8PF + 0190 _INTVEC_EP2EF + 0194 _INTVEC_EP4EF + 0198 _INTVEC_EP6EF + 019C _INTVEC_EP8EF + 01A0 _INTVEC_EP2FF + 01A8 _INTVEC_EP6FF + 01AC _INTVEC_EP8FF + 01B0 _INTVEC_GPIFDONE + 01B4 _INTVEC_GPIFWF + E400 _GPIF_WAVE0_DATA + E400 _GPIF_WAVE_DATA + E420 _GPIF_WAVE1_DATA + E440 _GPIF_WAVE2_DATA + E460 _GPIF_WAVE3_DATA + E50D _GPCR2 + E600 _CPUCS + E601 _IFCONFIG + E602 _PINFLAGSAB + E603 _PINFLAGSCD + E604 _FIFORESET + E605 _BREAKPT + E606 _BPADDRH + E607 _BPADDRL + E608 _UART230 + E609 _FIFOPINPOLAR + E60A _REVID + E60B _REVCTL + E60C _GPIFHOLDAMOUNT + E610 _EP1OUTCFG + E611 _EP1INCFG + E612 _EP2CFG + E613 _EP4CFG + E614 _EP6CFG + E615 _EP8CFG + E618 _EP2FIFOCFG + E619 _EP4FIFOCFG + E61A _EP6FIFOCFG + E61B _EP8FIFOCFG + E620 _EP2AUTOINLENH + E621 _EP2AUTOINLENL + E622 _EP4AUTOINLENH + E623 _EP4AUTOINLENL + E624 _EP6AUTOINLENH + E625 _EP6AUTOINLENL + E626 _EP8AUTOINLENH + E627 _EP8AUTOINLENL + E628 _ECCCFG + E629 _ECCRESET + E62A _ECC1B0 + E62B _ECC1B1 + E62C _ECC1B2 + E62D _ECC2B0 + E62E _ECC2B1 + E62F _ECC2B2 + E630 _EP2FIFOPFH + E631 _EP2FIFOPFL + E632 _EP4FIFOPFH + E633 _EP4FIFOPFL + E634 _EP6FIFOPFH + E635 _EP6FIFOPFL + E636 _EP8FIFOPFH + E637 _EP8FIFOPFL + E640 _EP2ISOINPKTS + E641 _EP4ISOINPKTS + E642 _EP6ISOINPKTS + E643 _EP8ISOINPKTS + E648 _INPKTEND + E649 _OUTPKTEND + E650 _EP2FIFOIE + E651 _EP2FIFOIRQ + E652 _EP4FIFOIE + E653 _EP4FIFOIRQ + E654 _EP6FIFOIE + E655 _EP6FIFOIRQ + E656 _EP8FIFOIE + E657 _EP8FIFOIRQ + E658 _IBNIE + E659 _IBNIRQ + E65A _NAKIE + E65B _NAKIRQ + E65C _USBIE + E65D _USBIRQ + E65E _EPIE + E65F _EPIRQ + E660 _GPIFIE + E661 _GPIFIRQ + E662 _USBERRIE + E663 _USBERRIRQ + E664 _ERRCNTLIM + E665 _CLRERRCNT + E666 _INT2IVEC + E667 _INT4IVEC + E668 _INTSETUP + E670 _PORTACFG + E671 _PORTCCFG + E672 _PORTECFG + E678 _I2CS + E679 _I2DAT + E67A _I2CTL + E67B _EXTAUTODAT1 + E67B _XAUTODAT1 + E67C _EXTAUTODAT2 + E67C _XAUTODAT2 + E67D _UDMACRCH + E67E _UDMACRCL + E67F _UDMACRCQUALIFIER + E680 _USBCS + E681 _SUSPEND + E682 _WAKEUPCS + E683 _TOGCTL + E684 _USBFRAMEH + E685 _USBFRAMEL + E686 _MICROFRAME + E687 _FNADDR + E68A _EP0BCH + E68B _EP0BCL + E68D _EP1OUTBC + E68F _EP1INBC + E690 _EP2BCH + E691 _EP2BCL + E694 _EP4BCH + E695 _EP4BCL + E698 _EP6BCH + E699 _EP6BCL + E69C _EP8BCH + E69D _EP8BCL + E6A0 _EP0CS + E6A1 _EP1OUTCS + E6A2 _EP1INCS + E6A3 _EP2CS + E6A3 _EPXCS + E6A4 _EP4CS + E6A5 _EP6CS + E6A6 _EP8CS + E6A7 _EP2FIFOFLGS + E6A8 _EP4FIFOFLGS + E6A9 _EP6FIFOFLGS + E6AA _EP8FIFOFLGS + E6AB _EP2FIFOBCH + E6AC _EP2FIFOBCL + E6AD _EP4FIFOBCH + E6AE _EP4FIFOBCL + E6AF _EP6FIFOBCH + E6B0 _EP6FIFOBCL + E6B1 _EP8FIFOBCH + E6B2 _EP8FIFOBCL + E6B3 _SUDPTRH + E6B4 _SUDPTRL + E6B5 _SUDPTRCTL + E6B8 _SETUPDAT + E6B8 _bmRequestType + E6B9 _bRequest + E6BA _wValueL + E6BB _wValueH + E6BC _wIndexL + E6BD _wIndexH + E6BE _wLengthL + E6BF _wLengthH + E6C0 _GPIFWFSELECT + E6C1 _GPIFIDLECS + E6C2 _GPIFIDLECTL + E6C3 _GPIFCTLCFG + E6C4 _GPIFADRH + E6C5 _GPIFADRL + E6C6 _FLOWSTATE + E6C7 _FLOWLOGIC + E6C8 _FLOWEQ0CTL + E6C9 _FLOWEQ1CTL + E6CA _FLOWHOLDOFF + E6CB _FLOWSTB + E6CC _FLOWSTBEDGE + E6CD _FLOWSTBHPERIOD + E6CE _GPIFTCB3 + E6CF _GPIFTCB2 + E6D0 _GPIFTCB1 + E6D1 _GPIFTCB0 + E6D2 _EP2GPIFFLGSEL + E6D3 _EP2GPIFPFSTOP + E6D4 _EP2GPIFTRIG + E6DA _EP4GPIFFLGSEL + E6DB _EP4GPIFPFSTOP + E6DC _EP4GPIFTRIG + E6E2 _EP6GPIFFLGSEL + E6E3 _EP6GPIFPFSTOP + E6E4 _EP6GPIFTRIG + E6EA _EP8GPIFFLGSEL + E6EB _EP8GPIFPFSTOP + E6EC _EP8GPIFTRIG + E6F0 _XGPIFSGLDATH + E6F1 _XGPIFSGLDATLX + E6F2 _XGPIFSGLDATLNOX + E6F3 _GPIFREADYCFG + E6F4 _GPIFREADYSTAT + E6F5 _GPIFABORT + E740 _EP0BUF + E780 _EP1OUTBUF + E7C0 _EP1INBUF + F000 _EP2FIFOBUF + F400 _EP4FIFOBUF + F800 _EP6FIFOBUF + FC00 _EP8FIFOBUF + + + + + + + + + +Hexadecimal + +Area Addr Size Decimal Bytes (Attributes) +-------------------------------- ---- ---- ------- ----- ------------ +DSEG 0000 0071 = 113. bytes (REL,CON) + + Value Global + -------- -------------------------------- + 0008 _eeprom_select_PARM_2 + 0009 _eeprom_read_PARM_2 + 000B _eeprom_read_PARM_3 + 000C _eeprom_write_PARM_2 + 000E _eeprom_write_PARM_3 + +Hexadecimal + +Area Addr Size Decimal Bytes (Attributes) +-------------------------------- ---- ---- ------- ----- ------------ +OSEG 000F 0002 = 2. bytes (REL,OVR) + + Value Global + -------- -------------------------------- + 000F _sendStringDescriptor_PARM_2 + 0010 _sendStringDescriptor_PARM_3 + + +Hexadecimal + +Area Addr Size Decimal Bytes (Attributes) +-------------------------------- ---- ---- ------- ----- ------------ +SSEG 0021 00DF = 223. bytes (REL,OVR) + + Value Global + -------- -------------------------------- + 0021 __start__stack + + + +Hexadecimal + +Area Addr Size Decimal Bytes (Attributes) +-------------------------------- ---- ---- ------- ----- ------------ +XSEG 3200 0070 = 112. bytes (REL,CON,XDATA) + + Value Global + -------- -------------------------------- + 0D:3200 _eeprom_addr + 0D:3202 _eeprom_write_bytes + 0D:3204 _eeprom_write_checksum + 0D:3205 _debug_counter + 0D:3207 _debug_stack_size + 0D:3208 _debug_msg_size + 0D:3209 _debug_stack + 0D:3269 _debug_stack_ptr + 0D:326B _debug_msg_buf + 0D:326E _debug_read_addr + +Hexadecimal + +Area Addr Size Decimal Bytes (Attributes) +-------------------------------- ---- ---- ------- ----- ------------ +XISEG 3270 000D = 13. bytes (REL,CON,XDATA) + + Value Global + -------- -------------------------------- + 0D:3270 _ep0_payload_remaining + 0D:3272 _ep0_payload_transfer + 0D:3273 _ep0_prev_setup_request + 0D:3274 _ep0_vendor_cmd_setup + 0D:3275 _ISOFRAME_COUNTER + +Hexadecimal + +Area Addr Size Decimal Bytes (Attributes) +-------------------------------- ---- ---- ------- ----- ------------ +HOME 0200 0008 = 8. bytes (REL,CON,CODE) + + Value Global + -------- -------------------------------- + 0C:0203 __sdcc_program_startup + +Hexadecimal + +Area Addr Size Decimal Bytes (Attributes) +-------------------------------- ---- ---- ------- ----- ------------ +GSINIT0 0208 0003 = 3. bytes (REL,CON,CODE) + + Value Global + -------- -------------------------------- + 0C:0208 __sdcc_gsinit_startup + + + +Hexadecimal + +Area Addr Size Decimal Bytes (Attributes) +-------------------------------- ---- ---- ------- ----- ------------ +GSINIT3 0215 0022 = 34. bytes (REL,CON,CODE) + + Value Global + -------- -------------------------------- + 0C:0215 __mcs51_genXINIT + +Hexadecimal + +Area Addr Size Decimal Bytes (Attributes) +-------------------------------- ---- ---- ------- ----- ------------ +GSINIT4 0237 002A = 42. bytes (REL,CON,CODE) + + Value Global + -------- -------------------------------- + 0C:0237 __mcs51_genRAMCLEAR + 0C:023D __mcs51_genXRAMCLEAR + + + + +Hexadecimal + +Area Addr Size Decimal Bytes (Attributes) +-------------------------------- ---- ---- ------- ----- ------------ +CSEG 0264 0E27 = 3623. bytes (REL,CON,CODE) + + Value Global + -------- -------------------------------- + 0C:0264 _abscode_intvec + 0C:0264 _wait + 0C:0288 _uwait + 0C:02AC _MEM_COPY1_int + 0C:02BA _i2c_waitWrite + 0C:02E7 _i2c_waitRead + 0C:0310 _i2c_waitStart + 0C:032A _i2c_waitStop + 0C:0344 _eeprom_select + 0C:0398 _eeprom_read + 0C:049E _eeprom_write + 0C:0554 _eeprom_read_ep0 + 0C:0588 _eeprom_write_ep0 + 0C:05B5 _debug_add_msg + 0C:05F9 _debug_init + 0C:0617 _debug_read_ep0 + 0C:0651 _abscode_identity + 0C:0C21 _SOF_ISR + 0C:0C37 _SUTOK_ISR + 0C:0C4D _SUSP_ISR + 0C:0C63 _URES_ISR + 0C:0C79 _HSGRANT_ISR + 0C:0C8F _EP0ACK_ISR + 0C:0DCA _EP1IN_ISR + 0C:0DE0 _EP1OUT_ISR + 0C:0DF6 _EP2_ISR + 0C:0E0C _EP4_ISR + 0C:0E22 _EP6_ISR + 0C:0E38 _EP8_ISR + 0C:0E4E _init_USB + 0C:1036 _main + 0C:1087 __sdcc_external_startup + +Hexadecimal + +Area Addr Size Decimal Bytes (Attributes) +-------------------------------- ---- ---- ------- ----- ------------ +CONST 108B 008D = 141. bytes (REL,CON,CODE) + + Value Global + -------- -------------------------------- + 0C:108B _manufacturerString + 0C:1090 _productString + 0C:10A9 _configurationString + 0C:10B3 _PadByte + 0C:10B4 _DeviceDescriptor + 0C:10C6 _DeviceQualifierDescriptor + 0C:10D0 _HighSpeedConfigDescriptor + 0C:10F0 _HighSpeedConfigDescriptor_PadByte + 0C:10F2 _FullSpeedConfigDescriptor + 0C:1112 _FullSpeedConfigDescriptor_PadByte + 0C:1114 _EmptyStringDescriptor + + ASxxxx Linker V01.75 + NoICE + SDCC Feb 1999, page 1. + +Files Linked [ module(s) ] + +debug.rel + +Libraries Linked [ object file ] + +/usr/bin/../share/sdcc/lib/small/mcs51.lib [ crtclear.rel ] +/usr/bin/../share/sdcc/lib/small/mcs51.lib [ crtxinit.rel ] +/usr/bin/../share/sdcc/lib/small/mcs51.lib [ crtxclear.rel ] +/usr/bin/../share/sdcc/lib/small/mcs51.lib [ crtstart.rel ] +/usr/bin/../share/sdcc/lib/small/libsdcc.lib [ _startup ] + + ASxxxx Linker V01.75 + NoICE + SDCC Feb 1999, page 2. + +User Base Address Definitions + +HOME = 0x0200 +XSEG = 0x3200 +PSEG = 0x3200 +ISEG = 0x0000 +BSEG = 0x0000 + + \ No newline at end of file Index: debug/debug.mem =================================================================== --- debug/debug.mem (nonexistent) +++ debug/debug.mem (revision 3) @@ -0,0 +1,28 @@ +Internal RAM layout: + 0 1 2 3 4 5 6 7 8 9 A B C D E F +0x00:|0|0|0|0|0|0|0|0|a|a|a|a|a|a|a|Q| +0x10:|Q| | | | | | | | | | | | | | | | +0x20:|T|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S| +0x30:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S| +0x40:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S| +0x50:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S| +0x60:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S| +0x70:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S| +0x80:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S| +0x90:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S| +0xa0:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S| +0xb0:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S| +0xc0:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S| +0xd0:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S| +0xe0:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S| +0xf0:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S| +0-3:Reg Banks, T:Bit regs, a-z:Data, B:Bits, Q:Overlay, I:iData, S:Stack, A:Absolute + +Stack starts at: 0x21 (sp set to 0x20) with 223 bytes available. + +Other memory: + Name Start End Size Max + ---------------- -------- -------- -------- -------- + PAGED EXT. RAM 0 256 + EXTERNAL RAM 0x3200 0x327c 125 4096 + ROM/EPROM/FLASH 0x0000 0x1124 3974 11776 Index: debug/ParameterException.class =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: debug/ParameterException.class =================================================================== --- debug/ParameterException.class (nonexistent) +++ debug/ParameterException.class (revision 3)
debug/ParameterException.class Property changes : Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: debug/debug.asm =================================================================== --- debug/debug.asm (nonexistent) +++ debug/debug.asm (revision 3) @@ -0,0 +1,4492 @@ +;-------------------------------------------------------- +; File Created by SDCC : free open source ANSI-C Compiler +; Version 2.8.0 #5117 (May 15 2008) (UNIX) +; This file was generated Wed Sep 8 20:23:26 2010 +;-------------------------------------------------------- + .module debug_tmp + .optsdcc -mmcs51 --model-small + +;-------------------------------------------------------- +; Public variables in this module +;-------------------------------------------------------- + .globl _sendStringDescriptor_PARM_3 + .globl _sendStringDescriptor_PARM_2 + .globl _EmptyStringDescriptor + .globl _FullSpeedConfigDescriptor_PadByte + .globl _FullSpeedConfigDescriptor + .globl _HighSpeedConfigDescriptor_PadByte + .globl _HighSpeedConfigDescriptor + .globl _DeviceQualifierDescriptor + .globl _DeviceDescriptor + .globl _PadByte + .globl _configurationString + .globl _productString + .globl _manufacturerString + .globl _main + .globl _init_USB + .globl _EP8_ISR + .globl _EP6_ISR + .globl _EP4_ISR + .globl _EP2_ISR + .globl _EP1OUT_ISR + .globl _EP1IN_ISR + .globl _EP0ACK_ISR + .globl _HSGRANT_ISR + .globl _URES_ISR + .globl _SUSP_ISR + .globl _SUTOK_ISR + .globl _SOF_ISR + .globl _abscode_identity + .globl _debug_read_ep0 + .globl _debug_init + .globl _debug_add_msg + .globl _eeprom_write_ep0 + .globl _eeprom_read_ep0 + .globl _eeprom_write + .globl _eeprom_read + .globl _eeprom_select + .globl _i2c_waitStop + .globl _i2c_waitStart + .globl _i2c_waitRead + .globl _i2c_waitWrite + .globl _MEM_COPY1_int + .globl _uwait + .globl _wait + .globl _abscode_intvec + .globl _EIPX6 + .globl _EIPX5 + .globl _EIPX4 + .globl _PI2C + .globl _PUSB + .globl _BREG7 + .globl _BREG6 + .globl _BREG5 + .globl _BREG4 + .globl _BREG3 + .globl _BREG2 + .globl _BREG1 + .globl _BREG0 + .globl _EIEX6 + .globl _EIEX5 + .globl _EIEX4 + .globl _EI2C + .globl _EUSB + .globl _ACC7 + .globl _ACC6 + .globl _ACC5 + .globl _ACC4 + .globl _ACC3 + .globl _ACC2 + .globl _ACC1 + .globl _ACC0 + .globl _SMOD1 + .globl _ERESI + .globl _RESI + .globl _INT6 + .globl _CY + .globl _AC + .globl _F0 + .globl _RS1 + .globl _RS0 + .globl _OV + .globl _F1 + .globl _PF + .globl _TF2 + .globl _EXF2 + .globl _RCLK + .globl _TCLK + .globl _EXEN2 + .globl _TR2 + .globl _CT2 + .globl _CPRL2 + .globl _SM0_1 + .globl _SM1_1 + .globl _SM2_1 + .globl _REN_1 + .globl _TB8_1 + .globl _RB8_1 + .globl _TI_1 + .globl _RI_1 + .globl _PS1 + .globl _PT2 + .globl _PS0 + .globl _PT1 + .globl _PX1 + .globl _PT0 + .globl _PX0 + .globl _IOD7 + .globl _IOD6 + .globl _IOD5 + .globl _IOD4 + .globl _IOD3 + .globl _IOD2 + .globl _IOD1 + .globl _IOD0 + .globl _EA + .globl _ES1 + .globl _ET2 + .globl _ES0 + .globl _ET1 + .globl _EX1 + .globl _ET0 + .globl _EX0 + .globl _IOC7 + .globl _IOC6 + .globl _IOC5 + .globl _IOC4 + .globl _IOC3 + .globl _IOC2 + .globl _IOC1 + .globl _IOC0 + .globl _SM0_0 + .globl _SM1_0 + .globl _SM2_0 + .globl _REN_0 + .globl _TB8_0 + .globl _RB8_0 + .globl _TI_0 + .globl _RI_0 + .globl _IOB7 + .globl _IOB6 + .globl _IOB5 + .globl _IOB4 + .globl _IOB3 + .globl _IOB2 + .globl _IOB1 + .globl _IOB0 + .globl _TF1 + .globl _TR1 + .globl _TF0 + .globl _TR0 + .globl _IE1 + .globl _IT1 + .globl _IE0 + .globl _IT0 + .globl _IOA7 + .globl _IOA6 + .globl _IOA5 + .globl _IOA4 + .globl _IOA3 + .globl _IOA2 + .globl _IOA1 + .globl _IOA0 + .globl _EIP + .globl _BREG + .globl _EIE + .globl _ACC + .globl _EICON + .globl _PSW + .globl _TH2 + .globl _TL2 + .globl _RCAP2H + .globl _RCAP2L + .globl _T2CON + .globl _SBUF1 + .globl _SCON1 + .globl _GPIFSGLDATLNOX + .globl _GPIFSGLDATLX + .globl _GPIFSGLDATH + .globl _GPIFTRIG + .globl _EP01STAT + .globl _IP + .globl _OEE + .globl _OED + .globl _OEC + .globl _OEB + .globl _OEA + .globl _IOE + .globl _IOD + .globl _AUTOPTRSETUP + .globl _EP68FIFOFLGS + .globl _EP24FIFOFLGS + .globl _EP2468STAT + .globl _IE + .globl _INT4CLR + .globl _INT2CLR + .globl _IOC + .globl _AUTOPTRL2 + .globl _AUTOPTRH2 + .globl _AUTOPTRL1 + .globl _AUTOPTRH1 + .globl _SBUF0 + .globl _SCON0 + .globl __XPAGE + .globl _MPAGE + .globl _EXIF + .globl _IOB + .globl _CKCON + .globl _TH1 + .globl _TH0 + .globl _TL1 + .globl _TL0 + .globl _TMOD + .globl _TCON + .globl _PCON + .globl _DPS + .globl _DPH1 + .globl _DPL1 + .globl _DPH0 + .globl _DPL0 + .globl _SP + .globl _IOA + .globl _ISOFRAME_COUNTER + .globl _ep0_vendor_cmd_setup + .globl _ep0_prev_setup_request + .globl _ep0_payload_transfer + .globl _ep0_payload_remaining + .globl _SN_STRING + .globl _MODULE_RESERVED + .globl _INTERFACE_CAPABILITIES + .globl _INTERFACE_VERSION + .globl _FW_VERSION + .globl _PRODUCT_ID + .globl _ZTEXID + .globl _ZTEX_DESCRIPTOR_VERSION + .globl _ZTEX_DESCRIPTOR + .globl _debug_read_addr + .globl _debug_msg_buf + .globl _debug_stack_ptr + .globl _debug_stack + .globl _debug_msg_size + .globl _debug_stack_size + .globl _debug_counter + .globl _eeprom_write_checksum + .globl _eeprom_write_bytes + .globl _eeprom_addr + .globl _INTVEC_GPIFWF + .globl _INTVEC_GPIFDONE + .globl _INTVEC_EP8FF + .globl _INTVEC_EP6FF + .globl _INTVEC_EP2FF + .globl _INTVEC_EP8EF + .globl _INTVEC_EP6EF + .globl _INTVEC_EP4EF + .globl _INTVEC_EP2EF + .globl _INTVEC_EP8PF + .globl _INTVEC_EP6PF + .globl _INTVEC_EP4PF + .globl _INTVEC_EP2PF + .globl _INTVEC_EP8ISOERR + .globl _INTVEC_EP6ISOERR + .globl _INTVEC_EP4ISOERR + .globl _INTVEC_EP2ISOERR + .globl _INTVEC_ERRLIMIT + .globl _INTVEC_EP8PING + .globl _INTVEC_EP6PING + .globl _INTVEC_EP4PING + .globl _INTVEC_EP2PING + .globl _INTVEC_EP1PING + .globl _INTVEC_EP0PING + .globl _INTVEC_IBN + .globl _INTVEC_EP8 + .globl _INTVEC_EP6 + .globl _INTVEC_EP4 + .globl _INTVEC_EP2 + .globl _INTVEC_EP1OUT + .globl _INTVEC_EP1IN + .globl _INTVEC_EP0OUT + .globl _INTVEC_EP0IN + .globl _INTVEC_EP0ACK + .globl _INTVEC_HISPEED + .globl _INTVEC_USBRESET + .globl _INTVEC_SUSPEND + .globl _INTVEC_SUTOK + .globl _INTVEC_SOF + .globl _INTVEC_SUDAV + .globl _INT12VEC_IE6 + .globl _INT11VEC_IE5 + .globl _INT10VEC_GPIF + .globl _INT9VEC_I2C + .globl _INT8VEC_USB + .globl _INT7VEC_USART1 + .globl _INT6VEC_RESUME + .globl _INT5VEC_T2 + .globl _INT4VEC_USART0 + .globl _INT3VEC_T1 + .globl _INT2VEC_IE1 + .globl _INT1VEC_T0 + .globl _INT0VEC_IE0 + .globl _EP8FIFOBUF + .globl _EP6FIFOBUF + .globl _EP4FIFOBUF + .globl _EP2FIFOBUF + .globl _EP1INBUF + .globl _EP1OUTBUF + .globl _EP0BUF + .globl _GPIFABORT + .globl _GPIFREADYSTAT + .globl _GPIFREADYCFG + .globl _XGPIFSGLDATLNOX + .globl _XGPIFSGLDATLX + .globl _XGPIFSGLDATH + .globl _EP8GPIFTRIG + .globl _EP8GPIFPFSTOP + .globl _EP8GPIFFLGSEL + .globl _EP6GPIFTRIG + .globl _EP6GPIFPFSTOP + .globl _EP6GPIFFLGSEL + .globl _EP4GPIFTRIG + .globl _EP4GPIFPFSTOP + .globl _EP4GPIFFLGSEL + .globl _EP2GPIFTRIG + .globl _EP2GPIFPFSTOP + .globl _EP2GPIFFLGSEL + .globl _GPIFTCB0 + .globl _GPIFTCB1 + .globl _GPIFTCB2 + .globl _GPIFTCB3 + .globl _FLOWSTBHPERIOD + .globl _FLOWSTBEDGE + .globl _FLOWSTB + .globl _FLOWHOLDOFF + .globl _FLOWEQ1CTL + .globl _FLOWEQ0CTL + .globl _FLOWLOGIC + .globl _FLOWSTATE + .globl _GPIFADRL + .globl _GPIFADRH + .globl _GPIFCTLCFG + .globl _GPIFIDLECTL + .globl _GPIFIDLECS + .globl _GPIFWFSELECT + .globl _wLengthH + .globl _wLengthL + .globl _wIndexH + .globl _wIndexL + .globl _wValueH + .globl _wValueL + .globl _bRequest + .globl _bmRequestType + .globl _SETUPDAT + .globl _SUDPTRCTL + .globl _SUDPTRL + .globl _SUDPTRH + .globl _EP8FIFOBCL + .globl _EP8FIFOBCH + .globl _EP6FIFOBCL + .globl _EP6FIFOBCH + .globl _EP4FIFOBCL + .globl _EP4FIFOBCH + .globl _EP2FIFOBCL + .globl _EP2FIFOBCH + .globl _EP8FIFOFLGS + .globl _EP6FIFOFLGS + .globl _EP4FIFOFLGS + .globl _EP2FIFOFLGS + .globl _EP8CS + .globl _EP6CS + .globl _EP4CS + .globl _EP2CS + .globl _EPXCS + .globl _EP1INCS + .globl _EP1OUTCS + .globl _EP0CS + .globl _EP8BCL + .globl _EP8BCH + .globl _EP6BCL + .globl _EP6BCH + .globl _EP4BCL + .globl _EP4BCH + .globl _EP2BCL + .globl _EP2BCH + .globl _EP1INBC + .globl _EP1OUTBC + .globl _EP0BCL + .globl _EP0BCH + .globl _FNADDR + .globl _MICROFRAME + .globl _USBFRAMEL + .globl _USBFRAMEH + .globl _TOGCTL + .globl _WAKEUPCS + .globl _SUSPEND + .globl _USBCS + .globl _UDMACRCQUALIFIER + .globl _UDMACRCL + .globl _UDMACRCH + .globl _EXTAUTODAT2 + .globl _XAUTODAT2 + .globl _EXTAUTODAT1 + .globl _XAUTODAT1 + .globl _I2CTL + .globl _I2DAT + .globl _I2CS + .globl _PORTECFG + .globl _PORTCCFG + .globl _PORTACFG + .globl _INTSETUP + .globl _INT4IVEC + .globl _INT2IVEC + .globl _CLRERRCNT + .globl _ERRCNTLIM + .globl _USBERRIRQ + .globl _USBERRIE + .globl _GPIFIRQ + .globl _GPIFIE + .globl _EPIRQ + .globl _EPIE + .globl _USBIRQ + .globl _USBIE + .globl _NAKIRQ + .globl _NAKIE + .globl _IBNIRQ + .globl _IBNIE + .globl _EP8FIFOIRQ + .globl _EP8FIFOIE + .globl _EP6FIFOIRQ + .globl _EP6FIFOIE + .globl _EP4FIFOIRQ + .globl _EP4FIFOIE + .globl _EP2FIFOIRQ + .globl _EP2FIFOIE + .globl _OUTPKTEND + .globl _INPKTEND + .globl _EP8ISOINPKTS + .globl _EP6ISOINPKTS + .globl _EP4ISOINPKTS + .globl _EP2ISOINPKTS + .globl _EP8FIFOPFL + .globl _EP8FIFOPFH + .globl _EP6FIFOPFL + .globl _EP6FIFOPFH + .globl _EP4FIFOPFL + .globl _EP4FIFOPFH + .globl _EP2FIFOPFL + .globl _EP2FIFOPFH + .globl _ECC2B2 + .globl _ECC2B1 + .globl _ECC2B0 + .globl _ECC1B2 + .globl _ECC1B1 + .globl _ECC1B0 + .globl _ECCRESET + .globl _ECCCFG + .globl _EP8AUTOINLENL + .globl _EP8AUTOINLENH + .globl _EP6AUTOINLENL + .globl _EP6AUTOINLENH + .globl _EP4AUTOINLENL + .globl _EP4AUTOINLENH + .globl _EP2AUTOINLENL + .globl _EP2AUTOINLENH + .globl _EP8FIFOCFG + .globl _EP6FIFOCFG + .globl _EP4FIFOCFG + .globl _EP2FIFOCFG + .globl _EP8CFG + .globl _EP6CFG + .globl _EP4CFG + .globl _EP2CFG + .globl _EP1INCFG + .globl _EP1OUTCFG + .globl _GPIFHOLDAMOUNT + .globl _REVCTL + .globl _REVID + .globl _FIFOPINPOLAR + .globl _UART230 + .globl _BPADDRL + .globl _BPADDRH + .globl _BREAKPT + .globl _FIFORESET + .globl _PINFLAGSCD + .globl _PINFLAGSAB + .globl _IFCONFIG + .globl _CPUCS + .globl _GPCR2 + .globl _GPIF_WAVE3_DATA + .globl _GPIF_WAVE2_DATA + .globl _GPIF_WAVE1_DATA + .globl _GPIF_WAVE0_DATA + .globl _GPIF_WAVE_DATA + .globl _eeprom_write_PARM_3 + .globl _eeprom_write_PARM_2 + .globl _eeprom_read_PARM_3 + .globl _eeprom_read_PARM_2 + .globl _eeprom_select_PARM_2 +;-------------------------------------------------------- +; special function registers +;-------------------------------------------------------- + .area RSEG (DATA) +_IOA = 0x0080 +_SP = 0x0081 +_DPL0 = 0x0082 +_DPH0 = 0x0083 +_DPL1 = 0x0084 +_DPH1 = 0x0085 +_DPS = 0x0086 +_PCON = 0x0087 +_TCON = 0x0088 +_TMOD = 0x0089 +_TL0 = 0x008a +_TL1 = 0x008b +_TH0 = 0x008c +_TH1 = 0x008d +_CKCON = 0x008e +_IOB = 0x0090 +_EXIF = 0x0091 +_MPAGE = 0x0092 +__XPAGE = 0x0092 +_SCON0 = 0x0098 +_SBUF0 = 0x0099 +_AUTOPTRH1 = 0x009a +_AUTOPTRL1 = 0x009b +_AUTOPTRH2 = 0x009d +_AUTOPTRL2 = 0x009e +_IOC = 0x00a0 +_INT2CLR = 0x00a1 +_INT4CLR = 0x00a2 +_IE = 0x00a8 +_EP2468STAT = 0x00aa +_EP24FIFOFLGS = 0x00ab +_EP68FIFOFLGS = 0x00ac +_AUTOPTRSETUP = 0x00af +_IOD = 0x00b0 +_IOE = 0x00b1 +_OEA = 0x00b2 +_OEB = 0x00b3 +_OEC = 0x00b4 +_OED = 0x00b5 +_OEE = 0x00b6 +_IP = 0x00b8 +_EP01STAT = 0x00ba +_GPIFTRIG = 0x00bb +_GPIFSGLDATH = 0x00bd +_GPIFSGLDATLX = 0x00be +_GPIFSGLDATLNOX = 0x00bf +_SCON1 = 0x00c0 +_SBUF1 = 0x00c1 +_T2CON = 0x00c8 +_RCAP2L = 0x00ca +_RCAP2H = 0x00cb +_TL2 = 0x00cc +_TH2 = 0x00cd +_PSW = 0x00d0 +_EICON = 0x00d8 +_ACC = 0x00e0 +_EIE = 0x00e8 +_BREG = 0x00f0 +_EIP = 0x00f8 +;-------------------------------------------------------- +; special function bits +;-------------------------------------------------------- + .area RSEG (DATA) +_IOA0 = 0x0080 +_IOA1 = 0x0081 +_IOA2 = 0x0082 +_IOA3 = 0x0083 +_IOA4 = 0x0084 +_IOA5 = 0x0085 +_IOA6 = 0x0086 +_IOA7 = 0x0087 +_IT0 = 0x0088 +_IE0 = 0x0089 +_IT1 = 0x008a +_IE1 = 0x008b +_TR0 = 0x008c +_TF0 = 0x008d +_TR1 = 0x008e +_TF1 = 0x008f +_IOB0 = 0x0090 +_IOB1 = 0x0091 +_IOB2 = 0x0092 +_IOB3 = 0x0093 +_IOB4 = 0x0094 +_IOB5 = 0x0095 +_IOB6 = 0x0096 +_IOB7 = 0x0097 +_RI_0 = 0x0098 +_TI_0 = 0x0099 +_RB8_0 = 0x009a +_TB8_0 = 0x009b +_REN_0 = 0x009c +_SM2_0 = 0x009d +_SM1_0 = 0x009e +_SM0_0 = 0x009f +_IOC0 = 0x00a0 +_IOC1 = 0x00a1 +_IOC2 = 0x00a2 +_IOC3 = 0x00a3 +_IOC4 = 0x00a4 +_IOC5 = 0x00a5 +_IOC6 = 0x00a6 +_IOC7 = 0x00a7 +_EX0 = 0x00a8 +_ET0 = 0x00a9 +_EX1 = 0x00aa +_ET1 = 0x00ab +_ES0 = 0x00ac +_ET2 = 0x00ad +_ES1 = 0x00ae +_EA = 0x00af +_IOD0 = 0x00b0 +_IOD1 = 0x00b1 +_IOD2 = 0x00b2 +_IOD3 = 0x00b3 +_IOD4 = 0x00b4 +_IOD5 = 0x00b5 +_IOD6 = 0x00b6 +_IOD7 = 0x00b7 +_PX0 = 0x00b8 +_PT0 = 0x00b9 +_PX1 = 0x00ba +_PT1 = 0x00bb +_PS0 = 0x00bc +_PT2 = 0x00bd +_PS1 = 0x00be +_RI_1 = 0x00c0 +_TI_1 = 0x00c1 +_RB8_1 = 0x00c2 +_TB8_1 = 0x00c3 +_REN_1 = 0x00c4 +_SM2_1 = 0x00c5 +_SM1_1 = 0x00c6 +_SM0_1 = 0x00c7 +_CPRL2 = 0x00c8 +_CT2 = 0x00c9 +_TR2 = 0x00ca +_EXEN2 = 0x00cb +_TCLK = 0x00cc +_RCLK = 0x00cd +_EXF2 = 0x00ce +_TF2 = 0x00cf +_PF = 0x00d0 +_F1 = 0x00d1 +_OV = 0x00d2 +_RS0 = 0x00d3 +_RS1 = 0x00d4 +_F0 = 0x00d5 +_AC = 0x00d6 +_CY = 0x00d7 +_INT6 = 0x00db +_RESI = 0x00dc +_ERESI = 0x00dd +_SMOD1 = 0x00df +_ACC0 = 0x00e0 +_ACC1 = 0x00e1 +_ACC2 = 0x00e2 +_ACC3 = 0x00e3 +_ACC4 = 0x00e4 +_ACC5 = 0x00e5 +_ACC6 = 0x00e6 +_ACC7 = 0x00e7 +_EUSB = 0x00e8 +_EI2C = 0x00e9 +_EIEX4 = 0x00ea +_EIEX5 = 0x00eb +_EIEX6 = 0x00ec +_BREG0 = 0x00f0 +_BREG1 = 0x00f1 +_BREG2 = 0x00f2 +_BREG3 = 0x00f3 +_BREG4 = 0x00f4 +_BREG5 = 0x00f5 +_BREG6 = 0x00f6 +_BREG7 = 0x00f7 +_PUSB = 0x00f8 +_PI2C = 0x00f9 +_EIPX4 = 0x00fa +_EIPX5 = 0x00fb +_EIPX6 = 0x00fc +;-------------------------------------------------------- +; overlayable register banks +;-------------------------------------------------------- + .area REG_BANK_0 (REL,OVR,DATA) + .ds 8 +;-------------------------------------------------------- +; overlayable bit register bank +;-------------------------------------------------------- + .area BIT_BANK (REL,OVR,DATA) +bits: + .ds 1 + b0 = bits[0] + b1 = bits[1] + b2 = bits[2] + b3 = bits[3] + b4 = bits[4] + b5 = bits[5] + b6 = bits[6] + b7 = bits[7] +;-------------------------------------------------------- +; internal ram data +;-------------------------------------------------------- + .area DSEG (DATA) +_eeprom_select_PARM_2: + .ds 1 +_eeprom_read_PARM_2: + .ds 2 +_eeprom_read_PARM_3: + .ds 1 +_eeprom_write_PARM_2: + .ds 2 +_eeprom_write_PARM_3: + .ds 1 +;-------------------------------------------------------- +; overlayable items in internal ram +;-------------------------------------------------------- + .area OSEG (OVR,DATA) + .area OSEG (OVR,DATA) + .area OSEG (OVR,DATA) + .area OSEG (OVR,DATA) + .area OSEG (OVR,DATA) + .area OSEG (OVR,DATA) + .area OSEG (OVR,DATA) + .area OSEG (OVR,DATA) + .area OSEG (OVR,DATA) +_sendStringDescriptor_PARM_2:: + .ds 1 +_sendStringDescriptor_PARM_3:: + .ds 1 +;-------------------------------------------------------- +; Stack segment in internal ram +;-------------------------------------------------------- + .area SSEG (DATA) +__start__stack: + .ds 1 + +;-------------------------------------------------------- +; indirectly addressable internal ram data +;-------------------------------------------------------- + .area ISEG (DATA) +;-------------------------------------------------------- +; absolute internal ram data +;-------------------------------------------------------- + .area IABS (ABS,DATA) + .area IABS (ABS,DATA) +;-------------------------------------------------------- +; bit data +;-------------------------------------------------------- + .area BSEG (BIT) +;-------------------------------------------------------- +; paged external ram data +;-------------------------------------------------------- + .area PSEG (PAG,XDATA) +;-------------------------------------------------------- +; external ram data +;-------------------------------------------------------- + .area XSEG (XDATA) +_GPIF_WAVE_DATA = 0xe400 +_GPIF_WAVE0_DATA = 0xe400 +_GPIF_WAVE1_DATA = 0xe420 +_GPIF_WAVE2_DATA = 0xe440 +_GPIF_WAVE3_DATA = 0xe460 +_GPCR2 = 0xe50d +_CPUCS = 0xe600 +_IFCONFIG = 0xe601 +_PINFLAGSAB = 0xe602 +_PINFLAGSCD = 0xe603 +_FIFORESET = 0xe604 +_BREAKPT = 0xe605 +_BPADDRH = 0xe606 +_BPADDRL = 0xe607 +_UART230 = 0xe608 +_FIFOPINPOLAR = 0xe609 +_REVID = 0xe60a +_REVCTL = 0xe60b +_GPIFHOLDAMOUNT = 0xe60c +_EP1OUTCFG = 0xe610 +_EP1INCFG = 0xe611 +_EP2CFG = 0xe612 +_EP4CFG = 0xe613 +_EP6CFG = 0xe614 +_EP8CFG = 0xe615 +_EP2FIFOCFG = 0xe618 +_EP4FIFOCFG = 0xe619 +_EP6FIFOCFG = 0xe61a +_EP8FIFOCFG = 0xe61b +_EP2AUTOINLENH = 0xe620 +_EP2AUTOINLENL = 0xe621 +_EP4AUTOINLENH = 0xe622 +_EP4AUTOINLENL = 0xe623 +_EP6AUTOINLENH = 0xe624 +_EP6AUTOINLENL = 0xe625 +_EP8AUTOINLENH = 0xe626 +_EP8AUTOINLENL = 0xe627 +_ECCCFG = 0xe628 +_ECCRESET = 0xe629 +_ECC1B0 = 0xe62a +_ECC1B1 = 0xe62b +_ECC1B2 = 0xe62c +_ECC2B0 = 0xe62d +_ECC2B1 = 0xe62e +_ECC2B2 = 0xe62f +_EP2FIFOPFH = 0xe630 +_EP2FIFOPFL = 0xe631 +_EP4FIFOPFH = 0xe632 +_EP4FIFOPFL = 0xe633 +_EP6FIFOPFH = 0xe634 +_EP6FIFOPFL = 0xe635 +_EP8FIFOPFH = 0xe636 +_EP8FIFOPFL = 0xe637 +_EP2ISOINPKTS = 0xe640 +_EP4ISOINPKTS = 0xe641 +_EP6ISOINPKTS = 0xe642 +_EP8ISOINPKTS = 0xe643 +_INPKTEND = 0xe648 +_OUTPKTEND = 0xe649 +_EP2FIFOIE = 0xe650 +_EP2FIFOIRQ = 0xe651 +_EP4FIFOIE = 0xe652 +_EP4FIFOIRQ = 0xe653 +_EP6FIFOIE = 0xe654 +_EP6FIFOIRQ = 0xe655 +_EP8FIFOIE = 0xe656 +_EP8FIFOIRQ = 0xe657 +_IBNIE = 0xe658 +_IBNIRQ = 0xe659 +_NAKIE = 0xe65a +_NAKIRQ = 0xe65b +_USBIE = 0xe65c +_USBIRQ = 0xe65d +_EPIE = 0xe65e +_EPIRQ = 0xe65f +_GPIFIE = 0xe660 +_GPIFIRQ = 0xe661 +_USBERRIE = 0xe662 +_USBERRIRQ = 0xe663 +_ERRCNTLIM = 0xe664 +_CLRERRCNT = 0xe665 +_INT2IVEC = 0xe666 +_INT4IVEC = 0xe667 +_INTSETUP = 0xe668 +_PORTACFG = 0xe670 +_PORTCCFG = 0xe671 +_PORTECFG = 0xe672 +_I2CS = 0xe678 +_I2DAT = 0xe679 +_I2CTL = 0xe67a +_XAUTODAT1 = 0xe67b +_EXTAUTODAT1 = 0xe67b +_XAUTODAT2 = 0xe67c +_EXTAUTODAT2 = 0xe67c +_UDMACRCH = 0xe67d +_UDMACRCL = 0xe67e +_UDMACRCQUALIFIER = 0xe67f +_USBCS = 0xe680 +_SUSPEND = 0xe681 +_WAKEUPCS = 0xe682 +_TOGCTL = 0xe683 +_USBFRAMEH = 0xe684 +_USBFRAMEL = 0xe685 +_MICROFRAME = 0xe686 +_FNADDR = 0xe687 +_EP0BCH = 0xe68a +_EP0BCL = 0xe68b +_EP1OUTBC = 0xe68d +_EP1INBC = 0xe68f +_EP2BCH = 0xe690 +_EP2BCL = 0xe691 +_EP4BCH = 0xe694 +_EP4BCL = 0xe695 +_EP6BCH = 0xe698 +_EP6BCL = 0xe699 +_EP8BCH = 0xe69c +_EP8BCL = 0xe69d +_EP0CS = 0xe6a0 +_EP1OUTCS = 0xe6a1 +_EP1INCS = 0xe6a2 +_EPXCS = 0xe6a3 +_EP2CS = 0xe6a3 +_EP4CS = 0xe6a4 +_EP6CS = 0xe6a5 +_EP8CS = 0xe6a6 +_EP2FIFOFLGS = 0xe6a7 +_EP4FIFOFLGS = 0xe6a8 +_EP6FIFOFLGS = 0xe6a9 +_EP8FIFOFLGS = 0xe6aa +_EP2FIFOBCH = 0xe6ab +_EP2FIFOBCL = 0xe6ac +_EP4FIFOBCH = 0xe6ad +_EP4FIFOBCL = 0xe6ae +_EP6FIFOBCH = 0xe6af +_EP6FIFOBCL = 0xe6b0 +_EP8FIFOBCH = 0xe6b1 +_EP8FIFOBCL = 0xe6b2 +_SUDPTRH = 0xe6b3 +_SUDPTRL = 0xe6b4 +_SUDPTRCTL = 0xe6b5 +_SETUPDAT = 0xe6b8 +_bmRequestType = 0xe6b8 +_bRequest = 0xe6b9 +_wValueL = 0xe6ba +_wValueH = 0xe6bb +_wIndexL = 0xe6bc +_wIndexH = 0xe6bd +_wLengthL = 0xe6be +_wLengthH = 0xe6bf +_GPIFWFSELECT = 0xe6c0 +_GPIFIDLECS = 0xe6c1 +_GPIFIDLECTL = 0xe6c2 +_GPIFCTLCFG = 0xe6c3 +_GPIFADRH = 0xe6c4 +_GPIFADRL = 0xe6c5 +_FLOWSTATE = 0xe6c6 +_FLOWLOGIC = 0xe6c7 +_FLOWEQ0CTL = 0xe6c8 +_FLOWEQ1CTL = 0xe6c9 +_FLOWHOLDOFF = 0xe6ca +_FLOWSTB = 0xe6cb +_FLOWSTBEDGE = 0xe6cc +_FLOWSTBHPERIOD = 0xe6cd +_GPIFTCB3 = 0xe6ce +_GPIFTCB2 = 0xe6cf +_GPIFTCB1 = 0xe6d0 +_GPIFTCB0 = 0xe6d1 +_EP2GPIFFLGSEL = 0xe6d2 +_EP2GPIFPFSTOP = 0xe6d3 +_EP2GPIFTRIG = 0xe6d4 +_EP4GPIFFLGSEL = 0xe6da +_EP4GPIFPFSTOP = 0xe6db +_EP4GPIFTRIG = 0xe6dc +_EP6GPIFFLGSEL = 0xe6e2 +_EP6GPIFPFSTOP = 0xe6e3 +_EP6GPIFTRIG = 0xe6e4 +_EP8GPIFFLGSEL = 0xe6ea +_EP8GPIFPFSTOP = 0xe6eb +_EP8GPIFTRIG = 0xe6ec +_XGPIFSGLDATH = 0xe6f0 +_XGPIFSGLDATLX = 0xe6f1 +_XGPIFSGLDATLNOX = 0xe6f2 +_GPIFREADYCFG = 0xe6f3 +_GPIFREADYSTAT = 0xe6f4 +_GPIFABORT = 0xe6f5 +_EP0BUF = 0xe740 +_EP1OUTBUF = 0xe780 +_EP1INBUF = 0xe7c0 +_EP2FIFOBUF = 0xf000 +_EP4FIFOBUF = 0xf400 +_EP6FIFOBUF = 0xf800 +_EP8FIFOBUF = 0xfc00 +_INT0VEC_IE0 = 0x0003 +_INT1VEC_T0 = 0x000b +_INT2VEC_IE1 = 0x0013 +_INT3VEC_T1 = 0x001b +_INT4VEC_USART0 = 0x0023 +_INT5VEC_T2 = 0x002b +_INT6VEC_RESUME = 0x0033 +_INT7VEC_USART1 = 0x003b +_INT8VEC_USB = 0x0043 +_INT9VEC_I2C = 0x004b +_INT10VEC_GPIF = 0x0053 +_INT11VEC_IE5 = 0x005b +_INT12VEC_IE6 = 0x0063 +_INTVEC_SUDAV = 0x0100 +_INTVEC_SOF = 0x0104 +_INTVEC_SUTOK = 0x0108 +_INTVEC_SUSPEND = 0x010c +_INTVEC_USBRESET = 0x0110 +_INTVEC_HISPEED = 0x0114 +_INTVEC_EP0ACK = 0x0118 +_INTVEC_EP0IN = 0x0120 +_INTVEC_EP0OUT = 0x0124 +_INTVEC_EP1IN = 0x0128 +_INTVEC_EP1OUT = 0x012c +_INTVEC_EP2 = 0x0130 +_INTVEC_EP4 = 0x0134 +_INTVEC_EP6 = 0x0138 +_INTVEC_EP8 = 0x013c +_INTVEC_IBN = 0x0140 +_INTVEC_EP0PING = 0x0148 +_INTVEC_EP1PING = 0x014c +_INTVEC_EP2PING = 0x0150 +_INTVEC_EP4PING = 0x0154 +_INTVEC_EP6PING = 0x0158 +_INTVEC_EP8PING = 0x015c +_INTVEC_ERRLIMIT = 0x0160 +_INTVEC_EP2ISOERR = 0x0170 +_INTVEC_EP4ISOERR = 0x0174 +_INTVEC_EP6ISOERR = 0x0178 +_INTVEC_EP8ISOERR = 0x017c +_INTVEC_EP2PF = 0x0180 +_INTVEC_EP4PF = 0x0184 +_INTVEC_EP6PF = 0x0188 +_INTVEC_EP8PF = 0x018c +_INTVEC_EP2EF = 0x0190 +_INTVEC_EP4EF = 0x0194 +_INTVEC_EP6EF = 0x0198 +_INTVEC_EP8EF = 0x019c +_INTVEC_EP2FF = 0x01a0 +_INTVEC_EP6FF = 0x01a8 +_INTVEC_EP8FF = 0x01ac +_INTVEC_GPIFDONE = 0x01b0 +_INTVEC_GPIFWF = 0x01b4 +_eeprom_addr:: + .ds 2 +_eeprom_write_bytes:: + .ds 2 +_eeprom_write_checksum:: + .ds 1 +_debug_counter:: + .ds 2 +_debug_stack_size:: + .ds 1 +_debug_msg_size:: + .ds 1 +_debug_stack:: + .ds 96 +_debug_stack_ptr:: + .ds 2 +_debug_msg_buf:: + .ds 3 +_debug_read_addr:: + .ds 2 +_ZTEX_DESCRIPTOR = 0x006c +_ZTEX_DESCRIPTOR_VERSION = 0x006d +_ZTEXID = 0x006e +_PRODUCT_ID = 0x0072 +_FW_VERSION = 0x0076 +_INTERFACE_VERSION = 0x0077 +_INTERFACE_CAPABILITIES = 0x0078 +_MODULE_RESERVED = 0x007e +_SN_STRING = 0x008a +;-------------------------------------------------------- +; absolute external ram data +;-------------------------------------------------------- + .area XABS (ABS,XDATA) +;-------------------------------------------------------- +; external initialized ram data +;-------------------------------------------------------- + .area XISEG (XDATA) +_ep0_payload_remaining:: + .ds 2 +_ep0_payload_transfer:: + .ds 1 +_ep0_prev_setup_request:: + .ds 1 +_ep0_vendor_cmd_setup:: + .ds 1 +_ISOFRAME_COUNTER:: + .ds 8 + .area HOME (CODE) + .area GSINIT0 (CODE) + .area GSINIT1 (CODE) + .area GSINIT2 (CODE) + .area GSINIT3 (CODE) + .area GSINIT4 (CODE) + .area GSINIT5 (CODE) + .area GSINIT (CODE) + .area GSFINAL (CODE) + .area CSEG (CODE) +;-------------------------------------------------------- +; interrupt vector +;-------------------------------------------------------- + .area HOME (CODE) +__interrupt_vect: + ljmp __sdcc_gsinit_startup +;-------------------------------------------------------- +; global & static initialisations +;-------------------------------------------------------- + .area HOME (CODE) + .area GSINIT (CODE) + .area GSFINAL (CODE) + .area GSINIT (CODE) + .globl __sdcc_gsinit_startup + .globl __sdcc_program_startup + .globl __start__stack + .globl __mcs51_genXINIT + .globl __mcs51_genXRAMCLEAR + .globl __mcs51_genRAMCLEAR + .area GSFINAL (CODE) + ljmp __sdcc_program_startup +;-------------------------------------------------------- +; Home +;-------------------------------------------------------- + .area HOME (CODE) + .area HOME (CODE) +__sdcc_program_startup: + lcall _main +; return from main will lock up + sjmp . +;-------------------------------------------------------- +; code +;-------------------------------------------------------- + .area CSEG (CODE) +;------------------------------------------------------------ +;Allocation info for local variables in function 'abscode_intvec' +;------------------------------------------------------------ +;------------------------------------------------------------ +; ../../../include/ezintavecs.h:92: void abscode_intvec() _naked +; ----------------------------------------- +; function abscode_intvec +; ----------------------------------------- +_abscode_intvec: +; naked function: no prologue. +; ../../../include/ezintavecs.h:317: ERROR: no line number 317 in file ../../../include/ezintavecs.h + + .area ABSCODE (ABS,CODE) + .org 0x0000 + ENTRY: + ljmp #0x0200 +; # 94 "../../../include/ezintavecs.h" + .org 0x0003 +; # 34 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x000b +; # 35 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0013 +; # 36 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x001b +; # 37 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0023 +; # 38 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x002b +; # 39 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0033 +; # 40 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x003b +; # 41 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0043 +; # 42 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x004b +; # 43 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0053 +; # 44 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x005b +; # 45 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0063 +; # 46 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0100 +; # 47 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0104 +; # 48 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0108 +; # 49 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x010C +; # 50 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0110 +; # 51 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0114 +; # 52 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0118 +; # 53 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0120 +; # 54 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0124 +; # 55 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0128 +; # 56 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x012C +; # 57 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0130 +; # 58 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0134 +; # 59 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0138 +; # 60 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x013C +; # 61 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0140 +; # 62 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0148 +; # 63 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x014C +; # 64 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0150 +; # 65 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0154 +; # 66 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0158 +; # 67 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x015C +; # 68 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0160 +; # 69 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0170 +; # 70 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0174 +; # 71 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0178 +; # 72 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x017C +; # 73 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0180 +; # 74 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0184 +; # 75 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0188 +; # 76 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x018C +; # 77 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0190 +; # 78 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0194 +; # 79 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x0198 +; # 80 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x019C +; # 81 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x01A0 +; # 82 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x01A8 +; # 83 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x01AC +; # 84 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x01B0 +; # 85 "../../../include/ezintavecs.h" + reti +; # 94 "../../../include/ezintavecs.h" + .org 0x01B4 +; # 101 "../../../include/ezintavecs.h" + reti + .org 0x01b8 + INTVEC_DUMMY: + reti + .area CSEG (CODE) + +; naked function: no epilogue. +;------------------------------------------------------------ +;Allocation info for local variables in function 'wait' +;------------------------------------------------------------ +;ms Allocated to registers r2 r3 +;i Allocated to registers r6 r7 +;j Allocated to registers r4 r5 +;------------------------------------------------------------ +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! +; ----------------------------------------- +; function wait +; ----------------------------------------- +_wait: + ar2 = 0x02 + ar3 = 0x03 + ar4 = 0x04 + ar5 = 0x05 + ar6 = 0x06 + ar7 = 0x07 + ar0 = 0x00 + ar1 = 0x01 + mov r2,dpl + mov r3,dph +; ../../../include/ztex-utils.h:80: for (j=0; j> 8) + mov r5,a + mov dptr,#_debug_stack_ptr + mov a,r4 + movx @dptr,a + inc dptr + mov a,r5 + movx @dptr,a +; ../../../include/ztex-utils.h:120: AUTOPTRL1=LO(&($0)); + mov _AUTOPTRL1,#_debug_msg_buf +; ../../../include/ztex-utils.h:121: AUTOPTRH1=HI(&($0)); + mov r6,#_debug_msg_buf + mov r7,#(_debug_msg_buf >> 8) + mov _AUTOPTRH1,r7 +; ../../../include/ztex-utils.h:122: AUTOPTRL2=LO(&($1)); + mov ar6,r4 + mov ar7,r5 + mov _AUTOPTRL2,r6 +; ../../../include/ztex-utils.h:123: AUTOPTRH2=HI(&($1)); + mov _AUTOPTRH2,r5 +; ../../../include/ztex-utils.h:129: _endasm; + + push ar2 + mov r2,#(3); + lcall _MEM_COPY1_int + pop ar2 + +; ../../../include/ztex-debug.h:53: debug_counter += 1; + mov dptr,#_debug_counter + mov a,#0x01 + add a,r2 + movx @dptr,a + clr a + addc a,r3 + inc dptr + movx @dptr,a + ret +;------------------------------------------------------------ +;Allocation info for local variables in function 'debug_init' +;------------------------------------------------------------ +;------------------------------------------------------------ +; ../../../include/ztex-debug.h:60: void debug_init () { +; ----------------------------------------- +; function debug_init +; ----------------------------------------- +_debug_init: +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + mov dptr,#_debug_counter + clr a + movx @dptr,a + inc dptr + movx @dptr,a +; ../../../include/ztex-debug.h:62: debug_stack_size = DEBUG_STACK_SIZE; + mov dptr,#_debug_stack_size + mov a,#0x20 + movx @dptr,a +; ../../../include/ztex-debug.h:63: debug_msg_size = DEBUG_MSG_SIZE; + mov dptr,#_debug_msg_size + mov a,#0x03 + movx @dptr,a +; ../../../include/ztex-debug.h:64: debug_stack_ptr = debug_stack; + mov dptr,#_debug_stack_ptr + mov a,#_debug_stack + movx @dptr,a + inc dptr + mov a,#(_debug_stack >> 8) + movx @dptr,a + ret +;------------------------------------------------------------ +;Allocation info for local variables in function 'debug_read_ep0' +;------------------------------------------------------------ +;b Allocated to registers r2 +;------------------------------------------------------------ +; ../../../include/ztex-debug.h:71: BYTE debug_read_ep0 () { +; ----------------------------------------- +; function debug_read_ep0 +; ----------------------------------------- +_debug_read_ep0: +; ../../../include/ztex-debug.h:73: b = ep0_payload_transfer; + mov dptr,#_ep0_payload_transfer + movx a,@dptr +; ../../../include/ztex-debug.h:74: if ( b != 0) { + mov r2,a + jnz 00106$ + ljmp 00102$ +00106$: +; ../../../include/ztex-utils.h:120: AUTOPTRL1=LO(&($0)); + mov dptr,#_debug_read_addr + movx a,@dptr + mov r3,a + inc dptr + movx a,@dptr + mov r4,a + mov _AUTOPTRL1,r3 +; ../../../include/ztex-utils.h:121: AUTOPTRH1=HI(&($0)); + mov _AUTOPTRH1,r4 +; ../../../include/ztex-utils.h:122: AUTOPTRL2=LO(&($1)); + mov _AUTOPTRL2,#0x40 +; ../../../include/ztex-utils.h:123: AUTOPTRH2=HI(&($1)); + mov _AUTOPTRH2,#0xE7 +; ../../../include/ztex-utils.h:129: _endasm; + + push ar2 + mov r2,#(b); + lcall _MEM_COPY1_int + pop ar2 + +00102$: +; ../../../include/ztex-debug.h:77: debug_read_addr += b; + mov dptr,#_debug_read_addr + movx a,@dptr + mov r3,a + inc dptr + movx a,@dptr + mov r4,a + mov dptr,#_debug_read_addr + mov a,r2 + add a,r3 + movx @dptr,a + clr a + addc a,r4 + inc dptr + movx @dptr,a +; ../../../include/ztex-debug.h:78: return b; + mov dpl,r2 + ret +;------------------------------------------------------------ +;Allocation info for local variables in function 'abscode_identity' +;------------------------------------------------------------ +;------------------------------------------------------------ +; ../../../include/ztex-descriptors.h:116: void abscode_identity() _naked +; ----------------------------------------- +; function abscode_identity +; ----------------------------------------- +_abscode_identity: +; naked function: no prologue. +; ../../../include/ztex-descriptors.h:170: .db MODULE_RESERVED_03 + + .area ABSCODE (ABS,CODE) + + .org 0x06c + .db 40 + + .org _ZTEX_DESCRIPTOR_VERSION + .db 1 + + .org _ZTEXID + .ascii "ZTEX" + + .org _PRODUCT_ID + .db 0 + .db 0 + .db 0 + .db 0 + + .org _FW_VERSION + .db 0 + + .org _INTERFACE_VERSION + .db 1 + + .org _INTERFACE_CAPABILITIES +; # 158 "../../../include/ztex-descriptors.h" + .db 0 + 1 + 8 +; # 160 "../../../include/ztex-descriptors.h" + .db 0 + .db 0 + .db 0 + .db 0 + .db 0 + + .org _MODULE_RESERVED + .db 0 + .db 0 + .db 0 + .db 0 + .db 0 + .db 0 + .db 0 + .db 0 + .db 0 + .db 0 + .db 0 + .db 0 + + .org _SN_STRING + .ascii "0000000000" + + .area CSEG (CODE) + +; naked function: no epilogue. +;------------------------------------------------------------ +;Allocation info for local variables in function 'resetToggleData' +;------------------------------------------------------------ +;------------------------------------------------------------ +; ../../../include/ztex-isr.h:34: static void resetToggleData () { +; ----------------------------------------- +; function resetToggleData +; ----------------------------------------- +_resetToggleData: +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! +; ../../../include/ztex-isr.h:46: TOGCTL = 0 | bmBIT5; +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! +; ../../../include/ztex-isr.h:48: TOGCTL = 0x10 | bmBIT5; + mov dptr,#_TOGCTL + clr a + movx @dptr,a + mov a,#0x20 + movx @dptr,a + mov a,#0x10 + movx @dptr,a + mov a,#0x30 + movx @dptr,a +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! +; ../../../include/ztex-isr.h:51: TOGCTL = 1 | bmBIT5; +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! +; ../../../include/ztex-isr.h:55: TOGCTL = 0x11 | bmBIT5; + mov dptr,#_TOGCTL + mov a,#0x01 + movx @dptr,a + mov a,#0x21 + movx @dptr,a + mov a,#0x11 + movx @dptr,a + mov a,#0x31 + movx @dptr,a + ret +;------------------------------------------------------------ +;Allocation info for local variables in function 'sendStringDescriptor' +;------------------------------------------------------------ +;hiAddr Allocated with name '_sendStringDescriptor_PARM_2' +;size Allocated with name '_sendStringDescriptor_PARM_3' +;loAddr Allocated to registers r2 +;i Allocated to registers r2 +;------------------------------------------------------------ +; ../../../include/ztex-isr.h:68: static void sendStringDescriptor (BYTE loAddr, BYTE hiAddr, BYTE size) +; ----------------------------------------- +; function sendStringDescriptor +; ----------------------------------------- +_sendStringDescriptor: + mov r2,dpl +; ../../../include/ztex-isr.h:71: if ( size > 31) + mov a,_sendStringDescriptor_PARM_3 + add a,#0xff - 0x1F + jnc 00102$ +; ../../../include/ztex-isr.h:72: size = 31; + mov _sendStringDescriptor_PARM_3,#0x1F +00102$: +; ../../../include/ztex-isr.h:73: AUTOPTRSETUP = 7; + mov _AUTOPTRSETUP,#0x07 +; ../../../include/ztex-isr.h:74: AUTOPTRL1 = loAddr; + mov _AUTOPTRL1,r2 +; ../../../include/ztex-isr.h:75: AUTOPTRH1 = hiAddr; + mov _AUTOPTRH1,_sendStringDescriptor_PARM_2 +; ../../../include/ztex-isr.h:76: AUTOPTRL2 = (BYTE)(((unsigned short)(&EP0BUF))+1); + mov _AUTOPTRL2,#0x41 +; ../../../include/ztex-isr.h:77: AUTOPTRH2 = (BYTE)((((unsigned short)(&EP0BUF))+1) >> 8); + mov _AUTOPTRH2,#0xE7 +; ../../../include/ztex-isr.h:78: XAUTODAT2 = 3; + mov dptr,#_XAUTODAT2 + mov a,#0x03 + movx @dptr,a +; ../../../include/ztex-isr.h:79: for (i=0; i 64 ) ? 64 : ep0_payload_remaining; + mov dptr,#_ep0_payload_remaining + movx a,@dptr + mov r2,a + inc dptr + movx a,@dptr + mov r3,a + clr c + mov a,#0x40 + subb a,r2 + clr a + subb a,r3 + jnc 00103$ + mov r4,#0x40 + mov r5,#0x00 + sjmp 00104$ +00103$: + mov ar4,r2 + mov ar5,r3 +00104$: + mov dptr,#_ep0_payload_transfer + mov a,r4 + movx @dptr,a +; ../../../include/ztex-isr.h:95: ep0_payload_remaining -= ep0_payload_transfer; + mov r5,#0x00 + mov dptr,#_ep0_payload_remaining + mov a,r2 + clr c + subb a,r4 + movx @dptr,a + mov a,r3 + subb a,r5 + inc dptr + movx @dptr,a + ret +;------------------------------------------------------------ +;Allocation info for local variables in function 'ep0_vendor_cmd_su' +;------------------------------------------------------------ +;------------------------------------------------------------ +; ../../../include/ztex-isr.h:102: static void ep0_vendor_cmd_su() { +; ----------------------------------------- +; function ep0_vendor_cmd_su +; ----------------------------------------- +_ep0_vendor_cmd_su: +; ../../../include/ztex-isr.h:103: switch ( ep0_prev_setup_request ) { + mov dptr,#_ep0_prev_setup_request + movx a,@dptr + mov r2,a + cjne r2,#0x39,00102$ +; ../../../include/ztex-eeprom.h:233: eeprom_write_checksum = 0; + mov dptr,#_eeprom_write_checksum +; ../../../include/ztex-eeprom.h:234: eeprom_write_bytes = 0; + clr a + movx @dptr,a + mov dptr,#_eeprom_write_bytes + movx @dptr,a + inc dptr + movx @dptr,a +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + mov dptr,#(_SETUPDAT + 0x0003) + movx a,@dptr + mov r3,a + mov r2,#0x00 + mov dptr,#(_SETUPDAT + 0x0002) + movx a,@dptr + mov r4,a + mov r5,#0x00 + mov dptr,#_eeprom_addr + mov a,r4 + orl a,r2 + movx @dptr,a + mov a,r5 + orl a,r3 + inc dptr + movx @dptr,a +; ../../../include/ztex-conf.h:115: break; +; ../../../include/ztex-isr.h:105: default: + ret +00102$: +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + mov dptr,#_EP0CS + movx a,@dptr + orl a,#0x01 + movx @dptr,a +; ../../../include/ztex-isr.h:107: } + ret +;------------------------------------------------------------ +;Allocation info for local variables in function 'SUDAV_ISR' +;------------------------------------------------------------ +;a Allocated to registers r2 +;------------------------------------------------------------ +; ../../../include/ztex-isr.h:113: static void SUDAV_ISR () interrupt +; ----------------------------------------- +; function SUDAV_ISR +; ----------------------------------------- +_SUDAV_ISR: + push bits + push acc + push b + push dpl + push dph + push (0+2) + push (0+3) + push (0+4) + push (0+5) + push (0+6) + push (0+7) + push (0+0) + push (0+1) + push psw + mov psw,#0x00 +; ../../../include/ztex-isr.h:116: ep0_prev_setup_request = bRequest; + mov dptr,#_bRequest + movx a,@dptr + mov r2,a + mov dptr,#_ep0_prev_setup_request + movx @dptr,a +; ../../../include/ztex-isr.h:117: SUDPTRCTL = 1; + mov dptr,#_SUDPTRCTL + mov a,#0x01 + movx @dptr,a +; ../../../include/ztex-isr.h:120: switch ( bRequest ) { + mov dptr,#_bRequest + movx a,@dptr + mov r2,a + add a,#0xff - 0x0C + jnc 00214$ + ljmp 00160$ +00214$: + mov a,r2 + add a,r2 + add a,r2 + mov dptr,#00215$ + jmp @a+dptr +00215$: + ljmp 00101$ + ljmp 00112$ + ljmp 00160$ + ljmp 00122$ + ljmp 00160$ + ljmp 00160$ + ljmp 00132$ + ljmp 00152$ + ljmp 00153$ + ljmp 00154$ + ljmp 00155$ + ljmp 00156$ + ljmp 00157$ +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! +00101$: +; ../../../include/ztex-isr.h:122: switch(SETUPDAT[0]) { + mov dptr,#_SETUPDAT + movx a,@dptr + mov r2,a + cjne r2,#0x80,00216$ + sjmp 00102$ +00216$: + cjne r2,#0x81,00217$ + sjmp 00103$ +00217$: + cjne r2,#0x82,00218$ + sjmp 00104$ +00218$: + ljmp 00160$ +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! +00102$: + mov dptr,#_EP0BUF +; ../../../include/ztex-isr.h:125: EP0BUF[1] = 0; +; ../../../include/ztex-isr.h:126: EP0BCH = 0; + clr a + movx @dptr,a + mov dptr,#(_EP0BUF + 0x0001) + movx @dptr,a + mov dptr,#_EP0BCH + movx @dptr,a +; ../../../include/ztex-isr.h:127: EP0BCL = 2; + mov dptr,#_EP0BCL + mov a,#0x02 + movx @dptr,a +; ../../../include/ztex-isr.h:128: break; + ljmp 00160$ +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! +00103$: + mov dptr,#_EP0BUF +; ../../../include/ztex-isr.h:131: EP0BUF[1] = 0; +; ../../../include/ztex-isr.h:132: EP0BCH = 0; + clr a + movx @dptr,a + mov dptr,#(_EP0BUF + 0x0001) + movx @dptr,a + mov dptr,#_EP0BCH + movx @dptr,a +; ../../../include/ztex-isr.h:133: EP0BCL = 2; + mov dptr,#_EP0BCL + mov a,#0x02 + movx @dptr,a +; ../../../include/ztex-isr.h:134: break; + ljmp 00160$ +; ../../../include/ztex-isr.h:135: case 0x82: +00104$: +; ../../../include/ztex-isr.h:136: switch ( SETUPDAT[4] ) { + mov dptr,#(_SETUPDAT + 0x0004) + movx a,@dptr + mov r2,a + jz 00106$ + cjne r2,#0x01,00220$ + sjmp 00107$ +00220$: + cjne r2,#0x80,00221$ + sjmp 00106$ +00221$: +; ../../../include/ztex-isr.h:138: case 0x80 : + cjne r2,#0x81,00109$ + sjmp 00108$ +00106$: +; ../../../include/ztex-isr.h:139: EP0BUF[0] = EP0CS & bmBIT0; + mov dptr,#_EP0CS + movx a,@dptr + mov r2,a + anl ar2,#0x01 + mov dptr,#_EP0BUF + mov a,r2 + movx @dptr,a +; ../../../include/ztex-isr.h:140: break; +; ../../../include/ztex-isr.h:141: case 0x01 : + sjmp 00110$ +00107$: +; ../../../include/ztex-isr.h:142: EP0BUF[0] = EP1OUTCS & bmBIT0; + mov dptr,#_EP1OUTCS + movx a,@dptr + mov r2,a + anl ar2,#0x01 + mov dptr,#_EP0BUF + mov a,r2 + movx @dptr,a +; ../../../include/ztex-isr.h:143: break; +; ../../../include/ztex-isr.h:144: case 0x81 : + sjmp 00110$ +00108$: +; ../../../include/ztex-isr.h:145: EP0BUF[0] = EP1INCS & bmBIT0; + mov dptr,#_EP1INCS + movx a,@dptr + mov r2,a + anl ar2,#0x01 + mov dptr,#_EP0BUF + mov a,r2 + movx @dptr,a +; ../../../include/ztex-isr.h:146: break; +; ../../../include/ztex-isr.h:147: default: + sjmp 00110$ +00109$: +; ../../../include/ztex-isr.h:148: EP0BUF[0] = EPXCS[ ((SETUPDAT[4] >> 1)-1) & 3 ] & bmBIT0; + mov dptr,#(_SETUPDAT + 0x0004) + movx a,@dptr + clr c + rrc a + dec a + anl a,#0x03 + add a,#_EPXCS + mov dpl,a + clr a + addc a,#(_EPXCS >> 8) + mov dph,a + movx a,@dptr + mov r2,a + anl ar2,#0x01 + mov dptr,#_EP0BUF + mov a,r2 + movx @dptr,a +; ../../../include/ztex-isr.h:150: } +00110$: +; ../../../include/ztex-isr.h:151: EP0BUF[1] = 0; + mov dptr,#(_EP0BUF + 0x0001) +; ../../../include/ztex-isr.h:152: EP0BCH = 0; + clr a + movx @dptr,a + mov dptr,#_EP0BCH + movx @dptr,a +; ../../../include/ztex-isr.h:153: EP0BCL = 2; + mov dptr,#_EP0BCL + mov a,#0x02 + movx @dptr,a +; ../../../include/ztex-isr.h:156: break; + ljmp 00160$ +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! +00112$: +; ../../../include/ztex-isr.h:158: if ( SETUPDAT[0] == 2 && SETUPDAT[2] == 0 ) { + mov dptr,#_SETUPDAT + movx a,@dptr + mov r2,a + cjne r2,#0x02,00223$ + sjmp 00224$ +00223$: + ljmp 00160$ +00224$: + mov dptr,#(_SETUPDAT + 0x0002) + movx a,@dptr + jz 00225$ + ljmp 00160$ +00225$: +; ../../../include/ztex-isr.h:159: switch ( SETUPDAT[4] ) { + mov dptr,#(_SETUPDAT + 0x0004) + movx a,@dptr + mov r2,a + jz 00114$ + cjne r2,#0x01,00227$ + sjmp 00115$ +00227$: + cjne r2,#0x80,00228$ + sjmp 00114$ +00228$: +; ../../../include/ztex-isr.h:161: case 0x80 : + cjne r2,#0x81,00117$ + sjmp 00116$ +00114$: +; ../../../include/ztex-isr.h:162: EP0CS &= ~bmBIT0; + mov dptr,#_EP0CS + movx a,@dptr + mov r2,a + anl a,#0xFE + movx @dptr,a +; ../../../include/ztex-isr.h:163: break; + ljmp 00160$ +; ../../../include/ztex-isr.h:164: case 0x01 : +00115$: +; ../../../include/ztex-isr.h:165: EP1OUTCS &= ~bmBIT0; + mov dptr,#_EP1OUTCS + movx a,@dptr + mov r2,a + anl a,#0xFE + movx @dptr,a +; ../../../include/ztex-isr.h:166: break; + ljmp 00160$ +; ../../../include/ztex-isr.h:167: case 0x81 : +00116$: +; ../../../include/ztex-isr.h:168: EP1INCS &= ~bmBIT0; + mov dptr,#_EP1INCS + movx a,@dptr + mov r2,a + anl a,#0xFE + movx @dptr,a +; ../../../include/ztex-isr.h:169: break; + ljmp 00160$ +; ../../../include/ztex-isr.h:170: default: +00117$: +; ../../../include/ztex-isr.h:171: EPXCS[ ((SETUPDAT[4] >> 1)-1) & 3 ] &= ~bmBIT0; + mov dptr,#(_SETUPDAT + 0x0004) + movx a,@dptr + clr c + rrc a + dec a + anl a,#0x03 + add a,#_EPXCS + mov r2,a + clr a + addc a,#(_EPXCS >> 8) + mov r3,a + mov dptr,#(_SETUPDAT + 0x0004) + movx a,@dptr + clr c + rrc a + dec a + anl a,#0x03 + add a,#_EPXCS + mov dpl,a + clr a + addc a,#(_EPXCS >> 8) + mov dph,a + movx a,@dptr + mov r4,a + anl ar4,#0xFE + mov dpl,r2 + mov dph,r3 + mov a,r4 + movx @dptr,a +; ../../../include/ztex-isr.h:175: break; + ljmp 00160$ +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! +00122$: +; ../../../include/ztex-isr.h:177: if ( SETUPDAT[0] == 2 && SETUPDAT[2] == 0 ) { + mov dptr,#_SETUPDAT + movx a,@dptr + mov r2,a + cjne r2,#0x02,00230$ + sjmp 00231$ +00230$: + ljmp 00160$ +00231$: + mov dptr,#(_SETUPDAT + 0x0002) + movx a,@dptr + jz 00232$ + ljmp 00160$ +00232$: +; ../../../include/ztex-isr.h:178: switch ( SETUPDAT[4] ) { + mov dptr,#(_SETUPDAT + 0x0004) + movx a,@dptr + mov r2,a + jz 00124$ + cjne r2,#0x01,00234$ + sjmp 00125$ +00234$: + cjne r2,#0x80,00235$ + sjmp 00124$ +00235$: +; ../../../include/ztex-isr.h:180: case 0x80 : + cjne r2,#0x81,00127$ + sjmp 00126$ +00124$: +; ../../../include/ztex-isr.h:181: EP0CS |= bmBIT0; + mov dptr,#_EP0CS + movx a,@dptr + mov r2,a + orl a,#0x01 + movx @dptr,a +; ../../../include/ztex-isr.h:182: break; +; ../../../include/ztex-isr.h:183: case 0x01 : + sjmp 00128$ +00125$: +; ../../../include/ztex-isr.h:184: EP1OUTCS |= bmBIT0; + mov dptr,#_EP1OUTCS + movx a,@dptr + mov r2,a + orl a,#0x01 + movx @dptr,a +; ../../../include/ztex-isr.h:185: break; +; ../../../include/ztex-isr.h:186: case 0x81 : + sjmp 00128$ +00126$: +; ../../../include/ztex-isr.h:187: EP1INCS |= bmBIT0; + mov dptr,#_EP1INCS + movx a,@dptr + mov r2,a + orl a,#0x01 + movx @dptr,a +; ../../../include/ztex-isr.h:188: break; +; ../../../include/ztex-isr.h:189: default: + sjmp 00128$ +00127$: +; ../../../include/ztex-isr.h:190: EPXCS[ ((SETUPDAT[4] >> 1)-1) & 3 ] |= ~bmBIT0; + mov dptr,#(_SETUPDAT + 0x0004) + movx a,@dptr + clr c + rrc a + dec a + anl a,#0x03 + add a,#_EPXCS + mov r2,a + clr a + addc a,#(_EPXCS >> 8) + mov r3,a + mov dptr,#(_SETUPDAT + 0x0004) + movx a,@dptr + clr c + rrc a + dec a + anl a,#0x03 + add a,#_EPXCS + mov dpl,a + clr a + addc a,#(_EPXCS >> 8) + mov dph,a + movx a,@dptr + mov r4,a + orl ar4,#0xFE + mov dpl,r2 + mov dph,r3 + mov a,r4 + movx @dptr,a +; ../../../include/ztex-isr.h:192: } +00128$: +; ../../../include/ztex-isr.h:193: a = ( (SETUPDAT[4] & 0x80) >> 3 ) | (SETUPDAT[4] & 0x0f); + mov dptr,#(_SETUPDAT + 0x0004) + movx a,@dptr + anl a,#0x80 + swap a + rl a + anl a,#0x1f + mov r2,a + mov dptr,#(_SETUPDAT + 0x0004) + movx a,@dptr + mov r3,a + mov a,#0x0F + anl a,r3 + orl ar2,a +; ../../../include/ztex-isr.h:194: TOGCTL = a; +; ../../../include/ztex-isr.h:195: TOGCTL = a | bmBIT5; + mov dptr,#_TOGCTL + mov a,r2 + movx @dptr,a + mov a,#0x20 + orl a,r2 + movx @dptr,a +; ../../../include/ztex-isr.h:197: break; + ljmp 00160$ +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! +00132$: +; ../../../include/ztex-isr.h:199: switch(SETUPDAT[3]) { + mov dptr,#(_SETUPDAT + 0x0003) + movx a,@dptr + mov r2,a + cjne r2,#0x01,00237$ + sjmp 00133$ +00237$: + cjne r2,#0x02,00238$ + sjmp 00134$ +00238$: + cjne r2,#0x03,00239$ + sjmp 00138$ +00239$: + cjne r2,#0x06,00240$ + ljmp 00145$ +00240$: + cjne r2,#0x07,00241$ + ljmp 00146$ +00241$: + ljmp 00150$ +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! +00133$: +; ../../../include/ztex-isr.h:201: SUDPTRH = MSB(&DeviceDescriptor); + mov r2,#_DeviceDescriptor + mov r3,#(_DeviceDescriptor >> 8) + mov dptr,#_SUDPTRH + mov a,r3 + movx @dptr,a +; ../../../include/ztex-isr.h:202: SUDPTRL = LSB(&DeviceDescriptor); + mov dptr,#_SUDPTRL + mov a,#_DeviceDescriptor + movx @dptr,a +; ../../../include/ztex-isr.h:203: break; + ljmp 00160$ +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! +00134$: +; ../../../include/ztex-isr.h:205: if (USBCS & bmBIT7) { + mov dptr,#_USBCS + movx a,@dptr + mov r2,a + jnb acc.7,00136$ +; ../../../include/ztex-isr.h:206: SUDPTRH = MSB(&HighSpeedConfigDescriptor); + mov r2,#_HighSpeedConfigDescriptor + mov r3,#(_HighSpeedConfigDescriptor >> 8) + mov dptr,#_SUDPTRH + mov a,r3 + movx @dptr,a +; ../../../include/ztex-isr.h:207: SUDPTRL = LSB(&HighSpeedConfigDescriptor); + mov dptr,#_SUDPTRL + mov a,#_HighSpeedConfigDescriptor + movx @dptr,a + ljmp 00160$ +00136$: +; ../../../include/ztex-isr.h:210: SUDPTRH = MSB(&FullSpeedConfigDescriptor); + mov r2,#_FullSpeedConfigDescriptor + mov r3,#(_FullSpeedConfigDescriptor >> 8) + mov dptr,#_SUDPTRH + mov a,r3 + movx @dptr,a +; ../../../include/ztex-isr.h:211: SUDPTRL = LSB(&FullSpeedConfigDescriptor); + mov dptr,#_SUDPTRL + mov a,#_FullSpeedConfigDescriptor + movx @dptr,a +; ../../../include/ztex-isr.h:213: break; + ljmp 00160$ +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! +00138$: +; ../../../include/ztex-isr.h:215: switch (SETUPDAT[2]) { + mov dptr,#(_SETUPDAT + 0x0002) + movx a,@dptr + mov r2,a + cjne r2,#0x01,00243$ + sjmp 00139$ +00243$: + cjne r2,#0x02,00244$ + sjmp 00140$ +00244$: + cjne r2,#0x03,00245$ + sjmp 00141$ +00245$: +; ../../../include/ztex-isr.h:216: case 1: + cjne r2,#0x04,00143$ + sjmp 00142$ +00139$: +; ../../../include/ztex-isr.h:217: SEND_STRING_DESCRIPTOR(manufacturerString); + mov dpl,#_manufacturerString + mov r2,#_manufacturerString + mov r3,#(_manufacturerString >> 8) + mov _sendStringDescriptor_PARM_2,r3 + mov _sendStringDescriptor_PARM_3,#0x05 + lcall _sendStringDescriptor +; ../../../include/ztex-isr.h:218: break; + ljmp 00160$ +; ../../../include/ztex-isr.h:219: case 2: +00140$: +; ../../../include/ztex-isr.h:220: SEND_STRING_DESCRIPTOR(productString); + mov dpl,#_productString + mov r2,#_productString + mov r3,#(_productString >> 8) + mov _sendStringDescriptor_PARM_2,r3 + mov _sendStringDescriptor_PARM_3,#0x19 + lcall _sendStringDescriptor +; ../../../include/ztex-isr.h:221: break; + ljmp 00160$ +; ../../../include/ztex-isr.h:222: case 3: +00141$: +; ../../../include/ztex-isr.h:223: SEND_STRING_DESCRIPTOR(SN_STRING); + mov dpl,#_SN_STRING + mov r2,#_SN_STRING + mov r3,#(_SN_STRING >> 8) + mov _sendStringDescriptor_PARM_2,r3 + mov _sendStringDescriptor_PARM_3,#0x0A + lcall _sendStringDescriptor +; ../../../include/ztex-isr.h:224: break; + ljmp 00160$ +; ../../../include/ztex-isr.h:225: case 4: +00142$: +; ../../../include/ztex-isr.h:226: SEND_STRING_DESCRIPTOR(configurationString); + mov dpl,#_configurationString + mov r2,#_configurationString + mov r3,#(_configurationString >> 8) + mov _sendStringDescriptor_PARM_2,r3 + mov _sendStringDescriptor_PARM_3,#0x0A + lcall _sendStringDescriptor +; ../../../include/ztex-isr.h:227: break; + ljmp 00160$ +; ../../../include/ztex-isr.h:228: default: +00143$: +; ../../../include/ztex-isr.h:229: SUDPTRH = MSB(&EmptyStringDescriptor); + mov r2,#_EmptyStringDescriptor + mov r3,#(_EmptyStringDescriptor >> 8) + mov dptr,#_SUDPTRH + mov a,r3 + movx @dptr,a +; ../../../include/ztex-isr.h:230: SUDPTRL = LSB(&EmptyStringDescriptor); + mov dptr,#_SUDPTRL + mov a,#_EmptyStringDescriptor + movx @dptr,a +; ../../../include/ztex-isr.h:233: break; + ljmp 00160$ +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! +00145$: +; ../../../include/ztex-isr.h:235: SUDPTRH = MSB(&DeviceQualifierDescriptor); + mov r2,#_DeviceQualifierDescriptor + mov r3,#(_DeviceQualifierDescriptor >> 8) + mov dptr,#_SUDPTRH + mov a,r3 + movx @dptr,a +; ../../../include/ztex-isr.h:236: SUDPTRL = LSB(&DeviceQualifierDescriptor); + mov dptr,#_SUDPTRL + mov a,#_DeviceQualifierDescriptor + movx @dptr,a +; ../../../include/ztex-isr.h:237: break; + ljmp 00160$ +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! +00146$: +; ../../../include/ztex-isr.h:239: if (USBCS & bmBIT7) { + mov dptr,#_USBCS + movx a,@dptr + mov r2,a + jnb acc.7,00148$ +; ../../../include/ztex-isr.h:240: SUDPTRH = MSB(&FullSpeedConfigDescriptor); + mov r2,#_FullSpeedConfigDescriptor + mov r3,#(_FullSpeedConfigDescriptor >> 8) + mov dptr,#_SUDPTRH + mov a,r3 + movx @dptr,a +; ../../../include/ztex-isr.h:241: SUDPTRL = LSB(&FullSpeedConfigDescriptor); + mov dptr,#_SUDPTRL + mov a,#_FullSpeedConfigDescriptor + movx @dptr,a + ljmp 00160$ +00148$: +; ../../../include/ztex-isr.h:244: SUDPTRH = MSB(&HighSpeedConfigDescriptor); + mov r2,#_HighSpeedConfigDescriptor + mov r3,#(_HighSpeedConfigDescriptor >> 8) + mov dptr,#_SUDPTRH + mov a,r3 + movx @dptr,a +; ../../../include/ztex-isr.h:245: SUDPTRL = LSB(&HighSpeedConfigDescriptor); + mov dptr,#_SUDPTRL + mov a,#_HighSpeedConfigDescriptor + movx @dptr,a +; ../../../include/ztex-isr.h:247: break; +; ../../../include/ztex-isr.h:248: default: + sjmp 00160$ +00150$: +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + mov dptr,#_EP0CS + movx a,@dptr + mov r2,a + orl a,#0x01 + movx @dptr,a +; ../../../include/ztex-isr.h:251: break; +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + sjmp 00160$ +00152$: +; ../../../include/ztex-isr.h:253: break; +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + sjmp 00160$ +00153$: + mov dptr,#_EP0BUF +; ../../../include/ztex-isr.h:256: EP0BCH = 0; + clr a + movx @dptr,a + mov dptr,#_EP0BCH + movx @dptr,a +; ../../../include/ztex-isr.h:257: EP0BCL = 1; + mov dptr,#_EP0BCL + mov a,#0x01 + movx @dptr,a +; ../../../include/ztex-isr.h:258: break; +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + sjmp 00160$ +00154$: +; ../../../include/ztex-isr.h:260: resetToggleData(); + lcall _resetToggleData +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + sjmp 00160$ +00155$: + mov dptr,#_EP0BUF +; ../../../include/ztex-isr.h:264: EP0BCH = 0; + clr a + movx @dptr,a + mov dptr,#_EP0BCH + movx @dptr,a +; ../../../include/ztex-isr.h:265: EP0BCL = 1; + mov dptr,#_EP0BCL + mov a,#0x01 + movx @dptr,a +; ../../../include/ztex-isr.h:266: break; +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + sjmp 00160$ +00156$: +; ../../../include/ztex-isr.h:268: resetToggleData(); + lcall _resetToggleData +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + sjmp 00160$ +00157$: +; ../../../include/ztex-isr.h:271: if ( SETUPDAT[0] == 0x82 ) { + mov dptr,#_SETUPDAT + movx a,@dptr + mov r2,a + cjne r2,#0x82,00160$ +; ../../../include/ztex-isr.h:272: ISOFRAME_COUNTER[ ((SETUPDAT[4] >> 1)-1) & 3 ] = 0; + mov dptr,#(_SETUPDAT + 0x0004) + movx a,@dptr + clr c + rrc a + dec a + anl a,#0x03 + add a,acc + add a,#_ISOFRAME_COUNTER + mov dpl,a + clr a + addc a,#(_ISOFRAME_COUNTER >> 8) + mov dph,a + clr a + movx @dptr,a + inc dptr + movx @dptr,a +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + mov dptr,#_USBFRAMEL + movx a,@dptr + mov dptr,#_EP0BUF + movx @dptr,a +; ../../../include/ztex-isr.h:274: EP0BUF[1] = USBFRAMEH; + mov dptr,#_USBFRAMEH + movx a,@dptr + mov r2,a + mov dptr,#(_EP0BUF + 0x0001) + movx @dptr,a +; ../../../include/ztex-isr.h:275: EP0BCH = 0; + mov dptr,#_EP0BCH + clr a + movx @dptr,a +; ../../../include/ztex-isr.h:276: EP0BCL = 2; + mov dptr,#_EP0BCL + mov a,#0x02 + movx @dptr,a +; ../../../include/ztex-isr.h:280: } +00160$: +; ../../../include/ztex-isr.h:283: switch ( bmRequestType ) { + mov dptr,#_bmRequestType + movx a,@dptr + mov r2,a + cjne r2,#0x40,00250$ + ljmp 00168$ +00250$: + cjne r2,#0xC0,00251$ + sjmp 00252$ +00251$: + ljmp 00172$ +00252$: +; ../../../include/ztex-isr.h:285: ep0_payload_remaining = (SETUPDAT[7] << 8) | SETUPDAT[6]; + mov dptr,#(_SETUPDAT + 0x0007) + movx a,@dptr + mov r3,a + mov r2,#0x00 + mov dptr,#(_SETUPDAT + 0x0006) + movx a,@dptr + mov r4,a + mov r5,#0x00 + mov dptr,#_ep0_payload_remaining + mov a,r4 + orl a,r2 + movx @dptr,a + mov a,r5 + orl a,r3 + inc dptr + movx @dptr,a +; ../../../include/ztex-isr.h:286: ep0_payload_update(); + lcall _ep0_payload_update +; ../../../include/ztex-isr.h:288: switch ( bRequest ) { + mov dptr,#_bRequest + movx a,@dptr + mov r2,a + cjne r2,#0x22,00253$ + sjmp 00162$ +00253$: + cjne r2,#0x28,00254$ + ljmp 00165$ +00254$: + cjne r2,#0x38,00255$ + sjmp 00163$ +00255$: + cjne r2,#0x3A,00256$ + sjmp 00164$ +00256$: + ljmp 00166$ +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! +00162$: +; ../../../include/ztex-isr.h:290: SUDPTRCTL = 0; + mov dptr,#_SUDPTRCTL +; ../../../include/ztex-isr.h:291: EP0BCH = 0; + clr a + movx @dptr,a + mov dptr,#_EP0BCH + movx @dptr,a +; ../../../include/ztex-isr.h:292: EP0BCL = ZTEX_DESCRIPTOR_LEN; + mov dptr,#_EP0BCL + mov a,#0x28 + movx @dptr,a +; ../../../include/ztex-isr.h:293: SUDPTRH = MSB(ZTEX_DESCRIPTOR_OFFS); + mov dptr,#_SUDPTRH + clr a + movx @dptr,a +; ../../../include/ztex-isr.h:294: SUDPTRL = LSB(ZTEX_DESCRIPTOR_OFFS); + mov dptr,#_SUDPTRL + mov a,#0x6C + movx @dptr,a +; ../../../include/ztex-isr.h:295: break; + ljmp 00172$ +; ../../../include/ztex-conf.h:90: case $0: +00163$: +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + mov dptr,#(_SETUPDAT + 0x0003) + movx a,@dptr + mov r3,a + mov r2,#0x00 + mov dptr,#(_SETUPDAT + 0x0002) + movx a,@dptr + mov r4,a + mov r5,#0x00 + mov dptr,#_eeprom_addr + mov a,r4 + orl a,r2 + movx @dptr,a + mov a,r5 + orl a,r3 + inc dptr + movx @dptr,a +; ../../../include/ztex-eeprom.h:216: EP0BCH = 0; + mov dptr,#_EP0BCH + clr a + movx @dptr,a +; ../../../include/ztex-eeprom.h:217: EP0BCL = eeprom_read_ep0(); + lcall _eeprom_read_ep0 + mov a,dpl + mov dptr,#_EP0BCL + movx @dptr,a +; ../../../include/ztex-conf.h:92: break; + ljmp 00172$ +; ../../../include/ztex-conf.h:90: case $0: +00164$: +; ../../../include/ztex-eeprom.h:244: EP0BUF[0] = LSB(eeprom_write_bytes); + mov dptr,#_eeprom_write_bytes + movx a,@dptr + mov r2,a + inc dptr + movx a,@dptr + mov r3,a + mov ar4,r2 + mov dptr,#_EP0BUF + mov a,r4 + movx @dptr,a +; ../../../include/ztex-eeprom.h:245: EP0BUF[1] = MSB(eeprom_write_bytes); + mov ar2,r3 + mov dptr,#(_EP0BUF + 0x0001) + mov a,r2 + movx @dptr,a +; ../../../include/ztex-eeprom.h:246: EP0BUF[2] = eeprom_write_checksum; + mov dptr,#_eeprom_write_checksum + movx a,@dptr + mov dptr,#(_EP0BUF + 0x0002) + movx @dptr,a +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + mov _eeprom_select_PARM_2,#0x01 + mov dpl,#0x00 + lcall _eeprom_select + mov r2,dpl + mov dptr,#(_EP0BUF + 0x0003) + mov a,r2 + movx @dptr,a +; ../../../include/ztex-eeprom.h:248: EP0BCH = 0; + mov dptr,#_EP0BCH + clr a + movx @dptr,a +; ../../../include/ztex-eeprom.h:249: EP0BCL = 4; + mov dptr,#_EP0BCL + mov a,#0x04 + movx @dptr,a +; ../../../include/ztex-conf.h:92: break; +; ../../../include/ztex-conf.h:90: case $0: + sjmp 00172$ +00165$: +; ../../../include/ztex-debug.h:82: debug_read_addr = (__xdata BYTE*)&debug_counter; + mov dptr,#_debug_read_addr + mov a,#_debug_counter + movx @dptr,a + inc dptr + mov a,#(_debug_counter >> 8) + movx @dptr,a +; ../../../include/ztex-debug.h:83: EP0BCH = 0; + mov dptr,#_EP0BCH + clr a + movx @dptr,a +; ../../../include/ztex-debug.h:84: EP0BCL = debug_read_ep0(); + lcall _debug_read_ep0 + mov a,dpl + mov dptr,#_EP0BCL + movx @dptr,a +; ../../../include/ztex-conf.h:92: break; +; ../../../include/ztex-isr.h:297: default: + sjmp 00172$ +00166$: +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + mov dptr,#_EP0CS + movx a,@dptr + mov r2,a + orl a,#0x01 + movx @dptr,a +; ../../../include/ztex-isr.h:300: break; +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + sjmp 00172$ +00168$: +; ../../../include/ztex-isr.h:305: if ( SETUPDAT[7]!=0 || SETUPDAT[6]!=0 ) { + mov dptr,#(_SETUPDAT + 0x0007) + movx a,@dptr + jnz 00169$ + mov dptr,#(_SETUPDAT + 0x0006) + movx a,@dptr + jz 00170$ +00169$: +; ../../../include/ztex-isr.h:306: ep0_vendor_cmd_setup = 1; + mov dptr,#_ep0_vendor_cmd_setup + mov a,#0x01 + movx @dptr,a +; ../../../include/ztex-isr.h:307: EP0BCL = 0; + mov dptr,#_EP0BCL + clr a + movx @dptr,a +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + anl _EXIF,#0xEF + mov dptr,#_USBIRQ + mov a,#0x01 + movx @dptr,a + sjmp 00173$ +00170$: + lcall _ep0_vendor_cmd_su +; ../../../include/ztex-isr.h:313: EP0BCL = 0; + mov dptr,#_EP0BCL + clr a + movx @dptr,a +; ../../../include/ztex-isr.h:315: } +00172$: +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + anl _EXIF,#0xEF + mov dptr,#_USBIRQ + mov a,#0x01 + movx @dptr,a + mov dptr,#_EP0CS + movx a,@dptr + mov r2,a + orl a,#0x80 + movx @dptr,a +00173$: + pop psw + pop (0+1) + pop (0+0) + pop (0+7) + pop (0+6) + pop (0+5) + pop (0+4) + pop (0+3) + pop (0+2) + pop dph + pop dpl + pop b + pop acc + pop bits + reti +;------------------------------------------------------------ +;Allocation info for local variables in function 'SOF_ISR' +;------------------------------------------------------------ +;------------------------------------------------------------ +; ../../../include/ztex-isr.h:325: void SOF_ISR() interrupt +; ----------------------------------------- +; function SOF_ISR +; ----------------------------------------- +_SOF_ISR: + push acc + push dpl + push dph +; ../../../include/ztex-isr.h:327: EXIF &= ~bmBIT4; + anl _EXIF,#0xEF +; ../../../include/ztex-isr.h:328: USBIRQ = bmBIT1; + mov dptr,#_USBIRQ + mov a,#0x02 + movx @dptr,a + pop dph + pop dpl + pop acc + reti +; eliminated unneeded push/pop psw +; eliminated unneeded push/pop b +;------------------------------------------------------------ +;Allocation info for local variables in function 'SUTOK_ISR' +;------------------------------------------------------------ +;------------------------------------------------------------ +; ../../../include/ztex-isr.h:334: void SUTOK_ISR() interrupt +; ----------------------------------------- +; function SUTOK_ISR +; ----------------------------------------- +_SUTOK_ISR: + push acc + push dpl + push dph +; ../../../include/ztex-isr.h:336: EXIF &= ~bmBIT4; + anl _EXIF,#0xEF +; ../../../include/ztex-isr.h:337: USBIRQ = bmBIT2; + mov dptr,#_USBIRQ + mov a,#0x04 + movx @dptr,a + pop dph + pop dpl + pop acc + reti +; eliminated unneeded push/pop psw +; eliminated unneeded push/pop b +;------------------------------------------------------------ +;Allocation info for local variables in function 'SUSP_ISR' +;------------------------------------------------------------ +;------------------------------------------------------------ +; ../../../include/ztex-isr.h:343: void SUSP_ISR() interrupt +; ----------------------------------------- +; function SUSP_ISR +; ----------------------------------------- +_SUSP_ISR: + push acc + push dpl + push dph +; ../../../include/ztex-isr.h:345: EXIF &= ~bmBIT4; + anl _EXIF,#0xEF +; ../../../include/ztex-isr.h:346: USBIRQ = bmBIT3; + mov dptr,#_USBIRQ + mov a,#0x08 + movx @dptr,a + pop dph + pop dpl + pop acc + reti +; eliminated unneeded push/pop psw +; eliminated unneeded push/pop b +;------------------------------------------------------------ +;Allocation info for local variables in function 'URES_ISR' +;------------------------------------------------------------ +;------------------------------------------------------------ +; ../../../include/ztex-isr.h:352: void URES_ISR() interrupt +; ----------------------------------------- +; function URES_ISR +; ----------------------------------------- +_URES_ISR: + push acc + push dpl + push dph +; ../../../include/ztex-isr.h:354: EXIF &= ~bmBIT4; + anl _EXIF,#0xEF +; ../../../include/ztex-isr.h:355: USBIRQ = bmBIT4; + mov dptr,#_USBIRQ + mov a,#0x10 + movx @dptr,a + pop dph + pop dpl + pop acc + reti +; eliminated unneeded push/pop psw +; eliminated unneeded push/pop b +;------------------------------------------------------------ +;Allocation info for local variables in function 'HSGRANT_ISR' +;------------------------------------------------------------ +;------------------------------------------------------------ +; ../../../include/ztex-isr.h:361: void HSGRANT_ISR() interrupt +; ----------------------------------------- +; function HSGRANT_ISR +; ----------------------------------------- +_HSGRANT_ISR: + push acc + push dpl + push dph +; ../../../include/ztex-isr.h:363: EXIF &= ~bmBIT4; + anl _EXIF,#0xEF +; ../../../include/ztex-isr.h:364: USBIRQ = bmBIT5; + mov dptr,#_USBIRQ + mov a,#0x20 + movx @dptr,a + pop dph + pop dpl + pop acc + reti +; eliminated unneeded push/pop psw +; eliminated unneeded push/pop b +;------------------------------------------------------------ +;Allocation info for local variables in function 'EP0ACK_ISR' +;------------------------------------------------------------ +;------------------------------------------------------------ +; ../../../include/ztex-isr.h:370: void EP0ACK_ISR() interrupt +; ----------------------------------------- +; function EP0ACK_ISR +; ----------------------------------------- +_EP0ACK_ISR: + push acc + push dpl + push dph +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + anl _EXIF,#0xEF + mov dptr,#_USBIRQ + mov a,#0x40 + movx @dptr,a + pop dph + pop dpl + pop acc + reti +; eliminated unneeded push/pop psw +; eliminated unneeded push/pop b +;------------------------------------------------------------ +;Allocation info for local variables in function 'EP0IN_ISR' +;------------------------------------------------------------ +;------------------------------------------------------------ +; ../../../include/ztex-isr.h:379: static void EP0IN_ISR () interrupt +; ----------------------------------------- +; function EP0IN_ISR +; ----------------------------------------- +_EP0IN_ISR: + push bits + push acc + push b + push dpl + push dph + push (0+2) + push (0+3) + push (0+4) + push (0+5) + push (0+6) + push (0+7) + push (0+0) + push (0+1) + push psw + mov psw,#0x00 +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + clr _EUSB +; ../../../include/ztex-isr.h:382: ep0_payload_update(); + lcall _ep0_payload_update +; ../../../include/ztex-isr.h:383: switch ( ep0_prev_setup_request ) { + mov dptr,#_ep0_prev_setup_request + movx a,@dptr + mov r2,a + cjne r2,#0x28,00111$ + sjmp 00103$ +00111$: + cjne r2,#0x38,00112$ + sjmp 00101$ +00112$: +; ../../../include/ztex-conf.h:95: case $0: + cjne r2,#0x3A,00104$ + sjmp 00105$ +00101$: +; ../../../include/ztex-eeprom.h:219: EP0BCH = 0; + mov dptr,#_EP0BCH + clr a + movx @dptr,a +; ../../../include/ztex-eeprom.h:220: EP0BCL = eeprom_read_ep0(); + lcall _eeprom_read_ep0 + mov a,dpl + mov dptr,#_EP0BCL + movx @dptr,a +; ../../../include/ztex-conf.h:97: break; +; ../../../include/ztex-conf.h:95: case $0: + sjmp 00105$ +00103$: +; ../../../include/ztex-debug.h:86: EP0BCH = 0; + mov dptr,#_EP0BCH + clr a + movx @dptr,a +; ../../../include/ztex-debug.h:87: EP0BCL = debug_read_ep0(); + lcall _debug_read_ep0 + mov a,dpl + mov dptr,#_EP0BCL + movx @dptr,a +; ../../../include/ztex-conf.h:97: break; +; ../../../include/ztex-isr.h:385: default: + sjmp 00105$ +00104$: +; ../../../include/ztex-isr.h:386: EP0BCH = 0; + mov dptr,#_EP0BCH +; ../../../include/ztex-isr.h:387: EP0BCL = 0; + clr a + movx @dptr,a + mov dptr,#_EP0BCL + movx @dptr,a +; ../../../include/ztex-isr.h:388: } +00105$: +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + anl _EXIF,#0xEF + mov dptr,#_EPIRQ + mov a,#0x01 + movx @dptr,a +; ../../../include/ztex-isr.h:391: EUSB = 1; + setb _EUSB + pop psw + pop (0+1) + pop (0+0) + pop (0+7) + pop (0+6) + pop (0+5) + pop (0+4) + pop (0+3) + pop (0+2) + pop dph + pop dpl + pop b + pop acc + pop bits + reti +;------------------------------------------------------------ +;Allocation info for local variables in function 'EP0OUT_ISR' +;------------------------------------------------------------ +;------------------------------------------------------------ +; ../../../include/ztex-isr.h:397: static void EP0OUT_ISR () interrupt +; ----------------------------------------- +; function EP0OUT_ISR +; ----------------------------------------- +_EP0OUT_ISR: + push bits + push acc + push b + push dpl + push dph + push (0+2) + push (0+3) + push (0+4) + push (0+5) + push (0+6) + push (0+7) + push (0+0) + push (0+1) + push psw + mov psw,#0x00 +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + clr _EUSB +; ../../../include/ztex-isr.h:400: if ( ep0_vendor_cmd_setup ) { + mov dptr,#_ep0_vendor_cmd_setup + movx a,@dptr + mov r2,a + jz 00102$ +; ../../../include/ztex-isr.h:401: ep0_vendor_cmd_setup = 0; + mov dptr,#_ep0_vendor_cmd_setup + clr a + movx @dptr,a +; ../../../include/ztex-isr.h:402: ep0_payload_remaining = (SETUPDAT[7] << 8) | SETUPDAT[6]; + mov dptr,#(_SETUPDAT + 0x0007) + movx a,@dptr + mov r3,a + mov r2,#0x00 + mov dptr,#(_SETUPDAT + 0x0006) + movx a,@dptr + mov r4,a + mov r5,#0x00 + mov dptr,#_ep0_payload_remaining + mov a,r4 + orl a,r2 + movx @dptr,a + mov a,r5 + orl a,r3 + inc dptr + movx @dptr,a +; ../../../include/ztex-isr.h:403: ep0_vendor_cmd_su(); + lcall _ep0_vendor_cmd_su +00102$: +; ../../../include/ztex-isr.h:406: ep0_payload_update(); + lcall _ep0_payload_update +; ../../../include/ztex-isr.h:408: switch ( ep0_prev_setup_request ) { + mov dptr,#_ep0_prev_setup_request + movx a,@dptr + mov r2,a + cjne r2,#0x39,00104$ +; ../../../include/ztex-eeprom.h:237: eeprom_write_ep0(EP0BCL); + mov dptr,#_EP0BCL + movx a,@dptr + mov dpl,a + lcall _eeprom_write_ep0 +; ../../../include/ztex-isr.h:410: } +00104$: +; ../../../include/ztex-isr.h:412: EP0BCL = 0; + mov dptr,#_EP0BCL + clr a + movx @dptr,a +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + anl _EXIF,#0xEF + mov dptr,#_EPIRQ + mov a,#0x02 + movx @dptr,a +; ../../../include/ztex-isr.h:416: if ( ep0_payload_remaining == 0 ) { + mov dptr,#_ep0_payload_remaining + movx a,@dptr + mov r2,a + inc dptr + movx a,@dptr + mov r3,a + orl a,r2 + jnz 00106$ +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + mov dptr,#_EP0CS + movx a,@dptr + mov r2,a + orl a,#0x80 + movx @dptr,a +00106$: +; ../../../include/ztex-isr.h:419: EUSB = 1; + setb _EUSB + pop psw + pop (0+1) + pop (0+0) + pop (0+7) + pop (0+6) + pop (0+5) + pop (0+4) + pop (0+3) + pop (0+2) + pop dph + pop dpl + pop b + pop acc + pop bits + reti +;------------------------------------------------------------ +;Allocation info for local variables in function 'EP1IN_ISR' +;------------------------------------------------------------ +;------------------------------------------------------------ +; ../../../include/ztex-isr.h:426: void EP1IN_ISR() interrupt +; ----------------------------------------- +; function EP1IN_ISR +; ----------------------------------------- +_EP1IN_ISR: + push acc + push dpl + push dph +; ../../../include/ztex-isr.h:428: EXIF &= ~bmBIT4; + anl _EXIF,#0xEF +; ../../../include/ztex-isr.h:429: EPIRQ = bmBIT2; + mov dptr,#_EPIRQ + mov a,#0x04 + movx @dptr,a + pop dph + pop dpl + pop acc + reti +; eliminated unneeded push/pop psw +; eliminated unneeded push/pop b +;------------------------------------------------------------ +;Allocation info for local variables in function 'EP1OUT_ISR' +;------------------------------------------------------------ +;------------------------------------------------------------ +; ../../../include/ztex-isr.h:436: void EP1OUT_ISR() interrupt +; ----------------------------------------- +; function EP1OUT_ISR +; ----------------------------------------- +_EP1OUT_ISR: + push acc + push dpl + push dph +; ../../../include/ztex-isr.h:438: EXIF &= ~bmBIT4; + anl _EXIF,#0xEF +; ../../../include/ztex-isr.h:439: EPIRQ = bmBIT3; + mov dptr,#_EPIRQ + mov a,#0x08 + movx @dptr,a + pop dph + pop dpl + pop acc + reti +; eliminated unneeded push/pop psw +; eliminated unneeded push/pop b +;------------------------------------------------------------ +;Allocation info for local variables in function 'EP2_ISR' +;------------------------------------------------------------ +;------------------------------------------------------------ +; ../../../include/ztex-isr.h:445: void EP2_ISR() interrupt +; ----------------------------------------- +; function EP2_ISR +; ----------------------------------------- +_EP2_ISR: + push acc + push dpl + push dph +; ../../../include/ztex-isr.h:447: EXIF &= ~bmBIT4; + anl _EXIF,#0xEF +; ../../../include/ztex-isr.h:448: EPIRQ = bmBIT4; + mov dptr,#_EPIRQ + mov a,#0x10 + movx @dptr,a + pop dph + pop dpl + pop acc + reti +; eliminated unneeded push/pop psw +; eliminated unneeded push/pop b +;------------------------------------------------------------ +;Allocation info for local variables in function 'EP4_ISR' +;------------------------------------------------------------ +;------------------------------------------------------------ +; ../../../include/ztex-isr.h:454: void EP4_ISR() interrupt +; ----------------------------------------- +; function EP4_ISR +; ----------------------------------------- +_EP4_ISR: + push acc + push dpl + push dph +; ../../../include/ztex-isr.h:456: EXIF &= ~bmBIT4; + anl _EXIF,#0xEF +; ../../../include/ztex-isr.h:457: EPIRQ = bmBIT5; + mov dptr,#_EPIRQ + mov a,#0x20 + movx @dptr,a + pop dph + pop dpl + pop acc + reti +; eliminated unneeded push/pop psw +; eliminated unneeded push/pop b +;------------------------------------------------------------ +;Allocation info for local variables in function 'EP6_ISR' +;------------------------------------------------------------ +;------------------------------------------------------------ +; ../../../include/ztex-isr.h:463: void EP6_ISR() interrupt +; ----------------------------------------- +; function EP6_ISR +; ----------------------------------------- +_EP6_ISR: + push acc + push dpl + push dph +; ../../../include/ztex-isr.h:465: EXIF &= ~bmBIT4; + anl _EXIF,#0xEF +; ../../../include/ztex-isr.h:466: EPIRQ = bmBIT6; + mov dptr,#_EPIRQ + mov a,#0x40 + movx @dptr,a + pop dph + pop dpl + pop acc + reti +; eliminated unneeded push/pop psw +; eliminated unneeded push/pop b +;------------------------------------------------------------ +;Allocation info for local variables in function 'EP8_ISR' +;------------------------------------------------------------ +;------------------------------------------------------------ +; ../../../include/ztex-isr.h:472: void EP8_ISR() interrupt +; ----------------------------------------- +; function EP8_ISR +; ----------------------------------------- +_EP8_ISR: + push acc + push dpl + push dph +; ../../../include/ztex-isr.h:474: EXIF &= ~bmBIT4; + anl _EXIF,#0xEF +; ../../../include/ztex-isr.h:475: EPIRQ = bmBIT7; + mov dptr,#_EPIRQ + mov a,#0x80 + movx @dptr,a + pop dph + pop dpl + pop acc + reti +; eliminated unneeded push/pop psw +; eliminated unneeded push/pop b +;------------------------------------------------------------ +;Allocation info for local variables in function 'init_USB' +;------------------------------------------------------------ +;------------------------------------------------------------ +; ../../../include/ztex.h:165: void init_USB () +; ----------------------------------------- +; function init_USB +; ----------------------------------------- +_init_USB: +; ../../../include/ztex.h:167: USBCS |= 0x08; + mov dptr,#_USBCS + movx a,@dptr + orl a,#0x08 + movx @dptr,a +; ../../../include/ztex.h:169: CPUCS = bmBIT4 | bmBIT1; + mov dptr,#_CPUCS + mov a,#0x12 + movx @dptr,a +; ../../../include/ztex.h:170: CKCON &= ~7; + anl _CKCON,#0xF8 +; ../../../include/ztex.h:191: EA = 0; + clr _EA +; ../../../include/ztex.h:192: EUSB = 0; + clr _EUSB +; ../../../include/ezintavecs.h:123: INT8VEC_USB.op=0x02; + mov dptr,#_INT8VEC_USB + mov a,#0x02 + movx @dptr,a +; ../../../include/ezintavecs.h:124: INT8VEC_USB.addrH = 0x01; + mov dptr,#(_INT8VEC_USB + 0x0001) + mov a,#0x01 + movx @dptr,a +; ../../../include/ezintavecs.h:125: INT8VEC_USB.addrL = 0xb8; + mov dptr,#(_INT8VEC_USB + 0x0002) + mov a,#0xB8 + movx @dptr,a +; ../../../include/ezintavecs.h:126: INTSETUP |= 8; + mov dptr,#_INTSETUP + movx a,@dptr + orl a,#0x08 + movx @dptr,a +; ../../../include/ezintavecs.h:115: $0.op=0x02; + mov dptr,#_INTVEC_SUDAV + mov a,#0x02 + movx @dptr,a +; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8; + mov r2,#_SUDAV_ISR + mov r3,#(_SUDAV_ISR >> 8) + mov ar4,r3 + mov dptr,#(_INTVEC_SUDAV + 0x0001) + mov a,r4 + movx @dptr,a +; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1); + mov dptr,#(_INTVEC_SUDAV + 0x0002) + mov a,r2 + movx @dptr,a +; ../../../include/ezintavecs.h:115: $0.op=0x02; + mov dptr,#_INTVEC_SOF + mov a,#0x02 + movx @dptr,a +; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8; + mov r2,#_SOF_ISR + mov r3,#(_SOF_ISR >> 8) + mov ar4,r3 + mov dptr,#(_INTVEC_SOF + 0x0001) + mov a,r4 + movx @dptr,a +; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1); + mov dptr,#(_INTVEC_SOF + 0x0002) + mov a,r2 + movx @dptr,a +; ../../../include/ezintavecs.h:115: $0.op=0x02; + mov dptr,#_INTVEC_SUTOK + mov a,#0x02 + movx @dptr,a +; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8; + mov r2,#_SUTOK_ISR + mov r3,#(_SUTOK_ISR >> 8) + mov ar4,r3 + mov dptr,#(_INTVEC_SUTOK + 0x0001) + mov a,r4 + movx @dptr,a +; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1); + mov dptr,#(_INTVEC_SUTOK + 0x0002) + mov a,r2 + movx @dptr,a +; ../../../include/ezintavecs.h:115: $0.op=0x02; + mov dptr,#_INTVEC_SUSPEND + mov a,#0x02 + movx @dptr,a +; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8; + mov r2,#_SUSP_ISR + mov r3,#(_SUSP_ISR >> 8) + mov ar4,r3 + mov dptr,#(_INTVEC_SUSPEND + 0x0001) + mov a,r4 + movx @dptr,a +; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1); + mov dptr,#(_INTVEC_SUSPEND + 0x0002) + mov a,r2 + movx @dptr,a +; ../../../include/ezintavecs.h:115: $0.op=0x02; + mov dptr,#_INTVEC_USBRESET + mov a,#0x02 + movx @dptr,a +; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8; + mov r2,#_URES_ISR + mov r3,#(_URES_ISR >> 8) + mov ar4,r3 + mov dptr,#(_INTVEC_USBRESET + 0x0001) + mov a,r4 + movx @dptr,a +; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1); + mov dptr,#(_INTVEC_USBRESET + 0x0002) + mov a,r2 + movx @dptr,a +; ../../../include/ezintavecs.h:115: $0.op=0x02; + mov dptr,#_INTVEC_HISPEED + mov a,#0x02 + movx @dptr,a +; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8; + mov r2,#_HSGRANT_ISR + mov r3,#(_HSGRANT_ISR >> 8) + mov ar4,r3 + mov dptr,#(_INTVEC_HISPEED + 0x0001) + mov a,r4 + movx @dptr,a +; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1); + mov dptr,#(_INTVEC_HISPEED + 0x0002) + mov a,r2 + movx @dptr,a +; ../../../include/ezintavecs.h:115: $0.op=0x02; + mov dptr,#_INTVEC_EP0ACK + mov a,#0x02 + movx @dptr,a +; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8; + mov r2,#_EP0ACK_ISR + mov r3,#(_EP0ACK_ISR >> 8) + mov ar4,r3 + mov dptr,#(_INTVEC_EP0ACK + 0x0001) + mov a,r4 + movx @dptr,a +; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1); + mov dptr,#(_INTVEC_EP0ACK + 0x0002) + mov a,r2 + movx @dptr,a +; ../../../include/ezintavecs.h:115: $0.op=0x02; + mov dptr,#_INTVEC_EP0IN + mov a,#0x02 + movx @dptr,a +; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8; + mov r2,#_EP0IN_ISR + mov r3,#(_EP0IN_ISR >> 8) + mov ar4,r3 + mov dptr,#(_INTVEC_EP0IN + 0x0001) + mov a,r4 + movx @dptr,a +; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1); + mov dptr,#(_INTVEC_EP0IN + 0x0002) + mov a,r2 + movx @dptr,a +; ../../../include/ezintavecs.h:115: $0.op=0x02; + mov dptr,#_INTVEC_EP0OUT + mov a,#0x02 + movx @dptr,a +; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8; + mov r2,#_EP0OUT_ISR + mov r3,#(_EP0OUT_ISR >> 8) + mov ar4,r3 + mov dptr,#(_INTVEC_EP0OUT + 0x0001) + mov a,r4 + movx @dptr,a +; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1); + mov dptr,#(_INTVEC_EP0OUT + 0x0002) + mov a,r2 + movx @dptr,a +; ../../../include/ezintavecs.h:115: $0.op=0x02; + mov dptr,#_INTVEC_EP1IN + mov a,#0x02 + movx @dptr,a +; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8; + mov r2,#_EP1IN_ISR + mov r3,#(_EP1IN_ISR >> 8) + mov ar4,r3 + mov dptr,#(_INTVEC_EP1IN + 0x0001) + mov a,r4 + movx @dptr,a +; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1); + mov dptr,#(_INTVEC_EP1IN + 0x0002) + mov a,r2 + movx @dptr,a +; ../../../include/ezintavecs.h:115: $0.op=0x02; + mov dptr,#_INTVEC_EP1OUT + mov a,#0x02 + movx @dptr,a +; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8; + mov r2,#_EP1OUT_ISR + mov r3,#(_EP1OUT_ISR >> 8) + mov ar4,r3 + mov dptr,#(_INTVEC_EP1OUT + 0x0001) + mov a,r4 + movx @dptr,a +; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1); + mov dptr,#(_INTVEC_EP1OUT + 0x0002) + mov a,r2 + movx @dptr,a +; ../../../include/ezintavecs.h:115: $0.op=0x02; + mov dptr,#_INTVEC_EP2 + mov a,#0x02 + movx @dptr,a +; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8; + mov r2,#_EP2_ISR + mov r3,#(_EP2_ISR >> 8) + mov ar4,r3 + mov dptr,#(_INTVEC_EP2 + 0x0001) + mov a,r4 + movx @dptr,a +; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1); + mov dptr,#(_INTVEC_EP2 + 0x0002) + mov a,r2 + movx @dptr,a +; ../../../include/ezintavecs.h:115: $0.op=0x02; + mov dptr,#_INTVEC_EP4 + mov a,#0x02 + movx @dptr,a +; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8; + mov r2,#_EP4_ISR + mov r3,#(_EP4_ISR >> 8) + mov ar4,r3 + mov dptr,#(_INTVEC_EP4 + 0x0001) + mov a,r4 + movx @dptr,a +; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1); + mov dptr,#(_INTVEC_EP4 + 0x0002) + mov a,r2 + movx @dptr,a +; ../../../include/ezintavecs.h:115: $0.op=0x02; + mov dptr,#_INTVEC_EP6 + mov a,#0x02 + movx @dptr,a +; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8; + mov r2,#_EP6_ISR + mov r3,#(_EP6_ISR >> 8) + mov ar4,r3 + mov dptr,#(_INTVEC_EP6 + 0x0001) + mov a,r4 + movx @dptr,a +; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1); + mov dptr,#(_INTVEC_EP6 + 0x0002) + mov a,r2 + movx @dptr,a +; ../../../include/ezintavecs.h:115: $0.op=0x02; + mov dptr,#_INTVEC_EP8 + mov a,#0x02 + movx @dptr,a +; ../../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8; + mov r2,#_EP8_ISR + mov r3,#(_EP8_ISR >> 8) + mov ar4,r3 + mov dptr,#(_INTVEC_EP8 + 0x0001) + mov a,r4 + movx @dptr,a +; ../../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1); + mov dptr,#(_INTVEC_EP8 + 0x0002) + mov a,r2 + movx @dptr,a +; ../../../include/ztex.h:213: EXIF &= ~bmBIT4; + anl _EXIF,#0xEF +; ../../../include/ztex.h:214: USBIRQ = 0x7f; + mov dptr,#_USBIRQ + mov a,#0x7F + movx @dptr,a +; ../../../include/ztex.h:215: USBIE |= 0x7f; + mov dptr,#_USBIE + movx a,@dptr + mov r2,a + orl a,#0x7F + movx @dptr,a +; ../../../include/ztex.h:216: EPIRQ = 0xff; + mov dptr,#_EPIRQ + mov a,#0xFF + movx @dptr,a +; ../../../include/ztex.h:217: EPIE = 0xff; + mov dptr,#_EPIE + mov a,#0xFF + movx @dptr,a +; ../../../include/ztex.h:219: EUSB = 1; + setb _EUSB +; ../../../include/ztex.h:220: EA = 1; + setb _EA +; ../../../include/ztex.h:154: EP$0CFG = bmBIT7 | bmBIT5; + mov dptr,#_EP1INCFG + mov a,#0xA0 + movx @dptr,a +; ../../../include/ezregs.h:46: _endasm; + + nop + nop + nop + nop + +; ../../../include/ztex.h:154: EP$0CFG = bmBIT7 | bmBIT5; + mov dptr,#_EP1OUTCFG + mov a,#0xA0 + movx @dptr,a +; ../../../include/ezregs.h:46: _endasm; + + nop + nop + nop + nop + +; ../../../include/ztex.h:149: ; + mov dptr,#_EP2CFG + clr a + movx @dptr,a +; ../../../include/ezregs.h:46: _endasm; + + nop + nop + nop + nop + +; ../../../include/ztex.h:149: ; + mov dptr,#_EP4CFG + clr a + movx @dptr,a +; ../../../include/ezregs.h:46: _endasm; + + nop + nop + nop + nop + +; ../../../include/ztex.h:149: ; + mov dptr,#_EP6CFG + clr a + movx @dptr,a +; ../../../include/ezregs.h:46: _endasm; + + nop + nop + nop + nop + +; ../../../include/ztex.h:149: ; + mov dptr,#_EP8CFG + clr a + movx @dptr,a +; ../../../include/ezregs.h:46: _endasm; + + nop + nop + nop + nop + +; ../../../include/ztex.h:236: debug_init(); + lcall _debug_init +; ../../../include/ztex.h:239: USBCS |= bmBIT7 | bmBIT1; + mov dptr,#_USBCS + movx a,@dptr + orl a,#0x82 + movx @dptr,a +; ../../../include/ztex.h:240: wait(250); + mov dptr,#0x00FA + lcall _wait +; ../../../include/ztex.h:241: USBCS &= ~0x08; + mov dptr,#_USBCS + movx a,@dptr + anl a,#0xF7 + movx @dptr,a + ret +;------------------------------------------------------------ +;Allocation info for local variables in function 'main' +;------------------------------------------------------------ +;i Allocated to registers +;b Allocated to registers r4 +;------------------------------------------------------------ +; debug.c:32: void main(void) +; ----------------------------------------- +; function main +; ----------------------------------------- +_main: +; debug.c:38: init_USB(); + lcall _init_USB +; debug.c:41: while (1) { + mov r2,#0x00 + mov r3,#0x00 +00102$: +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + mov ar4,r2 + mov dptr,#_debug_msg_buf + mov a,r4 + movx @dptr,a +; debug.c:44: debug_msg_buf[1] = i >> 8; + mov ar4,r3 + mov dptr,#(_debug_msg_buf + 0x0001) + mov a,r4 + movx @dptr,a +; ../../../include/ztex-conf.h:30: ][#noexpand[!dnapxeon!]//$0!dnapxeon! + push ar2 + push ar3 + lcall _debug_add_msg + pop ar3 + pop ar2 +; debug.c:46: i+=1; + inc r2 + cjne r2,#0x00,00113$ + inc r3 +00113$: +; debug.c:30: #include[ztex.h] + mov r4,#0x00 +00104$: + cjne r4,#0x64,00114$ +00114$: + jnc 00102$ + mov dptr,#_debug_stack_ptr + movx a,@dptr + mov r5,a + inc dptr + movx a,@dptr + mov r6,a + mov dpl,r5 + mov dph,r6 + inc dptr + inc dptr + mov a,r4 + movx @dptr,a + mov dptr,#0x000A + push ar2 + push ar3 + push ar4 + lcall _wait + pop ar4 + pop ar3 + pop ar2 + inc r4 + sjmp 00104$ + .area CSEG (CODE) + .area CONST (CODE) +_manufacturerString: + .ascii "ZTEX" + .db 0x00 +_productString: + .ascii "debug for EZ-USB devices" + .db 0x00 +_configurationString: + .ascii "(unknown)" + .db 0x00 +_PadByte: + .db #0x00 +_DeviceDescriptor: + .db #0x12 + .db #0x01 + .db #0x00 + .db #0x02 + .db #0xFF + .db #0xFF + .db #0xFF + .db #0x40 + .db #0x1A + .db #0x22 + .db #0x00 + .db #0x01 + .db #0x00 + .db #0x00 + .db #0x01 + .db #0x02 + .db #0x03 + .db #0x01 +_DeviceQualifierDescriptor: + .db #0x0A + .db #0x06 + .db #0x00 + .db #0x02 + .db #0xFF + .db #0xFF + .db #0xFF + .db #0x40 + .db #0x01 + .db #0x00 +_HighSpeedConfigDescriptor: + .db #0x09 + .db #0x02 + .db #0x20 + .db #0x00 + .db #0x01 + .db #0x01 + .db #0x04 + .db #0xC0 + .db #0x32 + .db #0x09 + .db #0x04 + .db #0x00 + .db #0x00 + .db #0x02 + .db #0xFF + .db #0xFF + .db #0xFF + .db #0x00 + .db #0x07 + .db #0x05 + .db #0x81 + .db #0x02 + .db #0x00 + .db #0x02 + .db #0x00 + .db #0x07 + .db #0x05 + .db #0x01 + .db #0x02 + .db #0x00 + .db #0x02 + .db #0x00 +_HighSpeedConfigDescriptor_PadByte: + .db #0x00 + .db 0x00 +_FullSpeedConfigDescriptor: + .db #0x09 + .db #0x02 + .db #0x20 + .db #0x00 + .db #0x01 + .db #0x01 + .db #0x04 + .db #0xC0 + .db #0x32 + .db #0x09 + .db #0x04 + .db #0x00 + .db #0x00 + .db #0x02 + .db #0xFF + .db #0xFF + .db #0xFF + .db #0x00 + .db #0x07 + .db #0x05 + .db #0x81 + .db #0x02 + .db #0x40 + .db #0x00 + .db #0x00 + .db #0x07 + .db #0x05 + .db #0x01 + .db #0x02 + .db #0x40 + .db #0x00 + .db #0x00 +_FullSpeedConfigDescriptor_PadByte: + .db #0x00 + .db 0x00 +_EmptyStringDescriptor: + .db #0x04 + .db #0x03 + .db #0x00 + .db #0x00 + .area XINIT (CODE) +__xinit__ep0_payload_remaining: + .byte #0x00,#0x00 +__xinit__ep0_payload_transfer: + .db #0x00 +__xinit__ep0_prev_setup_request: + .db #0xFF +__xinit__ep0_vendor_cmd_setup: + .db #0x00 +__xinit__ISOFRAME_COUNTER: + .byte #0x00,#0x00 + .byte #0x00,#0x00 + .byte #0x00,#0x00 + .byte #0x00,#0x00 + .area CABS (ABS,CODE) Index: debug/Debug.java =================================================================== --- debug/Debug.java (nonexistent) +++ debug/Debug.java (revision 3) @@ -0,0 +1,146 @@ +/*! + debug -- debug helper example + Copyright (C) 2009-2010 ZTEX e.K. + http://www.ztex.de + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License version 3 as + published by the Free Software Foundation. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see http://www.gnu.org/licenses/. +!*/ + +import java.io.*; +import java.util.*; + +import ch.ntb.usb.*; + +import ztex.*; + +// ***************************************************************************** +// ******* ParameterException ************************************************** +// ***************************************************************************** +// Exception the prints a help message +class ParameterException extends Exception { + public final static String helpMsg = new String ( + "Parameters:\n"+ + " -d Device Number (default: 0)\n" + + " -f Force uploads\n" + + " -p Print bus info\n" + + " -w Enable certain workarounds\n"+ + " -h This help" ); + + public ParameterException (String msg) { + super( msg + "\n" + helpMsg ); + } +} + +// ***************************************************************************** +// ******* Test0 *************************************************************** +// ***************************************************************************** +class Debug extends Ztex1v1 { + +// ******* Debug *************************************************************** +// constructor + public Debug ( ZtexDevice1 pDev ) throws UsbException { + super ( pDev ); + } + +// ******* main **************************************************************** + public static void main (String args[]) { + + int devNum = 0; + boolean force = false; + boolean workarounds = false; + + try { +// init USB stuff + LibusbJava.usb_init(); + +// scan the USB bus + ZtexScanBus1 bus = new ZtexScanBus1( ZtexDevice1.ztexVendorId, ZtexDevice1.ztexProductId, true, false, 1); + if ( bus.numberOfDevices() <= 0) { + System.err.println("No devices found"); + System.exit(0); + } + +// scan the command line arguments + for (int i=0; i=args.length) throw new Exception(); + devNum = Integer.parseInt( args[i] ); + } + catch (Exception e) { + throw new ParameterException("Device number expected after -d"); + } + } + else if ( args[i].equals("-f") ) { + force = true; + } + else if ( args[i].equals("-p") ) { + bus.printBus(System.out); + System.exit(0); + } + else if ( args[i].equals("-p") ) { + bus.printBus(System.out); + System.exit(0); + } + else if ( args[i].equals("-w") ) { + workarounds = true; + } + else if ( args[i].equals("-h") ) { + System.err.println(ParameterException.helpMsg); + System.exit(0); + } + else throw new ParameterException("Invalid Parameter: "+args[i]); + } + + +// create the main class + Debug ztex = new Debug ( bus.device(devNum) ); + ztex.certainWorkarounds = workarounds; + +// upload the firmware if necessary + if ( force || ! ztex.valid() || ! ztex.dev().productString().equals("debug for EZ-USB devices") ) { + System.out.println("Firmware upload time: " + ztex.uploadFirmware( "debug.ihx", force ) + " ms"); + } + +// claim interface 0 + ztex.trySetConfiguration ( 1 ); + ztex.claimInterface ( 0 ); + +// read string from stdin and write it to USB device + byte[] buf = new byte[30]; + BufferedReader reader = new BufferedReader( new InputStreamReader( System.in ) ); + for (int i=0; i<20; i++ ) { + try { + Thread.sleep( 2345 ); + } + catch ( InterruptedException e) { + } + int j = ztex.debugReadMessages(false,buf); + System.out.print(ztex.debugNewMessages + " new messages: "); + for (int k=0; k 0 ) System.out.print(" "); + System.out.println( ((buf[k*3] & 255) | ((buf[k*3+1] & 255)<<8)) + (buf[k*3+2] & 255)*0.01 ); + } + } + +// release interface 0 + ztex.releaseInterface(0); + + } + catch (Exception e) { + System.out.println("Error: "+e.getLocalizedMessage() ); + } + } + +} Index: debug/debug.tmp.c =================================================================== --- debug/debug.tmp.c (nonexistent) +++ debug/debug.tmp.c (revision 3) @@ -0,0 +1,3561 @@ +#line 1 "debug.c" +/*! + debug -- debug helper example + Copyright (C) 2009-2010 ZTEX e.K. + http://www.ztex.de + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License version 3 as + published by the Free Software Foundation. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see http://www.gnu.org/licenses/. +!*/ + + +#line 1 "../../../include/ztex-conf.h" +/*! + ZTEX Firmware Kit for EZ-USB Microcontrollers + Copyright (C) 2009-2010 ZTEX e.K. + http://www.ztex.de + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License version 3 as + published by the Free Software Foundation. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see http://www.gnu.org/licenses/. +!*/ + +/* + Configuration macros +*/ + +#line 25 "../../../include/ztex-conf.h" + +/* + Don't expand macros in comments +*/ +#line 33 "../../../include/ztex-conf.h" + +/* + This macro defines the USB Vendor ID and USB Product ID (not the product ID + from the ZTEX descriptor). The Vendor ID must be purchased from the USB-IF + (http://www.usb.org). + + The default vendor ID is the ZTEX vendor ID 0x221A, default product ID is + 0x100 which is assigned to ZTEX modules. These ID's can be shared by many + different products which are identified by the product ID of the ZTEX + descriptor. According to the USB-IF rules these ID's must not be used by + hardware which is not manufactured by ZTEX. (Of course, this ID's can be + used during the development process or for internal purposes.) + + Please read the http://www.ztex.de/firmware-kit/usb_ids.e.html for more + informations about this topic. + + Usage: + SET_VPID(,); +*/ +#line 55 "../../../include/ztex-conf.h" + +/* + This macro is called before FPGA Firmware is reset, e.g. to save some + settings. After this macro is called the I/O ports are set to default + states in order to avoid damage during / after the FPGA configuration. + To append something to this macro use the following definition: +#define[PRE_FPGA_RESET][PRE_FPGA_RESET +...] +*/ +#line 65 "../../../include/ztex-conf.h" + + +/* + This macro is called after FPGA Firmware has been configured. This is + usually used to configure the I/O ports. + To append something to this macro use the following definition: +#define[POST_FW_LOAD][POST_FW_LOAD +...] +*/ +#line 75 "../../../include/ztex-conf.h" + + + +/* + Add a vedor request for endpoint 0, + + Usage: + ADD_EP0_VENDOR_REQUEST((,,,,'')); + Example: + ADD_EP0_VENDOR_REQUEST((0x33,,initHSFPGAConfiguration();,,));; +...] +*/ +#line 99 "../../../include/ztex-conf.h" + + +/* + Add a vedor command for endpoint 0, + + Usage: + ADD_EP0_VENDOR_COMMAND((,,,,'')); + Example: + ADD_EP0_VENDOR_COMMAND((0x33,,initHSFPGAConfiguration();,,));; +...] +*/ +#line 122 "../../../include/ztex-conf.h" + +/* + This macro generates a EP0 stall and aborts the current loop. Stalls are usually used to indicate errors. +*/ +#line 131 "../../../include/ztex-conf.h" + + +/* + Endoint 1,2,4,5,8 configuration: + + EP_CONFIG(,,,,,) + = 1IN | 1OUT | 2 | 4 | 6 | 8 Endpoint number + = 0 | 1 | 2 | 3 To which interface this endpoint belongs + = BULK | ISO | INT + = IN | OUT + = 512 | 1024 + = 1 | 2 | 3 | 4 + Example: EP_CONFIG(2,0,ISO,OUT,1024,4); + Important note: No spaces next to the commas + + + Endpoint 1 configuration: + + These Endpoints are defined by default as bulk endpoints and are assigned to interface 0. + Endpoint size is always 64 bytes, but reported Endpoint size will be 512 bytes for USB 2.0 compliance. + + These Endpoints can be redefined using EP_CONFIG or using: + + EP1IN_CONFIG(); + = 0 | 1 | 2 | 3 Interface to which EP1IN belongs; default: 0 + EP1OUT_CONFIG(); + = 0 | 1 | 2 | 3 Interface to which EP1OUT belongs; default: 0 + EP1_CONFIG(); + = 0 | 1 | 2 | 3 Interface to which EP1IN and EP1OUT belongs; default: 0 + + The following (maximum) configurations are possible: + EP2 EP4 EP6 EP8 + 2x512 2x512 2x512 2x512 + 2x512 2x512 4x512 + 2x512 2x512 2x1024 + 4x512 2x512 2x512 + 4x512 4x512 + 4x512 2x1024 + 2x1024 2x512 2x512 + 2x1024 4x512 + 2x1024 2x1024 + 3x512 3x512 2x512 + 3x1024 2x512 + 4x1024 +*/ +#line 215 "../../../include/ztex-conf.h" + +#line 220 "../../../include/ztex-conf.h" + +#line 176 "../../../include/ztex-conf.h" + +#line 176 "../../../include/ztex-conf.h" + +#line 223 "../../../include/ztex-conf.h" + +/* + ISO and INT Transactions per microframe: + + Default value is 1 for all endpoints. + + EP_PPMF(,) + = 1IN | 1OUT | 2 | 4 | 6 | 8 Endpoint + = 1 | 2 | 3 Transactions per microframe + + Example: EP_PPMF(2,3); + Important note: No spaces next to the commas +*/ +#line 251 "../../../include/ztex-conf.h" + +#line 236 "../../../include/ztex-conf.h" + +#line 236 "../../../include/ztex-conf.h" + +#line 236 "../../../include/ztex-conf.h" + +#line 236 "../../../include/ztex-conf.h" + +#line 236 "../../../include/ztex-conf.h" + +#line 236 "../../../include/ztex-conf.h" + +#line 258 "../../../include/ztex-conf.h" + +/* + Polling interval in microframes for INT transactions: + + Default value is 1 for all endpoints. + + EP_POLL(,) + = 1IN | 1OUT | 2 | 4 | 6 | 8 Endpoint + = 1 | 2 | 3 Polling interval + + Example: EP_POLL(2,1); + Important note: No spaces next to the commas +*/ +#line 281 "../../../include/ztex-conf.h" + +#line 271 "../../../include/ztex-conf.h" + +#line 271 "../../../include/ztex-conf.h" + +#line 271 "../../../include/ztex-conf.h" + +#line 271 "../../../include/ztex-conf.h" + +#line 271 "../../../include/ztex-conf.h" + +#line 271 "../../../include/ztex-conf.h" + +#line 288 "../../../include/ztex-conf.h" + + + +/* + Settings which depends PRODUCT_ID, e.g extra capabilities. + Overwrite this macros as desired. +*/ +#line 307 "../../../include/ztex-conf.h" + +#line 309 "../../../include/ztex-conf.h" + +#line 314 "../../../include/ztex-conf.h" + + +/* + Identify as ZTEX USB FPGA Module 1.0 + Usage: IDENTITY_UFM_1_0(..,); +*/ +#line 327 "../../../include/ztex-conf.h" + + +/* + Identify as ZTEX USB FPGA Module 1.1 + Usage: IDENTITY_UFM_1_1(..,); +*/ +#line 340 "../../../include/ztex-conf.h" + + +/* + Identify as ZTEX USB FPGA Module 1.2 + Usage: IDENTITY_UFM_1_2(..,); +*/ +#line 353 "../../../include/ztex-conf.h" + +/* + Identify as ZTEX USB FPGA Module 1.10 + Usage: IDENTITY_UFM_1_10(..,); +*/ +#line 365 "../../../include/ztex-conf.h" + +/* + Identify as ZTEX USB FPGA Module 1.11 + Usage: IDENTITY_UFM_1_10(..,); +*/ +#line 377 "../../../include/ztex-conf.h" + + +/* + Identify as ZTEX USB Module 1.0 + Usage: IDENTITY_UM_1_0(..,); +*/ +#line 390 "../../../include/ztex-conf.h" + + +/* + This macro defines the Manufacturer string. Limited to 31 characters. +*/ +#line 396 "../../../include/ztex-conf.h" + + +/* + This macro defines the Product string. Limited to 31 characters. +*/ +#line 402 "../../../include/ztex-conf.h" + + +/* + This macro defines the Configuration string. Limited to 31 characters. +*/ +#line 408 "../../../include/ztex-conf.h" + + +/* + This macro enables defines the Configuration string. Limited to 31 characters. +*/ +#line 414 "../../../include/ztex-conf.h" + + +/* + This macro disables EEPROM interface and certain I2C functions (enabled by default) + Usage: DISABLE_EEPROM; +*/ +#line 421 "../../../include/ztex-conf.h" + + +/* + This macro enables the Flash interface, if available + Usage: ENABLE_FLASH; +*/ +#line 428 "../../../include/ztex-conf.h" + +/* + This macro enables the FPGA configuration using a bitstream from the Flash memory + Usage: ENABLE_FLASH_BITSTREAM; +*/ +#line 434 "../../../include/ztex-conf.h" + +/* + This enables the debug helper. The debug helper consists in a stack of messages which can be read out from host software. + See ../examples/all/debug/Readme. + Usage: ENABLE_DEBUG(,); + number of messages in stack + message size in bytes +*/ +#line 445 "../../../include/ztex-conf.h" + +#line 30 "../../../include/ztex-conf.h" + // Loads the configuration macros, see ztex-conf.h for the available macros +#line 1 "../../../include/ztex-utils.h" +/*! + ZTEX Firmware Kit for EZ-USB Microcontrollers + Copyright (C) 2009-2010 ZTEX e.K. + http://www.ztex.de + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License version 3 as + published by the Free Software Foundation. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see http://www.gnu.org/licenses/. +!*/ + +/* + Various utility routines +*/ + +#line 25 "../../../include/ztex-utils.h" + +#line 34 "../../../include/ztex-utils.h" + +#line 39 "../../../include/ztex-utils.h" + +#line 44 "../../../include/ztex-utils.h" + +typedef unsigned char BYTE; +typedef unsigned short WORD; +typedef unsigned long DWORD; + +#line 1 "../../../include/ezregs.h" +/*! + ZTEX Firmware Kit for EZ-USB Microcontrollers + Copyright (C) 2009-2010 ZTEX e.K. + http://www.ztex.de + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License version 3 as + published by the Free Software Foundation. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see http://www.gnu.org/licenses/. +!*/ + +/* + EZ-USB registers +*/ + +#line 25 "../../../include/ezregs.h" + +#line 1 "../../../include/ztex-utils.h" +/*! + ZTEX Firmware Kit for EZ-USB Microcontrollers + Copyright (C) 2009-2010 ZTEX e.K. + http://www.ztex.de + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License version 3 as + published by the Free Software Foundation. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see http://www.gnu.org/licenses/. +!*/ + +/* + Various utility routines +*/ + +#line 26 "../../../include/ezregs.h" + + +/* This syncronization delay is valid if <= 5/3*, + i.e. if the Interface Clock is equal or greater than 28.8 MHz + + The formula for the synchonization delay is: + + / \ + >= 1.5 * | ----------------- + 1 | + \ / + + Overwrite this macro if this formula is not satisfied +*/ + +#line 49 "../../../include/ezregs.h" + +#line 30 "../../../include/ztex-conf.h" +// GPIF Waveform Memories +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE400 volatile BYTE GPIF_WAVE_DATA[128]; // GPIF Waveform Descriptor 0, 1, 2 3, data +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE400 volatile BYTE GPIF_WAVE0_DATA[32]; // GPIF Waveform Descriptor 0 data +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE420 volatile BYTE GPIF_WAVE1_DATA[32]; // GPIF Waveform Descriptor 1 data +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE440 volatile BYTE GPIF_WAVE2_DATA[32]; // GPIF Waveform Descriptor 2 data +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE460 volatile BYTE GPIF_WAVE3_DATA[32]; // GPIF Waveform Descriptor 3 data +#line 56 "../../../include/ezregs.h" + +#line 30 "../../../include/ztex-conf.h" +// General Configuration +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE50D volatile BYTE GPCR2; // General Purpose Configuration Register 2 +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE600 volatile BYTE CPUCS; // Control & Status +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE601 volatile BYTE IFCONFIG; // Interface Configuration +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE602 volatile BYTE PINFLAGSAB; // FIFO FLAGA and FLAGB Assignments +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE603 volatile BYTE PINFLAGSCD; // FIFO FLAGC and FLAGD Assignments +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE604 volatile BYTE FIFORESET; // Restore FIFOS to default state +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE605 volatile BYTE BREAKPT; // Breakpoint +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE606 volatile BYTE BPADDRH; // Breakpoint Address H +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE607 volatile BYTE BPADDRL; // Breakpoint Address L +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE608 volatile BYTE UART230; // 230 Kbaud clock for T0,T1,T2 +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE609 volatile BYTE FIFOPINPOLAR; // FIFO polarities +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE60A volatile BYTE REVID; // Chip Revision +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE60B volatile BYTE REVCTL; // Chip Revision Control +#line 71 "../../../include/ezregs.h" + +#line 30 "../../../include/ztex-conf.h" +// UDMA +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE60C volatile BYTE GPIFHOLDAMOUNT; // MSTB Hold Time (for UDMA) +#line 74 "../../../include/ezregs.h" + +#line 30 "../../../include/ztex-conf.h" +// Endpoint Configuration +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE610 volatile BYTE EP1OUTCFG; // Endpoint 1-OUT Configuration +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE611 volatile BYTE EP1INCFG; // Endpoint 1-IN Configuration +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE612 volatile BYTE EP2CFG; // Endpoint 2 Configuration +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE613 volatile BYTE EP4CFG; // Endpoint 4 Configuration +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE614 volatile BYTE EP6CFG; // Endpoint 6 Configuration +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE615 volatile BYTE EP8CFG; // Endpoint 8 Configuration +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE618 volatile BYTE EP2FIFOCFG; // Endpoint 2 FIFO configuration +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE619 volatile BYTE EP4FIFOCFG; // Endpoint 4 FIFO configuration +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE61A volatile BYTE EP6FIFOCFG; // Endpoint 6 FIFO configuration +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE61B volatile BYTE EP8FIFOCFG; // Endpoint 8 FIFO configuration +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE620 volatile BYTE EP2AUTOINLENH; // Endpoint 2 Packet Length H (IN only) +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE621 volatile BYTE EP2AUTOINLENL; // Endpoint 2 Packet Length L (IN only) +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE622 volatile BYTE EP4AUTOINLENH; // Endpoint 4 Packet Length H (IN only) +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE623 volatile BYTE EP4AUTOINLENL; // Endpoint 4 Packet Length L (IN only) +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE624 volatile BYTE EP6AUTOINLENH; // Endpoint 6 Packet Length H (IN only) +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE625 volatile BYTE EP6AUTOINLENL; // Endpoint 6 Packet Length L (IN only) +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE626 volatile BYTE EP8AUTOINLENH; // Endpoint 8 Packet Length H (IN only) +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE627 volatile BYTE EP8AUTOINLENL; // Endpoint 8 Packet Length L (IN only) +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE628 volatile BYTE ECCCFG; // ECC Configuration +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE629 volatile BYTE ECCRESET; // ECC Reset +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE62A volatile BYTE ECC1B0; // ECC1 Byte 0 Address +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE62B volatile BYTE ECC1B1; // ECC1 Byte 1 Address +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE62C volatile BYTE ECC1B2; // ECC1 Byte 2 Address +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE62D volatile BYTE ECC2B0; // ECC2 Byte 0 Address +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE62E volatile BYTE ECC2B1; // ECC2 Byte 1 Address +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE62F volatile BYTE ECC2B2; // ECC2 Byte 2 Address +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE630 volatile BYTE EP2FIFOPFH; // EP2 Programmable Flag trigger H +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE631 volatile BYTE EP2FIFOPFL; // EP2 Programmable Flag trigger L +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE632 volatile BYTE EP4FIFOPFH; // EP4 Programmable Flag trigger H +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE633 volatile BYTE EP4FIFOPFL; // EP4 Programmable Flag trigger L +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE634 volatile BYTE EP6FIFOPFH; // EP6 Programmable Flag trigger H +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE635 volatile BYTE EP6FIFOPFL; // EP6 Programmable Flag trigger L +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE636 volatile BYTE EP8FIFOPFH; // EP8 Programmable Flag trigger H +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE637 volatile BYTE EP8FIFOPFL; // EP8 Programmable Flag trigger L +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE640 volatile BYTE EP2ISOINPKTS; // EP2 (if ISO) IN Packets per frame (1-3) +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE641 volatile BYTE EP4ISOINPKTS; // EP4 (if ISO) IN Packets per frame (1-3) +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE642 volatile BYTE EP6ISOINPKTS; // EP6 (if ISO) IN Packets per frame (1-3) +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE643 volatile BYTE EP8ISOINPKTS; // EP8 (if ISO) IN Packets per frame (1-3) +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE648 volatile BYTE INPKTEND; // Force IN Packet End +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE649 volatile BYTE OUTPKTEND; // Force OUT Packet End +#line 116 "../../../include/ezregs.h" + +#line 30 "../../../include/ztex-conf.h" +// Interrupts +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE650 volatile BYTE EP2FIFOIE; // Endpoint 2 Flag Interrupt Enable +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE651 volatile BYTE EP2FIFOIRQ; // Endpoint 2 Flag Interrupt Request +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE652 volatile BYTE EP4FIFOIE; // Endpoint 4 Flag Interrupt Enable +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE653 volatile BYTE EP4FIFOIRQ; // Endpoint 4 Flag Interrupt Request +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE654 volatile BYTE EP6FIFOIE; // Endpoint 6 Flag Interrupt Enable +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE655 volatile BYTE EP6FIFOIRQ; // Endpoint 6 Flag Interrupt Request +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE656 volatile BYTE EP8FIFOIE; // Endpoint 8 Flag Interrupt Enable +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE657 volatile BYTE EP8FIFOIRQ; // Endpoint 8 Flag Interrupt Request +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE658 volatile BYTE IBNIE; // IN-BULK-NAK Interrupt Enable +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE659 volatile BYTE IBNIRQ; // IN-BULK-NAK interrupt Request +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE65A volatile BYTE NAKIE; // Endpoint Ping NAK interrupt Enable +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE65B volatile BYTE NAKIRQ; // Endpoint Ping NAK interrupt Request +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE65C volatile BYTE USBIE; // USB Int Enables +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE65D volatile BYTE USBIRQ; // USB Interrupt Requests +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE65E volatile BYTE EPIE; // Endpoint Interrupt Enables +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE65F volatile BYTE EPIRQ; // Endpoint Interrupt Requests +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE660 volatile BYTE GPIFIE; // GPIF Interrupt Enable +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE661 volatile BYTE GPIFIRQ; // GPIF Interrupt Request +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE662 volatile BYTE USBERRIE; // USB Error Interrupt Enables +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE663 volatile BYTE USBERRIRQ; // USB Error Interrupt Requests +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE664 volatile BYTE ERRCNTLIM; // USB Error counter and limit +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE665 volatile BYTE CLRERRCNT; // Clear Error Counter EC[3..0] +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE666 volatile BYTE INT2IVEC; // Interupt 2 (USB) Autovector +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE667 volatile BYTE INT4IVEC; // Interupt 4 (FIFOS & GPIF) Autovector +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE668 volatile BYTE INTSETUP; // Interrupt 2&4 Setup +#line 143 "../../../include/ezregs.h" + +#line 30 "../../../include/ztex-conf.h" +// Input/Output +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE670 volatile BYTE PORTACFG; // I/O PORTA Alternate Configuration +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE671 volatile BYTE PORTCCFG; // I/O PORTC Alternate Configuration +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE672 volatile BYTE PORTECFG; // I/O PORTE Alternate Configuration +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE678 volatile BYTE I2CS; // Control & Status +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE679 volatile BYTE I2DAT; // Data +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE67A volatile BYTE I2CTL; // I2C Control +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE67B volatile BYTE XAUTODAT1; // Autoptr1 MOVX access +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE67B volatile BYTE EXTAUTODAT1; // Autoptr1 MOVX access +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE67C volatile BYTE XAUTODAT2; // Autoptr2 MOVX access +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE67C volatile BYTE EXTAUTODAT2; // Autoptr2 MOVX access +#line 155 "../../../include/ezregs.h" + +#line 30 "../../../include/ztex-conf.h" +// UDMA CRC +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE67D volatile BYTE UDMACRCH; // UDMA CRC MSB +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE67E volatile BYTE UDMACRCL; // UDMA CRC LSB +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE67F volatile BYTE UDMACRCQUALIFIER; // UDMA CRC Qualifier +#line 160 "../../../include/ezregs.h" + +#line 30 "../../../include/ztex-conf.h" +// USB Control +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE680 volatile BYTE USBCS; // USB Control & Status +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE681 volatile BYTE SUSPEND; // Put chip into suspend +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE682 volatile BYTE WAKEUPCS; // Wakeup source and polarity +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE683 volatile BYTE TOGCTL; // Toggle Control +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE684 volatile BYTE USBFRAMEH; // USB Frame count H +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE685 volatile BYTE USBFRAMEL; // USB Frame count L +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE686 volatile BYTE MICROFRAME; // Microframe count, 0-7 +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE687 volatile BYTE FNADDR; // USB Function address +#line 170 "../../../include/ezregs.h" + +#line 30 "../../../include/ztex-conf.h" +// Endpoints +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE68A volatile BYTE EP0BCH; // Endpoint 0 Byte Count H +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE68B volatile BYTE EP0BCL; // Endpoint 0 Byte Count L +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE68D volatile BYTE EP1OUTBC; // Endpoint 1 OUT Byte Count +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE68F volatile BYTE EP1INBC; // Endpoint 1 IN Byte Count +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE690 volatile BYTE EP2BCH; // Endpoint 2 Byte Count H +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE691 volatile BYTE EP2BCL; // Endpoint 2 Byte Count L +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE694 volatile BYTE EP4BCH; // Endpoint 4 Byte Count H +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE695 volatile BYTE EP4BCL; // Endpoint 4 Byte Count L +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE698 volatile BYTE EP6BCH; // Endpoint 6 Byte Count H +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE699 volatile BYTE EP6BCL; // Endpoint 6 Byte Count L +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE69C volatile BYTE EP8BCH; // Endpoint 8 Byte Count H +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE69D volatile BYTE EP8BCL; // Endpoint 8 Byte Count L +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6A0 volatile BYTE EP0CS; // Endpoint Control and Status +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6A1 volatile BYTE EP1OUTCS; // Endpoint 1 OUT Control and Status +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6A2 volatile BYTE EP1INCS; // Endpoint 1 IN Control and Status +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6A3 volatile BYTE EPXCS[4]; // Endpoint 2-8 Control and Status +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6A3 volatile BYTE EP2CS; // Endpoint 2 Control and Status +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6A4 volatile BYTE EP4CS; // Endpoint 4 Control and Status +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6A5 volatile BYTE EP6CS; // Endpoint 6 Control and Status +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6A6 volatile BYTE EP8CS; // Endpoint 8 Control and Status +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6A7 volatile BYTE EP2FIFOFLGS; // Endpoint 2 Flags +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6A8 volatile BYTE EP4FIFOFLGS; // Endpoint 4 Flags +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6A9 volatile BYTE EP6FIFOFLGS; // Endpoint 6 Flags +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6AA volatile BYTE EP8FIFOFLGS; // Endpoint 8 Flags +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6AB volatile BYTE EP2FIFOBCH; // EP2 FIFO total byte count H +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6AC volatile BYTE EP2FIFOBCL; // EP2 FIFO total byte count L +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6AD volatile BYTE EP4FIFOBCH; // EP4 FIFO total byte count H +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6AE volatile BYTE EP4FIFOBCL; // EP4 FIFO total byte count L +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6AF volatile BYTE EP6FIFOBCH; // EP6 FIFO total byte count H +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6B0 volatile BYTE EP6FIFOBCL; // EP6 FIFO total byte count L +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6B1 volatile BYTE EP8FIFOBCH; // EP8 FIFO total byte count H +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6B2 volatile BYTE EP8FIFOBCL; // EP8 FIFO total byte count L +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6B3 volatile BYTE SUDPTRH; // Setup Data Pointer high address byte +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6B4 volatile BYTE SUDPTRL; // Setup Data Pointer low address byte +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6B5 volatile BYTE SUDPTRCTL; // Setup Data Pointer Auto Mode +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6B8 volatile BYTE SETUPDAT[8]; // 8 bytes of SETUP data +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6B8 volatile BYTE bmRequestType; // Request Type, Direction, and Recipient +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6B9 volatile BYTE bRequest; // The actual request +#line 210 "../../../include/ezregs.h" +xdata at 0xE6BA volatile BYTE wValueL; +xdata at 0xE6BB volatile BYTE wValueH; +xdata at 0xE6BC volatile BYTE wIndexL; +xdata at 0xE6BD volatile BYTE wIndexH; +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6BE volatile BYTE wLengthL; // Number of bytes to transfer if there is a data phase +#line 215 "../../../include/ezregs.h" +xdata at 0xE6BF volatile BYTE wLengthH; + +#line 30 "../../../include/ztex-conf.h" +// GPIF +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6C0 volatile BYTE GPIFWFSELECT; // Waveform Selector +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6C1 volatile BYTE GPIFIDLECS; // GPIF Done, GPIF IDLE drive mode +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6C2 volatile BYTE GPIFIDLECTL; // Inactive Bus, CTL states +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6C3 volatile BYTE GPIFCTLCFG; // CTL OUT pin drive +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6C4 volatile BYTE GPIFADRH; // GPIF Address H +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6C5 volatile BYTE GPIFADRL; // GPIF Address L +#line 224 "../../../include/ezregs.h" + +#line 30 "../../../include/ztex-conf.h" +// FLOWSTATE +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6C6 volatile BYTE FLOWSTATE; // Flowstate Enable and Selector +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6C7 volatile BYTE FLOWLOGIC; // Flowstate Logic +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6C8 volatile BYTE FLOWEQ0CTL; // CTL-Pin States in Flowstate (when Logic = 0) +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6C9 volatile BYTE FLOWEQ1CTL; // CTL-Pin States in Flowstate (when Logic = 1) +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6CA volatile BYTE FLOWHOLDOFF; // Holdoff Configuration +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6CB volatile BYTE FLOWSTB; // Flowstate Strobe Configuration +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6CC volatile BYTE FLOWSTBEDGE; // Flowstate Rising/Falling Edge Configuration +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6CD volatile BYTE FLOWSTBHPERIOD; // Master-Strobe Half-Period +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6CE volatile BYTE GPIFTCB3; // GPIF Transaction Count Byte 3 +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6CF volatile BYTE GPIFTCB2; // GPIF Transaction Count Byte 2 +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6D0 volatile BYTE GPIFTCB1; // GPIF Transaction Count Byte 1 +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6D1 volatile BYTE GPIFTCB0; // GPIF Transaction Count Byte 0 +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6D2 volatile BYTE EP2GPIFFLGSEL; // EP2 GPIF Flag select +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6D3 volatile BYTE EP2GPIFPFSTOP; // Stop GPIF EP2 transaction on prog. flag +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6D4 volatile BYTE EP2GPIFTRIG; // EP2 FIFO Trigger +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6DA volatile BYTE EP4GPIFFLGSEL; // EP4 GPIF Flag select +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6DB volatile BYTE EP4GPIFPFSTOP; // Stop GPIF EP4 transaction on prog. flag +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6DC volatile BYTE EP4GPIFTRIG; // EP4 FIFO Trigger +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6E2 volatile BYTE EP6GPIFFLGSEL; // EP6 GPIF Flag select +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6E3 volatile BYTE EP6GPIFPFSTOP; // Stop GPIF EP6 transaction on prog. flag +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6E4 volatile BYTE EP6GPIFTRIG; // EP6 FIFO Trigger +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6EA volatile BYTE EP8GPIFFLGSEL; // EP8 GPIF Flag select +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6EB volatile BYTE EP8GPIFPFSTOP; // Stop GPIF EP8 transaction on prog. flag +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6EC volatile BYTE EP8GPIFTRIG; // EP8 FIFO Trigger +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6F0 volatile BYTE XGPIFSGLDATH; // GPIF Data H (16-bit mode only) +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6F1 volatile BYTE XGPIFSGLDATLX; // Read/Write GPIF Data L & trigger transac +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6F2 volatile BYTE XGPIFSGLDATLNOX; // Read GPIF Data L, no transac trigger +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6F3 volatile BYTE GPIFREADYCFG; // Internal RDY,Sync/Async, RDY5CFG +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6F4 volatile BYTE GPIFREADYSTAT; // RDY pin states +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE6F5 volatile BYTE GPIFABORT; // Abort GPIF cycles +#line 256 "../../../include/ezregs.h" + +#line 30 "../../../include/ztex-conf.h" +// Endpoint Buffers +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE740 volatile BYTE EP0BUF[64]; // EP0 IN-OUT buffer +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE780 volatile BYTE EP1OUTBUF[64]; // EP1-OUT buffer +#line 30 "../../../include/ztex-conf.h" +xdata at 0xE7C0 volatile BYTE EP1INBUF[64]; // EP1-IN buffer +#line 30 "../../../include/ztex-conf.h" +xdata at 0xF000 volatile BYTE EP2FIFOBUF[1024]; // 512/1024-byte EP2 buffer (IN or OUT) +#line 30 "../../../include/ztex-conf.h" +xdata at 0xF400 volatile BYTE EP4FIFOBUF[1024]; // 512 byte EP4 buffer (IN or OUT) +#line 30 "../../../include/ztex-conf.h" +xdata at 0xF800 volatile BYTE EP6FIFOBUF[1024]; // 512/1024-byte EP6 buffer (IN or OUT) +#line 30 "../../../include/ztex-conf.h" +xdata at 0xFC00 volatile BYTE EP8FIFOBUF[1024]; // 512 byte EP8 buffer (IN or OUT) +#line 265 "../../../include/ezregs.h" + + +#line 30 "../../../include/ztex-conf.h" +// Special Function Registers (SFRs) +#line 30 "../../../include/ztex-conf.h" +sfr at 0x80 IOA; // Port A +#line 30 "../../../include/ztex-conf.h" +sbit at 0x80+0 IOA0; // Port A bit 0 +#line 30 "../../../include/ztex-conf.h" +sbit at 0x80+1 IOA1; // Port A bit 1 +#line 30 "../../../include/ztex-conf.h" +sbit at 0x80+2 IOA2; // Port A bit 2 +#line 30 "../../../include/ztex-conf.h" +sbit at 0x80+3 IOA3; // Port A bit 3 +#line 30 "../../../include/ztex-conf.h" +sbit at 0x80+4 IOA4; // Port A bit 4 +#line 30 "../../../include/ztex-conf.h" +sbit at 0x80+5 IOA5; // Port A bit 5 +#line 30 "../../../include/ztex-conf.h" +sbit at 0x80+6 IOA6; // Port A bit 6 +#line 30 "../../../include/ztex-conf.h" +sbit at 0x80+7 IOA7; // Port A bit 7 +#line 30 "../../../include/ztex-conf.h" +sfr at 0x81 SP; // Stack Pointer +#line 30 "../../../include/ztex-conf.h" +sfr at 0x82 DPL0; // Data Pointer 0 L +#line 30 "../../../include/ztex-conf.h" +sfr at 0x83 DPH0; // Data Pointer 0 H +#line 30 "../../../include/ztex-conf.h" +sfr at 0x84 DPL1; // Data Pointer 1 L +#line 30 "../../../include/ztex-conf.h" +sfr at 0x85 DPH1; // Data Pointer 0 H +#line 30 "../../../include/ztex-conf.h" +sfr at 0x86 DPS; // Data Pointer 0/1 select +#line 30 "../../../include/ztex-conf.h" +sfr at 0x87 PCON; // Power Control +#line 30 "../../../include/ztex-conf.h" +sfr at 0x88 TCON; // Timer/Counter Control +#line 30 "../../../include/ztex-conf.h" +sbit at 0x88+0 IT0; // Interrupt 0 Type select +#line 30 "../../../include/ztex-conf.h" +sbit at 0x88+1 IE0; // Interrupt 0 Edge detect +#line 30 "../../../include/ztex-conf.h" +sbit at 0x88+2 IT1; // Interrupt 1 Type select +#line 30 "../../../include/ztex-conf.h" +sbit at 0x88+3 IE1; // Interrupt 1 Edge detect +#line 30 "../../../include/ztex-conf.h" +sbit at 0x88+4 TR0; // Timer 0 Run Control +#line 30 "../../../include/ztex-conf.h" +sbit at 0x88+5 TF0; // Timer 0 Overflow Flag +#line 30 "../../../include/ztex-conf.h" +sbit at 0x88+6 TR1; // Timer 1 Run Control +#line 30 "../../../include/ztex-conf.h" +sbit at 0x88+7 TF1; // Timer 1 Overflow Flag +#line 30 "../../../include/ztex-conf.h" +sfr at 0x89 TMOD; // Timer/Counter Mode Control +#line 30 "../../../include/ztex-conf.h" +sfr at 0x8A TL0; // Timer 0 reload L +#line 30 "../../../include/ztex-conf.h" +sfr at 0x8B TL1; // Timer 1 reload L +#line 30 "../../../include/ztex-conf.h" +sfr at 0x8C TH0; // Timer 0 reload H +#line 30 "../../../include/ztex-conf.h" +sfr at 0x8D TH1; // Timer 1 reload H +#line 30 "../../../include/ztex-conf.h" +sfr at 0x8E CKCON; // Clock Control +#line 30 "../../../include/ztex-conf.h" +sfr at 0x90 IOB; // Port B +#line 30 "../../../include/ztex-conf.h" +sbit at 0x90+0 IOB0; // Port B bit 0 +#line 30 "../../../include/ztex-conf.h" +sbit at 0x90+1 IOB1; // Port B bit 1 +#line 30 "../../../include/ztex-conf.h" +sbit at 0x90+2 IOB2; // Port B bit 2 +#line 30 "../../../include/ztex-conf.h" +sbit at 0x90+3 IOB3; // Port B bit 3 +#line 30 "../../../include/ztex-conf.h" +sbit at 0x90+4 IOB4; // Port B bit 4 +#line 30 "../../../include/ztex-conf.h" +sbit at 0x90+5 IOB5; // Port B bit 5 +#line 30 "../../../include/ztex-conf.h" +sbit at 0x90+6 IOB6; // Port B bit 6 +#line 30 "../../../include/ztex-conf.h" +sbit at 0x90+7 IOB7; // Port B bit 7 +#line 30 "../../../include/ztex-conf.h" +sfr at 0x91 EXIF; // External Interrupt Flag(s) +#line 30 "../../../include/ztex-conf.h" +sfr at 0x92 MPAGE; // Upper Addr Byte of MOVX using @R0 / @R1 +#line 310 "../../../include/ezregs.h" +__sfr __at (0x92) _XPAGE; +#line 30 "../../../include/ztex-conf.h" +sfr at 0x98 SCON0; // Serial Port 0 Control +#line 30 "../../../include/ztex-conf.h" +sbit at 0x98+0 RI_0; // Recive Interrupt Flag +#line 30 "../../../include/ztex-conf.h" +sbit at 0x98+1 TI_0; // Transmit Interrupt Flag +#line 30 "../../../include/ztex-conf.h" +sbit at 0x98+2 RB8_0; // State of the 9th bit / Stop Bit received +#line 30 "../../../include/ztex-conf.h" +sbit at 0x98+3 TB8_0; // State of the 9th bit transmitted +#line 30 "../../../include/ztex-conf.h" +sbit at 0x98+4 REN_0; // Receive enable +#line 30 "../../../include/ztex-conf.h" +sbit at 0x98+5 SM2_0; // Multiprocessor communication enable +#line 30 "../../../include/ztex-conf.h" +sbit at 0x98+6 SM1_0; // Serial Port 0 mode bit 1 +#line 30 "../../../include/ztex-conf.h" +sbit at 0x98+7 SM0_0; // Serial Port 0 mode bit 0 +#line 30 "../../../include/ztex-conf.h" +sfr at 0x99 SBUF0; // Serial Port 0 Data Buffer +#line 30 "../../../include/ztex-conf.h" +sfr at 0x9A AUTOPTRH1; // Autopointer 1 Address H +#line 30 "../../../include/ztex-conf.h" +sfr at 0x9B AUTOPTRL1; // Autopointer 1 Address L +#line 30 "../../../include/ztex-conf.h" +sfr at 0x9D AUTOPTRH2; // Autopointer 2 Address H +#line 30 "../../../include/ztex-conf.h" +sfr at 0x9E AUTOPTRL2; // Autopointer 2 Address L +#line 30 "../../../include/ztex-conf.h" +sfr at 0xA0 IOC; // Port C +#line 30 "../../../include/ztex-conf.h" +sbit at 0xA0+0 IOC0; // Port C bit 0 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xA0+1 IOC1; // Port C bit 1 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xA0+2 IOC2; // Port C bit 2 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xA0+3 IOC3; // Port C bit 3 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xA0+4 IOC4; // Port C bit 4 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xA0+5 IOC5; // Port C bit 5 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xA0+6 IOC6; // Port C bit 6 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xA0+7 IOC7; // Port C bit 7 +#line 30 "../../../include/ztex-conf.h" +sfr at 0xA1 INT2CLR; // Interrupt 2 clear +#line 30 "../../../include/ztex-conf.h" +sfr at 0xA2 INT4CLR; // Interrupt 4clear +#line 30 "../../../include/ztex-conf.h" +sfr at 0xA8 IE; // Interrupt Enable +#line 30 "../../../include/ztex-conf.h" +sbit at 0xA8+0 EX0; // Enable external interrupt 0 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xA8+1 ET0; // Enable Timer 0 interrupt +#line 30 "../../../include/ztex-conf.h" +sbit at 0xA8+2 EX1; // Enable external interrupt 1 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xA8+3 ET1; // Enable Timer 1 interrupt +#line 30 "../../../include/ztex-conf.h" +sbit at 0xA8+4 ES0; // Enable Serial Port 0 interrupt +#line 30 "../../../include/ztex-conf.h" +sbit at 0xA8+5 ET2; // Enable Timer 2 interrupt +#line 30 "../../../include/ztex-conf.h" +sbit at 0xA8+6 ES1; // Enable Serial Port 1 interrupt +#line 30 "../../../include/ztex-conf.h" +sbit at 0xA8+7 EA; // Global interrupt enable +#line 30 "../../../include/ztex-conf.h" +sfr at 0xAA EP2468STAT; // Endpoint 2,4,6,8 status flags +#line 30 "../../../include/ztex-conf.h" +sfr at 0xAB EP24FIFOFLGS; // Endpoint 2,4 slave FIFO flags +#line 30 "../../../include/ztex-conf.h" +sfr at 0xAC EP68FIFOFLGS; // Endpoint 6,8 slave FIFO flags +#line 30 "../../../include/ztex-conf.h" +sfr at 0xAF AUTOPTRSETUP; // Autopointer 1&2 set-up +#line 30 "../../../include/ztex-conf.h" +sfr at 0xB0 IOD; // Port D +#line 30 "../../../include/ztex-conf.h" +sbit at 0xB0+0 IOD0; // Port D bit 0 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xB0+1 IOD1; // Port D bit 1 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xB0+2 IOD2; // Port D bit 2 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xB0+3 IOD3; // Port D bit 3 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xB0+4 IOD4; // Port D bit 4 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xB0+5 IOD5; // Port D bit 5 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xB0+6 IOD6; // Port D bit 6 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xB0+7 IOD7; // Port D bit 7 +#line 30 "../../../include/ztex-conf.h" +sfr at 0xB1 IOE; // Port E +#line 30 "../../../include/ztex-conf.h" +sfr at 0xB2 OEA; // Port A Output Enable +#line 30 "../../../include/ztex-conf.h" +sfr at 0xB3 OEB; // Port B Output Enable +#line 30 "../../../include/ztex-conf.h" +sfr at 0xB4 OEC; // Port C Output Enable +#line 30 "../../../include/ztex-conf.h" +sfr at 0xB5 OED; // Port D Output Enable +#line 30 "../../../include/ztex-conf.h" +sfr at 0xB6 OEE; // Port E Output Enable +#line 30 "../../../include/ztex-conf.h" +sfr at 0xB8 IP; // Interrupt priority +#line 30 "../../../include/ztex-conf.h" +sbit at 0xB8+0 PX0; // External interrupt 0 priority control +#line 30 "../../../include/ztex-conf.h" +sbit at 0xB8+1 PT0; // Timer 0 interrupt priority control +#line 30 "../../../include/ztex-conf.h" +sbit at 0xB8+2 PX1; // External interrupt 1 priority control +#line 30 "../../../include/ztex-conf.h" +sbit at 0xB8+3 PT1; // Timer 1 interrupt priority control +#line 30 "../../../include/ztex-conf.h" +sbit at 0xB8+4 PS0; // Serial Port 0 interrupt priority control +#line 30 "../../../include/ztex-conf.h" +sbit at 0xB8+5 PT2; // Timer 2 interrupt priority control +#line 30 "../../../include/ztex-conf.h" +sbit at 0xB8+6 PS1; // Serial Port 1 interrupt priority control +#line 30 "../../../include/ztex-conf.h" +sfr at 0xBA EP01STAT; // Endpoint 0&1 Status +#line 30 "../../../include/ztex-conf.h" +sfr at 0xBB GPIFTRIG; // Endpoint 2,4,6,8 GPIF slafe FIFO Trigger +#line 30 "../../../include/ztex-conf.h" +sfr at 0xBD GPIFSGLDATH; // GPIF Data H (16-bit mode only) +#line 30 "../../../include/ztex-conf.h" +sfr at 0xBE GPIFSGLDATLX; // GPIF Data L w/ Trigger +#line 30 "../../../include/ztex-conf.h" +sfr at 0xBF GPIFSGLDATLNOX; // GPIF Data L w/ No Trigger +#line 30 "../../../include/ztex-conf.h" +sfr at 0xC0 SCON1; // Serial Port 1 Control +#line 30 "../../../include/ztex-conf.h" +sbit at 0xC0+0 RI_1; // Recive Interrupt Flag +#line 30 "../../../include/ztex-conf.h" +sbit at 0xC0+1 TI_1; // Transmit Interrupt Flag +#line 30 "../../../include/ztex-conf.h" +sbit at 0xC0+2 RB8_1; // State of the 9th bit / Stop Bit received +#line 30 "../../../include/ztex-conf.h" +sbit at 0xC0+3 TB8_1; // State of the 9th bit transmitted +#line 30 "../../../include/ztex-conf.h" +sbit at 0xC0+4 REN_1; // Receive enable +#line 30 "../../../include/ztex-conf.h" +sbit at 0xC0+5 SM2_1; // Multiprocessor communication enable +#line 30 "../../../include/ztex-conf.h" +sbit at 0xC0+6 SM1_1; // Serial Port 1 mode bit 1 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xC0+7 SM0_1; // Serial Port 1 mode bit 0 +#line 30 "../../../include/ztex-conf.h" +sfr at 0xC1 SBUF1; // Serial Port 1 Data Buffer +#line 30 "../../../include/ztex-conf.h" +sfr at 0xC8 T2CON; // Timer/Counter 2 Control +#line 30 "../../../include/ztex-conf.h" +sbit at 0xC8+0 CPRL2; // Capture/reload flag +#line 30 "../../../include/ztex-conf.h" +sbit at 0xC8+1 CT2; // Counter/Timer select +#line 30 "../../../include/ztex-conf.h" +sbit at 0xC8+2 TR2; // Timer 2 run control flag +#line 30 "../../../include/ztex-conf.h" +sbit at 0xC8+3 EXEN2; // Timer 2 external enable +#line 30 "../../../include/ztex-conf.h" +sbit at 0xC8+4 TCLK; // Transmit clock flag +#line 30 "../../../include/ztex-conf.h" +sbit at 0xC8+5 RCLK; // Receive clock flag +#line 30 "../../../include/ztex-conf.h" +sbit at 0xC8+6 EXF2; // Timer 2 external flag +#line 30 "../../../include/ztex-conf.h" +sbit at 0xC8+7 TF2; // Timer 2 overflow flag +#line 30 "../../../include/ztex-conf.h" +sfr at 0xCA RCAP2L; // Capture for Timer 2, auto-reload, up-counter L +#line 30 "../../../include/ztex-conf.h" +sfr at 0xCB RCAP2H; // Capture for Timer 2, auto-reload, up-counter H +#line 30 "../../../include/ztex-conf.h" +sfr at 0xCC TL2; // Timer 2 reload L +#line 30 "../../../include/ztex-conf.h" +sfr at 0xCD TH2; // Timer 2 reload H +#line 30 "../../../include/ztex-conf.h" +sfr at 0xD0 PSW; // Program Status Word +#line 30 "../../../include/ztex-conf.h" +sbit at 0xD0+0 PF; // Parity flag +#line 30 "../../../include/ztex-conf.h" +sbit at 0xD0+1 F1; // User flag 1 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xD0+2 OV; // Overflow flag +#line 30 "../../../include/ztex-conf.h" +sbit at 0xD0+3 RS0; // Register bank select bit 0 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xD0+4 RS1; // Register bank select bit 1 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xD0+5 F0; // User flag 0 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xD0+6 AC; // Auxiliary carry flag +#line 30 "../../../include/ztex-conf.h" +sbit at 0xD0+7 CY; // Carry flag +#line 30 "../../../include/ztex-conf.h" +sfr at 0xD8 EICON; // External Interrupt Control +#line 30 "../../../include/ztex-conf.h" +sbit at 0xD8+3 INT6; // External interrupt 6 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xD8+4 RESI; // Wakeup interrupt flag +#line 30 "../../../include/ztex-conf.h" +sbit at 0xD8+5 ERESI; // Enable Resume interrupt +#line 30 "../../../include/ztex-conf.h" +sbit at 0xD8+7 SMOD1; // Serial Port 1 baud rate doubler enable +#line 30 "../../../include/ztex-conf.h" +sfr at 0xE0 ACC; // Accumulator +#line 30 "../../../include/ztex-conf.h" +sbit at 0xE0+0 ACC0; // Accumulator bit 0 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xE0+1 ACC1; // Accumulator bit 1 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xE0+2 ACC2; // Accumulator bit 2 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xE0+3 ACC3; // Accumulator bit 3 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xE0+4 ACC4; // Accumulator bit 4 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xE0+5 ACC5; // Accumulator bit 5 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xE0+6 ACC6; // Accumulator bit 6 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xE0+7 ACC7; // Accumulator bit 7 +#line 30 "../../../include/ztex-conf.h" +sfr at 0xE8 EIE; // External Interrupt Enable(s) +#line 30 "../../../include/ztex-conf.h" +sbit at 0xE8+0 EUSB; // Enable USB interrupt (USBINT) +#line 30 "../../../include/ztex-conf.h" +sbit at 0xE8+1 EI2C; // Enable I2C bus interrupt (I2CINT) +#line 30 "../../../include/ztex-conf.h" +sbit at 0xE8+2 EIEX4; // Enable external interrupt 4 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xE8+3 EIEX5; // Enable external interrupt 5 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xE8+4 EIEX6; // Enable external interrupt 6 +#line 30 "../../../include/ztex-conf.h" +sfr at 0xF0 BREG; // B Register +#line 30 "../../../include/ztex-conf.h" +sbit at 0xF0+0 BREG0; // B Register bit 0 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xF0+1 BREG1; // B Register bit 1 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xF0+2 BREG2; // B Register bit 2 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xF0+3 BREG3; // B Register bit 3 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xF0+4 BREG4; // B Register bit 4 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xF0+5 BREG5; // B Register bit 5 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xF0+6 BREG6; // B Register bit 6 +#line 30 "../../../include/ztex-conf.h" +sbit at 0xF0+7 BREG7; // B Register bit 7 +#line 30 "../../../include/ztex-conf.h" +sfr at 0xF8 EIP; // External Interrupt Priority Control +#line 30 "../../../include/ztex-conf.h" +sbit at 0xF8+0 PUSB; // USBINT priority control +#line 30 "../../../include/ztex-conf.h" +sbit at 0xF8+1 PI2C; // I2CINT priority control +#line 30 "../../../include/ztex-conf.h" +sbit at 0xF8+2 EIPX4; // External interrupt 4 priority control +#line 30 "../../../include/ztex-conf.h" +sbit at 0xF8+3 EIPX5; // External interrupt 5 priority control +#line 30 "../../../include/ztex-conf.h" +sbit at 0xF8+4 EIPX6; // External interrupt 6 priority control +#line 444 "../../../include/ezregs.h" + +#line 49 "../../../include/ztex-utils.h" + +#line 1 "../../../include/ezintavecs.h" +/*! + ZTEX Firmware Kit for EZ-USB Microcontrollers + Copyright (C) 2009-2010 ZTEX e.K. + http://www.ztex.de + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License version 3 as + published by the Free Software Foundation. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see http://www.gnu.org/licenses/. +!*/ + +/* + EZ-USB Autovectors +*/ + +#line 25 "../../../include/ezintavecs.h" + +#line 1 "../../../include/ztex-utils.h" +/*! + ZTEX Firmware Kit for EZ-USB Microcontrollers + Copyright (C) 2009-2010 ZTEX e.K. + http://www.ztex.de + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License version 3 as + published by the Free Software Foundation. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see http://www.gnu.org/licenses/. +!*/ + +/* + Various utility routines +*/ + +#line 26 "../../../include/ezintavecs.h" + + +struct INTVEC { + BYTE op; + BYTE addrH; + BYTE addrL; +}; + +#line 87 "../../../include/ezintavecs.h" + +#line 34 "../../../include/ezintavecs.h" +xdata at 0x0003 struct INTVEC INT0VEC_IE0; +xdata at 0x000b struct INTVEC INT1VEC_T0; +xdata at 0x0013 struct INTVEC INT2VEC_IE1; +xdata at 0x001b struct INTVEC INT3VEC_T1; +xdata at 0x0023 struct INTVEC INT4VEC_USART0; +xdata at 0x002b struct INTVEC INT5VEC_T2; +xdata at 0x0033 struct INTVEC INT6VEC_RESUME; +xdata at 0x003b struct INTVEC INT7VEC_USART1; +xdata at 0x0043 struct INTVEC INT8VEC_USB; +xdata at 0x004b struct INTVEC INT9VEC_I2C; +xdata at 0x0053 struct INTVEC INT10VEC_GPIF; +xdata at 0x005b struct INTVEC INT11VEC_IE5; +xdata at 0x0063 struct INTVEC INT12VEC_IE6; +xdata at 0x0100 struct INTVEC INTVEC_SUDAV; +xdata at 0x0104 struct INTVEC INTVEC_SOF; +xdata at 0x0108 struct INTVEC INTVEC_SUTOK; +xdata at 0x010C struct INTVEC INTVEC_SUSPEND; +xdata at 0x0110 struct INTVEC INTVEC_USBRESET; +xdata at 0x0114 struct INTVEC INTVEC_HISPEED; +xdata at 0x0118 struct INTVEC INTVEC_EP0ACK; +xdata at 0x0120 struct INTVEC INTVEC_EP0IN; +xdata at 0x0124 struct INTVEC INTVEC_EP0OUT; +xdata at 0x0128 struct INTVEC INTVEC_EP1IN; +xdata at 0x012C struct INTVEC INTVEC_EP1OUT; +xdata at 0x0130 struct INTVEC INTVEC_EP2; +xdata at 0x0134 struct INTVEC INTVEC_EP4; +xdata at 0x0138 struct INTVEC INTVEC_EP6; +xdata at 0x013C struct INTVEC INTVEC_EP8; +xdata at 0x0140 struct INTVEC INTVEC_IBN; +xdata at 0x0148 struct INTVEC INTVEC_EP0PING; +xdata at 0x014C struct INTVEC INTVEC_EP1PING; +xdata at 0x0150 struct INTVEC INTVEC_EP2PING; +xdata at 0x0154 struct INTVEC INTVEC_EP4PING; +xdata at 0x0158 struct INTVEC INTVEC_EP6PING; +xdata at 0x015C struct INTVEC INTVEC_EP8PING; +xdata at 0x0160 struct INTVEC INTVEC_ERRLIMIT; +xdata at 0x0170 struct INTVEC INTVEC_EP2ISOERR; +xdata at 0x0174 struct INTVEC INTVEC_EP4ISOERR; +xdata at 0x0178 struct INTVEC INTVEC_EP6ISOERR; +xdata at 0x017C struct INTVEC INTVEC_EP8ISOERR; +xdata at 0x0180 struct INTVEC INTVEC_EP2PF; +xdata at 0x0184 struct INTVEC INTVEC_EP4PF; +xdata at 0x0188 struct INTVEC INTVEC_EP6PF; +xdata at 0x018C struct INTVEC INTVEC_EP8PF; +xdata at 0x0190 struct INTVEC INTVEC_EP2EF; +xdata at 0x0194 struct INTVEC INTVEC_EP4EF; +xdata at 0x0198 struct INTVEC INTVEC_EP6EF; +xdata at 0x019C struct INTVEC INTVEC_EP8EF; +xdata at 0x01A0 struct INTVEC INTVEC_EP2FF; +xdata at 0x01A8 struct INTVEC INTVEC_EP6FF; +xdata at 0x01AC struct INTVEC INTVEC_EP8FF; +xdata at 0x01B0 struct INTVEC INTVEC_GPIFDONE; +#line 89 "../../../include/ezintavecs.h" +xdata at 0x01B4 struct INTVEC INTVEC_GPIFWF; +#line 91 "../../../include/ezintavecs.h" + +void abscode_intvec() _naked +{ +#line 96 "../../../include/ezintavecs.h" + _asm + .area ABSCODE (ABS,CODE) + .org 0x0000 +ENTRY: + ljmp #0x0200 +#line 94 "../../../include/ezintavecs.h" + .org 0x0003 +#line 34 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x000b +#line 35 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0013 +#line 36 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x001b +#line 37 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0023 +#line 38 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x002b +#line 39 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0033 +#line 40 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x003b +#line 41 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0043 +#line 42 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x004b +#line 43 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0053 +#line 44 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x005b +#line 45 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0063 +#line 46 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0100 +#line 47 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0104 +#line 48 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0108 +#line 49 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x010C +#line 50 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0110 +#line 51 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0114 +#line 52 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0118 +#line 53 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0120 +#line 54 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0124 +#line 55 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0128 +#line 56 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x012C +#line 57 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0130 +#line 58 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0134 +#line 59 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0138 +#line 60 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x013C +#line 61 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0140 +#line 62 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0148 +#line 63 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x014C +#line 64 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0150 +#line 65 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0154 +#line 66 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0158 +#line 67 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x015C +#line 68 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0160 +#line 69 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0170 +#line 70 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0174 +#line 71 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0178 +#line 72 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x017C +#line 73 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0180 +#line 74 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0184 +#line 75 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0188 +#line 76 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x018C +#line 77 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0190 +#line 78 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0194 +#line 79 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x0198 +#line 80 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x019C +#line 81 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x01A0 +#line 82 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x01A8 +#line 83 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x01AC +#line 84 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x01B0 +#line 85 "../../../include/ezintavecs.h" + reti +#line 94 "../../../include/ezintavecs.h" + .org 0x01B4 +#line 101 "../../../include/ezintavecs.h" + reti + .org 0x01b8 +INTVEC_DUMMY: + reti + .area CSEG (CODE) + _endasm; +} + +#line 111 "../../../include/ezintavecs.h" + + +/* Init an interrupt vector */ +#line 119 "../../../include/ezintavecs.h" + + +/* Enable USB autovectors */ +#line 128 "../../../include/ezintavecs.h" + + +/* Disable USB autovectors */ +#line 132 "../../../include/ezintavecs.h" + + +/* Enable GPIF autovectors */ +#line 141 "../../../include/ezintavecs.h" + + +/* Disable GPIF autovectors */ +#line 145 "../../../include/ezintavecs.h" + + +#line 50 "../../../include/ztex-utils.h" + +/* ********************************************************************* + ***** global variables ********************************************** + ********************************************************************* */ +/* + The following two variables are used to control HSNAK bit. + + ep0_payload_remaining is set to the length field of of the Setup Data + structure (in SUDAV_ISR). At the begin of each payload data transfer (in + SUDAV_ISR, EP0IN_ISR and EP0OUT_ISR) the amount of payload of the current + transfer s calculated (<=64 bytes) and subtracted from + ep0_payload_remaining. For Vendor Commands HSNAK bit is cleared + automatically (at the end of EP0OUT_ISR) ifep0_payload_remaining == 0. + For Vendor Requests HSNAK bit is always cleared at the end of SUDAV_ISR. +*/ + +#line 30 "../../../include/ztex-conf.h" +xdata WORD ep0_payload_remaining = 0; // remaining amount of ep0 payload data (excluding the data of the current transfer) +#line 30 "../../../include/ztex-conf.h" +xdata BYTE ep0_payload_transfer = 0; // transfer +#line 68 "../../../include/ztex-utils.h" + +/* ********************************************************************* + ********************************************************************* + ***** basic functions *********************************************** + ********************************************************************* + ********************************************************************* */ + +/* ********************************************************************* + ***** wait ********************************************************** + ********************************************************************* */ +#line 30 "../../../include/ztex-conf.h" +void wait(WORD short ms) { // wait in ms +#line 79 "../../../include/ztex-utils.h" + WORD i,j; + for (j=0; j specifies the time to wait in 0.1ms steps if the EEPROM is busy (during a write cycle). + if =0 no sop bit is sent. Returns 1 on error or if EEPROM is busy. */ +BYTE eeprom_select ( BYTE to, BYTE stop ) { + BYTE toc = 0; +eeprom_select_start: +#line 30 "../../../include/ztex-conf.h" + I2CS |= 128; // start bit +#line 107 "../../../include/ztex-eeprom.h" + i2c_waitStart(); +#line 30 "../../../include/ztex-conf.h" + I2DAT = 0xA2; // select device for writing +#line 109 "../../../include/ztex-eeprom.h" + if ( ! i2c_waitWrite() ) { + if ( stop ) { + I2CS |= 64; + i2c_waitStop(); + } + return 0; + } + else if (toc bytes from EEPROM address and write them to buf. + Returns the number of bytes read. This number is 0 during a write cycle. */ +BYTE eeprom_read ( __xdata BYTE *buf, WORD addr, BYTE length ) { + BYTE bytes = 0,i; + + if ( length == 0 ) + return 0; + + if ( eeprom_select(100,0) ) + goto eeprom_read_end; + +#line 30 "../../../include/ztex-conf.h" + I2DAT = ((BYTE)((((unsigned short)(addr)) >> 8) & 0xff)) ; // write address +#line 141 "../../../include/ztex-eeprom.h" + if ( i2c_waitWrite() ) goto eeprom_read_end; +#line 30 "../../../include/ztex-conf.h" + I2DAT = ((BYTE)(addr)); // write address +#line 143 "../../../include/ztex-eeprom.h" + if ( i2c_waitWrite() ) goto eeprom_read_end; + I2CS |= 64; + i2c_waitStop(); + +#line 30 "../../../include/ztex-conf.h" + I2CS |= 128; // start bit +#line 148 "../../../include/ztex-eeprom.h" + i2c_waitStart(); +#line 30 "../../../include/ztex-conf.h" + I2DAT = 0xA2 | 1; // select device for reading +#line 150 "../../../include/ztex-eeprom.h" + if ( i2c_waitWrite() ) goto eeprom_read_end; + +#line 30 "../../../include/ztex-conf.h" + *buf = I2DAT; // dummy read +#line 153 "../../../include/ztex-eeprom.h" + if ( i2c_waitRead()) goto eeprom_read_end; + for (; bytes bytes from buf to and write them EEPROM address . + must be smaller or equal than 64. Returns the number of bytes + read. This number is 0 during a write cycle. */ +BYTE eeprom_write ( __xdata BYTE *buf, WORD addr, BYTE length ) { + BYTE bytes = 0; + + if ( eeprom_select(100,0) ) + goto eeprom_write_end; + +#line 30 "../../../include/ztex-conf.h" + I2DAT = ((BYTE)((((unsigned short)(addr)) >> 8) & 0xff)) ; // write address +#line 185 "../../../include/ztex-eeprom.h" + if ( i2c_waitWrite() ) goto eeprom_write_end; +#line 30 "../../../include/ztex-conf.h" + I2DAT = ((BYTE)(addr)); // write address +#line 187 "../../../include/ztex-eeprom.h" + if ( i2c_waitWrite() ) goto eeprom_write_end; + + for (; bytes> 8) & 0xff)) ); + AUTOPTRL2=((BYTE)(&(*debug_stack_ptr))); + AUTOPTRH2=((BYTE)((((unsigned short)(&(*debug_stack_ptr)) >> 8) & 0xff)) ); + _asm + push ar2 + mov r2,#(3); + lcall _MEM_COPY1_int + pop ar2 + _endasm; +#line 52 "../../../include/ztex-debug.h" +} + debug_counter += 1; +} + +/* ********************************************************************* + ***** debug_add_msg ************************************************* + ********************************************************************* */ +#line 30 "../../../include/ztex-conf.h" +// init the variables +#line 60 "../../../include/ztex-debug.h" +void debug_init () { +#line 30 "../../../include/ztex-conf.h" + debug_counter = 0; // message number +#line 62 "../../../include/ztex-debug.h" + debug_stack_size = 32; + debug_msg_size = 3; + debug_stack_ptr = debug_stack; +} + +/* ********************************************************************* + ***** EP0 vendor request 0x28 *************************************** + ********************************************************************* */ +#line 30 "../../../include/ztex-conf.h" +// read the debug data +#line 71 "../../../include/ztex-debug.h" +BYTE debug_read_ep0 () { + BYTE b; + b = ep0_payload_transfer; + if ( b != 0) { +#line 119 "../../../include/ztex-utils.h" + { + AUTOPTRL1=((BYTE)(&(*debug_read_addr))); + AUTOPTRH1=((BYTE)((((unsigned short)(&(*debug_read_addr)) >> 8) & 0xff)) ); + AUTOPTRL2=((BYTE)(&(EP0BUF))); + AUTOPTRH2=((BYTE)((((unsigned short)(&(EP0BUF)) >> 8) & 0xff)) ); + _asm + push ar2 + mov r2,#(b); + lcall _MEM_COPY1_int + pop ar2 + _endasm; +#line 75 "../../../include/ztex-debug.h" +} + } + debug_read_addr += b; + return b; +} + +#line 89 "../../../include/ztex-debug.h" + +#line 112 "../../../include/ztex.h" + +#line 114 "../../../include/ztex.h" + + +/* ********************************************************************* + ***** define the descriptors and the interrupt routines ************* + ********************************************************************* */ +#line 1 "../../../include/ztex-descriptors.h" +/*! + ZTEX Firmware Kit for EZ-USB Microcontrollers + Copyright (C) 2009-2010 ZTEX e.K. + http://www.ztex.de + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License version 3 as + published by the Free Software Foundation. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see http://www.gnu.org/licenses/. +!*/ + +/* + Defines the USB descriptors +*/ + +#line 25 "../../../include/ztex-descriptors.h" + +#line 28 "../../../include/ztex-descriptors.h" + +xdata at 0x06c BYTE ZTEX_DESCRIPTOR; + +/* ZTEX descriptor version. Must be 1. */ +xdata at 0x06c+1 BYTE ZTEX_DESCRIPTOR_VERSION; + +/* Must not be modified, ID="ZTEX" */ +xdata at 0x06c+2 BYTE ZTEXID[4]; + +/* + Product ID and firmware compatibility information. + + A firmware can overwrite an installed one if + if ( INSTALLED.PRODUCTID[0]==0 || PRODUCTID[0]==0 || INSTALLED.PRODUCTID[0]==PRODUCTID[0] ) && + ( INSTALLED.PRODUCTID[1]==0 || PRODUCTID[1]==0 || INSTALLED.PRODUCTID[1]==PRODUCTID[1] ) && + ( INSTALLED.PRODUCTID[2]==0 || PRODUCTID[2]==0 || INSTALLED.PRODUCTID[2]==PRODUCTID[2] ) && + ( INSTALLED.PRODUCTID[3]==0 || PRODUCTID[3]==0 || INSTALLED.PRODUCTID[3]==PRODUCTID[3] ) + + Reserved Product ID's: + + 0.0.0.0 // default Product ID (no product specified) + 1.*.*.* // may be used for experimental purposes + 10.*.*.* // used for ZTEX products + 10.11.*.* // ZTEX USB-FPGA-Module 1.2 + 10.12.*.* // ZTEX USB-FPGA-Module 1.10 + 10.20.*.* // ZTEX USB-Module 1.0 + + Please contact me (http://www.ztex.de --> Impressum/Kontakt) if you want to register/reserve a Product ID (range). +*/ +xdata at 0x06c+6 BYTE PRODUCT_ID[4]; + +/* Firmware version, may be used to distinguish seveveral firmware versions */ +xdata at 0x06c+10 BYTE FW_VERSION; + +/* Interface version. Must be 1. */ +xdata at 0x06c+11 BYTE INTERFACE_VERSION; + +/* + Standard interface capabilities: + 0.0 : EEPROM read/write, see ztex-eeprom.h + 0.1 : FPGA configuration, see ztex-fpga.h + 0.2 : Flash memeory support, see ztex-flash1.h + 0.3 : Debug helper, see ztex-debug.h +*/ +xdata at 0x06c+12 BYTE INTERFACE_CAPABILITIES[6]; + +/* Space for settings which depends on PRODUCT_ID, e.g extra capabilities */ +xdata at 0x06c+18 BYTE MODULE_RESERVED[12]; + +/* + Serial number string + default: "0000000000" + Should only be modified by the the firmware upload software +*/ +xdata at 0x06c+30 BYTE SN_STRING[10]; + +/* Are Vendor ID and Product ID defined? */ +#line 88 "../../../include/ztex-descriptors.h" + +#line 92 "../../../include/ztex-descriptors.h" + +/* Prepare the Interfaces, i.e. check which interfaces are defined */ +#line 109 "../../../include/ztex-descriptors.h" + +#line 94 "../../../include/ztex-descriptors.h" + +#line 30 "../../../include/ztex-conf.h" +//Interface 0: YES +#line 94 "../../../include/ztex-descriptors.h" + +#line 30 "../../../include/ztex-conf.h" +//Interface 1: NO +#line 94 "../../../include/ztex-descriptors.h" + +#line 30 "../../../include/ztex-conf.h" +//Interface 2: NO +#line 94 "../../../include/ztex-descriptors.h" + +#line 30 "../../../include/ztex-conf.h" +//Interface 3: NO +#line 114 "../../../include/ztex-descriptors.h" + +/* define the ZTEX descriptor */ +void abscode_identity() _naked +{ + _asm + .area ABSCODE (ABS,CODE) + + .org 0x06c + .db 40 + + .org _ZTEX_DESCRIPTOR_VERSION + .db 1 + + .org _ZTEXID + .ascii "ZTEX" + + .org _PRODUCT_ID + .db 0 + .db 0 + .db 0 + .db 0 + + .org _FW_VERSION + .db 0 + + .org _INTERFACE_VERSION + .db 1 + + .org _INTERFACE_CAPABILITIES +#line 158 "../../../include/ztex-descriptors.h" + .db 0 + 1 + 8 +#line 160 "../../../include/ztex-descriptors.h" + .db 0 + .db 0 + .db 0 + .db 0 + .db 0 + + .org _MODULE_RESERVED + .db 0 + .db 0 + .db 0 + .db 0 + .db 0 + .db 0 + .db 0 + .db 0 + .db 0 + .db 0 + .db 0 + .db 0 + + .org _SN_STRING + .ascii "0000000000" + + .area CSEG (CODE) + _endasm; +} + +/* ********************************************************************* + ***** strings ******************************************************* + ********************************************************************* */ +code char manufacturerString[] = "ZTEX"; +code char productString[] = "debug for EZ-USB devices"; +code char configurationString[] = "(unknown)"; + + +/* ********************************************************************* + ***** descriptors *************************************************** + ********************************************************************* */ +#line 240 "../../../include/ztex-descriptors.h" + +#line 304 "../../../include/ztex-descriptors.h" + +#line 306 "../../../include/ztex-descriptors.h" + +#line 308 "../../../include/ztex-descriptors.h" +code BYTE PadByte = 0; +#line 310 "../../../include/ztex-descriptors.h" + +code BYTE DeviceDescriptor[] = + { +#line 30 "../../../include/ztex-conf.h" + 18, // 0, Descriptor length +#line 30 "../../../include/ztex-conf.h" + 0x01, // 1, Descriptor type +#line 30 "../../../include/ztex-conf.h" + 0x00, // 2, Specification Version (L) +#line 30 "../../../include/ztex-conf.h" + 0x02, // 3, Specification Version (H) +#line 30 "../../../include/ztex-conf.h" + 0xff, // 4, Device class +#line 30 "../../../include/ztex-conf.h" + 0xff, // 5, Device sub-class +#line 30 "../../../include/ztex-conf.h" + 0xff, // 6, Device protocol +#line 30 "../../../include/ztex-conf.h" + 64, // 7, Maximum packet size for EP0 +#line 30 "../../../include/ztex-conf.h" + (0x221a) & 255, // 8, VENDOR_ID (L) +#line 30 "../../../include/ztex-conf.h" + (0x221a) >> 8, // 9, VENDOR_ID (H) +#line 30 "../../../include/ztex-conf.h" + (0x100) & 255, // 10, PRODUCT_ID (L) +#line 30 "../../../include/ztex-conf.h" + (0x100) >> 8, // 11, PRODUCT_ID (H) +#line 30 "../../../include/ztex-conf.h" + 0x00, // 12, device release number (BCD, L) +#line 30 "../../../include/ztex-conf.h" + 0x00, // 13, device release number (BCD, H) +#line 30 "../../../include/ztex-conf.h" + 1, // 14, Manufacturer string index +#line 30 "../../../include/ztex-conf.h" + 2, // 15, Product string index +#line 30 "../../../include/ztex-conf.h" + 3, // 16, Serial number string index +#line 30 "../../../include/ztex-conf.h" + 1 // 17, Number of configurations +#line 331 "../../../include/ztex-descriptors.h" + }; + +code BYTE DeviceQualifierDescriptor[] = + { +#line 30 "../../../include/ztex-conf.h" + 10, // 0, Descriptor length +#line 30 "../../../include/ztex-conf.h" + 0x06, // 1, Decriptor type +#line 30 "../../../include/ztex-conf.h" + 0x00, // 2, Specification Version (L) +#line 30 "../../../include/ztex-conf.h" + 0x02, // 3, Specification Version (H) +#line 30 "../../../include/ztex-conf.h" + 0xff, // 4, Device class +#line 30 "../../../include/ztex-conf.h" + 0xff, // 5, Device sub-class +#line 30 "../../../include/ztex-conf.h" + 0xff, // 6, Device protocol +#line 30 "../../../include/ztex-conf.h" + 64, // 7, Maximum packet size (EP0?) +#line 30 "../../../include/ztex-conf.h" + 1, // 8, Number of configurations +#line 30 "../../../include/ztex-conf.h" + 0, // 9, Reserved, must be zero +#line 345 "../../../include/ztex-descriptors.h" + }; + +code BYTE HighSpeedConfigDescriptor[] = + { +#line 30 "../../../include/ztex-conf.h" + 9 // 0, Descriptor length +#line 30 "../../../include/ztex-conf.h" + ,0x02 // 1, Decriptor type +#line 30 "../../../include/ztex-conf.h" + ,sizeof(HighSpeedConfigDescriptor) & 0xff // 2, Total length (LSB) +#line 30 "../../../include/ztex-conf.h" +// ,sizeof(HighSpeedConfigDescriptor) >> 8 // 3, Total length (MB) +#line 30 "../../../include/ztex-conf.h" + ,0 // 3, To avoid warnings, descriptor length will never exceed 255 bytes +#line 30 "../../../include/ztex-conf.h" + ,0 // 4, Number of Interfaces +#line 357 "../../../include/ztex-descriptors.h" + +1 +#line 368 "../../../include/ztex-descriptors.h" + +#line 30 "../../../include/ztex-conf.h" + ,1 // 5, Configuration number +#line 30 "../../../include/ztex-conf.h" + ,4 // 6, Configuration string +#line 30 "../../../include/ztex-conf.h" + ,0xc0 // 7, Attributes: bus and self powered +#line 30 "../../../include/ztex-conf.h" + ,50 // Maximum bus power 100 mA +#line 241 "../../../include/ztex-descriptors.h" + +#line 30 "../../../include/ztex-conf.h" + // Interface 0 descriptor +#line 30 "../../../include/ztex-conf.h" + ,9 // 0, Descriptor length +#line 30 "../../../include/ztex-conf.h" + ,0x04 // 1, Descriptor type +#line 30 "../../../include/ztex-conf.h" + ,0 // 2, Zero-based index of this interface +#line 30 "../../../include/ztex-conf.h" + ,0 // 3, Alternate setting 0 +#line 30 "../../../include/ztex-conf.h" + ,0 // 4, Number of end points +#line 264 "../../../include/ztex-descriptors.h" + +1 +#line 267 "../../../include/ztex-descriptors.h" + +1 +#line 30 "../../../include/ztex-conf.h" + ,0xff // 5, Interface class +#line 30 "../../../include/ztex-conf.h" + ,0xff // 6, Interface sub class +#line 30 "../../../include/ztex-conf.h" + ,0xff // 7, Interface protocol +#line 30 "../../../include/ztex-conf.h" + ,0 // 8, Index of interface string descriptor +#line 198 "../../../include/ztex-descriptors.h" + +#line 30 "../../../include/ztex-conf.h" + // Endpoint 1IN descriptor +#line 30 "../../../include/ztex-conf.h" + ,7 // 0, Descriptor length +#line 30 "../../../include/ztex-conf.h" + ,5 // 1, Descriptor type +#line 30 "../../../include/ztex-conf.h" + ,0x81 // 2, direction=output, address=1 +#line 30 "../../../include/ztex-conf.h" + ,2 // 3, BULK transferns +#line 30 "../../../include/ztex-conf.h" + ,512 & 0xff // 4, max. packet size (L) +#line 30 "../../../include/ztex-conf.h" + ,512 >> 8 // 5, max. packet size (H) +#line 30 "../../../include/ztex-conf.h" + ,0 // 6, Polling interval +#line 286 "../../../include/ztex-descriptors.h" + +#line 198 "../../../include/ztex-descriptors.h" + +#line 30 "../../../include/ztex-conf.h" + // Endpoint 1OUT descriptor +#line 30 "../../../include/ztex-conf.h" + ,7 // 0, Descriptor length +#line 30 "../../../include/ztex-conf.h" + ,5 // 1, Descriptor type +#line 30 "../../../include/ztex-conf.h" + ,0x01 // 2, direction=output, address=1 +#line 30 "../../../include/ztex-conf.h" + ,2 // 3, BULK transferns +#line 30 "../../../include/ztex-conf.h" + ,512 & 0xff // 4, max. packet size (L) +#line 30 "../../../include/ztex-conf.h" + ,512 >> 8 // 5, max. packet size (H) +#line 30 "../../../include/ztex-conf.h" + ,0 // 6, Polling interval +#line 289 "../../../include/ztex-descriptors.h" + +#line 374 "../../../include/ztex-descriptors.h" + +#line 386 "../../../include/ztex-descriptors.h" + }; +code BYTE HighSpeedConfigDescriptor_PadByte[2-(sizeof(HighSpeedConfigDescriptor) & 1)] = { 0 }; + +code BYTE FullSpeedConfigDescriptor[] = + { +#line 30 "../../../include/ztex-conf.h" + 9 // 0, Descriptor length +#line 30 "../../../include/ztex-conf.h" + ,0x02 // 1, Decriptor type +#line 30 "../../../include/ztex-conf.h" + ,sizeof(FullSpeedConfigDescriptor) & 0xff // 2, Total length (LSB) +#line 30 "../../../include/ztex-conf.h" +// ,sizeof(FullSpeedConfigDescriptor) >> 8 // 3, Total length (MSB) +#line 30 "../../../include/ztex-conf.h" + ,0 // 3, To avoid warnings, descriptor length will never exceed 255 bytes +#line 30 "../../../include/ztex-conf.h" + ,0 // 4, Number of Interfaces +#line 398 "../../../include/ztex-descriptors.h" + +1 +#line 409 "../../../include/ztex-descriptors.h" + +#line 30 "../../../include/ztex-conf.h" + ,1 // 5, Configuration number +#line 30 "../../../include/ztex-conf.h" + ,4 // 6, Configuration string +#line 30 "../../../include/ztex-conf.h" + ,0xc0 // 7, Attributes: bus and self powered +#line 30 "../../../include/ztex-conf.h" + ,50 // Maximum bus power 100 mA +#line 241 "../../../include/ztex-descriptors.h" + +#line 30 "../../../include/ztex-conf.h" + // Interface 0 descriptor +#line 30 "../../../include/ztex-conf.h" + ,9 // 0, Descriptor length +#line 30 "../../../include/ztex-conf.h" + ,0x04 // 1, Descriptor type +#line 30 "../../../include/ztex-conf.h" + ,0 // 2, Zero-based index of this interface +#line 30 "../../../include/ztex-conf.h" + ,0 // 3, Alternate setting 0 +#line 30 "../../../include/ztex-conf.h" + ,0 // 4, Number of end points +#line 264 "../../../include/ztex-descriptors.h" + +1 +#line 267 "../../../include/ztex-descriptors.h" + +1 +#line 30 "../../../include/ztex-conf.h" + ,0xff // 5, Interface class +#line 30 "../../../include/ztex-conf.h" + ,0xff // 6, Interface sub class +#line 30 "../../../include/ztex-conf.h" + ,0xff // 7, Interface protocol +#line 30 "../../../include/ztex-conf.h" + ,0 // 8, Index of interface string descriptor +#line 198 "../../../include/ztex-descriptors.h" + +#line 30 "../../../include/ztex-conf.h" + // Endpoint 1IN descriptor +#line 30 "../../../include/ztex-conf.h" + ,7 // 0, Descriptor length +#line 30 "../../../include/ztex-conf.h" + ,5 // 1, Descriptor type +#line 30 "../../../include/ztex-conf.h" + ,0x81 // 2, direction=output, address=1 +#line 30 "../../../include/ztex-conf.h" + ,2 // 3, BULK transferns +#line 30 "../../../include/ztex-conf.h" + ,64 // 4, max. packet size (L) +#line 30 "../../../include/ztex-conf.h" + ,0 // 5, max. packet size (H) +#line 30 "../../../include/ztex-conf.h" + ,0 // 6, Polling interval +#line 286 "../../../include/ztex-descriptors.h" + +#line 198 "../../../include/ztex-descriptors.h" + +#line 30 "../../../include/ztex-conf.h" + // Endpoint 1OUT descriptor +#line 30 "../../../include/ztex-conf.h" + ,7 // 0, Descriptor length +#line 30 "../../../include/ztex-conf.h" + ,5 // 1, Descriptor type +#line 30 "../../../include/ztex-conf.h" + ,0x01 // 2, direction=output, address=1 +#line 30 "../../../include/ztex-conf.h" + ,2 // 3, BULK transferns +#line 30 "../../../include/ztex-conf.h" + ,64 // 4, max. packet size (L) +#line 30 "../../../include/ztex-conf.h" + ,0 // 5, max. packet size (H) +#line 30 "../../../include/ztex-conf.h" + ,0 // 6, Polling interval +#line 289 "../../../include/ztex-descriptors.h" + +#line 415 "../../../include/ztex-descriptors.h" + +#line 426 "../../../include/ztex-descriptors.h" + }; +code BYTE FullSpeedConfigDescriptor_PadByte[2-(sizeof(FullSpeedConfigDescriptor) & 1)] = { 0 }; + +code BYTE EmptyStringDescriptor[] = + { +#line 30 "../../../include/ztex-conf.h" + sizeof(EmptyStringDescriptor), // Length +#line 30 "../../../include/ztex-conf.h" + 0x03, // Descriptor type +#line 433 "../../../include/ztex-descriptors.h" + 0, 0 + }; + +#line 119 "../../../include/ztex.h" + +#line 1 "../../../include/ztex-isr.h" +/*! + ZTEX Firmware Kit for EZ-USB Microcontrollers + Copyright (C) 2009-2010 ZTEX e.K. + http://www.ztex.de + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License version 3 as + published by the Free Software Foundation. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see http://www.gnu.org/licenses/. +!*/ + +/* + Interrupt routines +*/ + +#line 25 "../../../include/ztex-isr.h" + +xdata BYTE ep0_prev_setup_request = 0xff; +xdata BYTE ep0_vendor_cmd_setup = 0; + +#line 30 "../../../include/ztex-conf.h" +xdata WORD ISOFRAME_COUNTER[4] = {0, 0, 0, 0}; // counters for iso frames automatically reset by sync frame request +#line 30 "../../../include/ztex-isr.h" + +/* ********************************************************************* + ***** toggleData **************************************************** + ********************************************************************* */ +static void resetToggleData () { +#line 44 "../../../include/ztex-isr.h" + +#line 30 "../../../include/ztex-conf.h" + TOGCTL = 0; // EP0 out +#line 46 "../../../include/ztex-isr.h" + TOGCTL = 0 | 32; +#line 30 "../../../include/ztex-conf.h" + TOGCTL = 0x10; // EP0 in +#line 48 "../../../include/ztex-isr.h" + TOGCTL = 0x10 | 32; +#line 30 "../../../include/ztex-conf.h" + TOGCTL = 1; // EP1 out +#line 51 "../../../include/ztex-isr.h" + TOGCTL = 1 | 32; +#line 30 "../../../include/ztex-conf.h" + TOGCTL = 0x11; // EP1 in +#line 55 "../../../include/ztex-isr.h" + TOGCTL = 0x11 | 32; +#line 35 "../../../include/ztex-isr.h" + +#line 35 "../../../include/ztex-isr.h" + +#line 35 "../../../include/ztex-isr.h" + +#line 35 "../../../include/ztex-isr.h" + +#line 61 "../../../include/ztex-isr.h" +} + +/* ********************************************************************* + ***** getStringDescriptor ******************************************* + ********************************************************************* */ +#line 67 "../../../include/ztex-isr.h" + +static void sendStringDescriptor (BYTE loAddr, BYTE hiAddr, BYTE size) +{ + BYTE i; + if ( size > 31) + size = 31; + AUTOPTRSETUP = 7; + AUTOPTRL1 = loAddr; + AUTOPTRH1 = hiAddr; + AUTOPTRL2 = (BYTE)(((unsigned short)(&EP0BUF))+1); + AUTOPTRH2 = (BYTE)((((unsigned short)(&EP0BUF))+1) >> 8); + XAUTODAT2 = 3; + for (i=0; i 64 ) ? 64 : ep0_payload_remaining; + ep0_payload_remaining -= ep0_payload_transfer; +} + + +/* ********************************************************************* + ***** ep0_vendor_cmd_su ********************************************** + ********************************************************************* */ +static void ep0_vendor_cmd_su() { + switch ( ep0_prev_setup_request ) { +#line 112 "../../../include/ztex-conf.h" + +case 0x39: +#line 30 "../../../include/ztex-conf.h" + // write to EEPROM +#line 233 "../../../include/ztex-eeprom.h" + eeprom_write_checksum = 0; + eeprom_write_bytes = 0; +#line 30 "../../../include/ztex-conf.h" + eeprom_addr = ( SETUPDAT[3] << 8) | SETUPDAT[2]; // Address +#line 114 "../../../include/ztex-conf.h" + + break; +#line 104 "../../../include/ztex-isr.h" + + default: +#line 30 "../../../include/ztex-conf.h" + EP0CS |= 0x01; // set stall, unknown request +#line 107 "../../../include/ztex-isr.h" + } +} + +/* ********************************************************************* + ***** SUDAV_ISR ***************************************************** + ********************************************************************* */ +static void SUDAV_ISR () interrupt +{ + BYTE a; + ep0_prev_setup_request = bRequest; + SUDPTRCTL = 1; + +#line 30 "../../../include/ztex-conf.h" + // standard USB requests +#line 120 "../../../include/ztex-isr.h" + switch ( bRequest ) { +#line 30 "../../../include/ztex-conf.h" + case 0x00: // get status +#line 122 "../../../include/ztex-isr.h" + switch(SETUPDAT[0]) { +#line 30 "../../../include/ztex-conf.h" + case 0x80: // self powered and remote +#line 30 "../../../include/ztex-conf.h" + EP0BUF[0] = 0; // not self-powered, no remote wakeup +#line 125 "../../../include/ztex-isr.h" + EP0BUF[1] = 0; + EP0BCH = 0; + EP0BCL = 2; + break; +#line 30 "../../../include/ztex-conf.h" + case 0x81: // interface (reserved) +#line 30 "../../../include/ztex-conf.h" + EP0BUF[0] = 0; // always return zeros +#line 131 "../../../include/ztex-isr.h" + EP0BUF[1] = 0; + EP0BCH = 0; + EP0BCL = 2; + break; + case 0x82: + switch ( SETUPDAT[4] ) { + case 0x00 : + case 0x80 : + EP0BUF[0] = EP0CS & 1; + break; + case 0x01 : + EP0BUF[0] = EP1OUTCS & 1; + break; + case 0x81 : + EP0BUF[0] = EP1INCS & 1; + break; + default: + EP0BUF[0] = EPXCS[ ((SETUPDAT[4] >> 1)-1) & 3 ] & 1; + break; + } + EP0BUF[1] = 0; + EP0BCH = 0; + EP0BCL = 2; + break; + } + break; +#line 30 "../../../include/ztex-conf.h" + case 0x01: // disable feature, e.g. remote wake, stall bit +#line 158 "../../../include/ztex-isr.h" + if ( SETUPDAT[0] == 2 && SETUPDAT[2] == 0 ) { + switch ( SETUPDAT[4] ) { + case 0x00 : + case 0x80 : + EP0CS &= ~1; + break; + case 0x01 : + EP1OUTCS &= ~1; + break; + case 0x81 : + EP1INCS &= ~1; + break; + default: + EPXCS[ ((SETUPDAT[4] >> 1)-1) & 3 ] &= ~1; + break; + } + } + break; +#line 30 "../../../include/ztex-conf.h" + case 0x03: // enable feature, e.g. remote wake, test mode, stall bit +#line 177 "../../../include/ztex-isr.h" + if ( SETUPDAT[0] == 2 && SETUPDAT[2] == 0 ) { + switch ( SETUPDAT[4] ) { + case 0x00 : + case 0x80 : + EP0CS |= 1; + break; + case 0x01 : + EP1OUTCS |= 1; + break; + case 0x81 : + EP1INCS |= 1; + break; + default: + EPXCS[ ((SETUPDAT[4] >> 1)-1) & 3 ] |= ~1; + break; + } + a = ( (SETUPDAT[4] & 0x80) >> 3 ) | (SETUPDAT[4] & 0x0f); + TOGCTL = a; + TOGCTL = a | 32; + } + break; +#line 30 "../../../include/ztex-conf.h" + case 0x06: // get descriptor +#line 199 "../../../include/ztex-isr.h" + switch(SETUPDAT[3]) { +#line 30 "../../../include/ztex-conf.h" + case 0x01: // device +#line 201 "../../../include/ztex-isr.h" + SUDPTRH = ((BYTE)((((unsigned short)(&DeviceDescriptor)) >> 8) & 0xff)) ; + SUDPTRL = ((BYTE)(&DeviceDescriptor)); + break; +#line 30 "../../../include/ztex-conf.h" + case 0x02: // configuration +#line 205 "../../../include/ztex-isr.h" + if (USBCS & 128) { + SUDPTRH = ((BYTE)((((unsigned short)(&HighSpeedConfigDescriptor)) >> 8) & 0xff)) ; + SUDPTRL = ((BYTE)(&HighSpeedConfigDescriptor)); + } + else { + SUDPTRH = ((BYTE)((((unsigned short)(&FullSpeedConfigDescriptor)) >> 8) & 0xff)) ; + SUDPTRL = ((BYTE)(&FullSpeedConfigDescriptor)); + } + break; +#line 30 "../../../include/ztex-conf.h" + case 0x03: // strings +#line 215 "../../../include/ztex-isr.h" + switch (SETUPDAT[2]) { + case 1: + sendStringDescriptor(((BYTE)(manufacturerString)), ((BYTE)((((unsigned short)(manufacturerString)) >> 8) & 0xff)) , sizeof(manufacturerString) ); + break; + case 2: + sendStringDescriptor(((BYTE)(productString)), ((BYTE)((((unsigned short)(productString)) >> 8) & 0xff)) , sizeof(productString) ); + break; + case 3: + sendStringDescriptor(((BYTE)(SN_STRING)), ((BYTE)((((unsigned short)(SN_STRING)) >> 8) & 0xff)) , sizeof(SN_STRING) ); + break; + case 4: + sendStringDescriptor(((BYTE)(configurationString)), ((BYTE)((((unsigned short)(configurationString)) >> 8) & 0xff)) , sizeof(configurationString) ); + break; + default: + SUDPTRH = ((BYTE)((((unsigned short)(&EmptyStringDescriptor)) >> 8) & 0xff)) ; + SUDPTRL = ((BYTE)(&EmptyStringDescriptor)); + break; + } + break; +#line 30 "../../../include/ztex-conf.h" + case 0x06: // device qualifier +#line 235 "../../../include/ztex-isr.h" + SUDPTRH = ((BYTE)((((unsigned short)(&DeviceQualifierDescriptor)) >> 8) & 0xff)) ; + SUDPTRL = ((BYTE)(&DeviceQualifierDescriptor)); + break; +#line 30 "../../../include/ztex-conf.h" + case 0x07: // other speed configuration +#line 239 "../../../include/ztex-isr.h" + if (USBCS & 128) { + SUDPTRH = ((BYTE)((((unsigned short)(&FullSpeedConfigDescriptor)) >> 8) & 0xff)) ; + SUDPTRL = ((BYTE)(&FullSpeedConfigDescriptor)); + } + else { + SUDPTRH = ((BYTE)((((unsigned short)(&HighSpeedConfigDescriptor)) >> 8) & 0xff)) ; + SUDPTRL = ((BYTE)(&HighSpeedConfigDescriptor)); + } + break; + default: +#line 30 "../../../include/ztex-conf.h" + EP0CS |= 0x01; // set stall, unknown descriptor +#line 250 "../../../include/ztex-isr.h" + } + break; +#line 30 "../../../include/ztex-conf.h" + case 0x07: // set descriptor +#line 253 "../../../include/ztex-isr.h" + break; +#line 30 "../../../include/ztex-conf.h" + case 0x08: // get configuration +#line 30 "../../../include/ztex-conf.h" + EP0BUF[0] = 0; // only one configuration +#line 256 "../../../include/ztex-isr.h" + EP0BCH = 0; + EP0BCL = 1; + break; +#line 30 "../../../include/ztex-conf.h" + case 0x09: // set configuration +#line 260 "../../../include/ztex-isr.h" + resetToggleData(); +#line 30 "../../../include/ztex-conf.h" + break; // do nothing since we have only one configuration +#line 30 "../../../include/ztex-conf.h" + case 0x0a: // get alternate setting for an interface +#line 30 "../../../include/ztex-conf.h" + EP0BUF[0] = 0; // only one alternate setting +#line 264 "../../../include/ztex-isr.h" + EP0BCH = 0; + EP0BCL = 1; + break; +#line 30 "../../../include/ztex-conf.h" + case 0x0b: // set alternate setting for an interface +#line 268 "../../../include/ztex-isr.h" + resetToggleData(); +#line 30 "../../../include/ztex-conf.h" + break; // do nothing since we have only on alternate setting +#line 30 "../../../include/ztex-conf.h" + case 0x0c: // sync frame +#line 271 "../../../include/ztex-isr.h" + if ( SETUPDAT[0] == 0x82 ) { + ISOFRAME_COUNTER[ ((SETUPDAT[4] >> 1)-1) & 3 ] = 0; +#line 30 "../../../include/ztex-conf.h" + EP0BUF[0] = USBFRAMEL; // use current frame as sync frame, i hope that works +#line 274 "../../../include/ztex-isr.h" + EP0BUF[1] = USBFRAMEH; + EP0BCH = 0; + EP0BCL = 2; + } +#line 30 "../../../include/ztex-conf.h" + break; // do nothing since we have only on alternate setting +#line 279 "../../../include/ztex-isr.h" + + } + +#line 30 "../../../include/ztex-conf.h" + // vendor request and commands +#line 283 "../../../include/ztex-isr.h" + switch ( bmRequestType ) { +#line 30 "../../../include/ztex-conf.h" + case 0xc0: // vendor request +#line 285 "../../../include/ztex-isr.h" + ep0_payload_remaining = (SETUPDAT[7] << 8) | SETUPDAT[6]; + ep0_payload_update(); + + switch ( bRequest ) { +#line 30 "../../../include/ztex-conf.h" + case 0x22: // get ZTEX descriptor +#line 290 "../../../include/ztex-isr.h" + SUDPTRCTL = 0; + EP0BCH = 0; + EP0BCL = 40; + SUDPTRH = ((BYTE)((((unsigned short)(0x06c)) >> 8) & 0xff)) ; + SUDPTRL = ((BYTE)(0x06c)); + break; +#line 89 "../../../include/ztex-conf.h" + +case 0x38: +#line 30 "../../../include/ztex-conf.h" + // read from EEPROM +#line 30 "../../../include/ztex-conf.h" + eeprom_addr = (SETUPDAT[3] << 8) | SETUPDAT[2]; // Address +#line 216 "../../../include/ztex-eeprom.h" + EP0BCH = 0; + EP0BCL = eeprom_read_ep0(); +#line 91 "../../../include/ztex-conf.h" + + break; +#line 89 "../../../include/ztex-conf.h" + +case 0x3A: +#line 30 "../../../include/ztex-conf.h" + // EEPROM state +#line 244 "../../../include/ztex-eeprom.h" + EP0BUF[0] = ((BYTE)(eeprom_write_bytes)); + EP0BUF[1] = ((BYTE)((((unsigned short)(eeprom_write_bytes)) >> 8) & 0xff)) ; + EP0BUF[2] = eeprom_write_checksum; +#line 30 "../../../include/ztex-conf.h" + EP0BUF[3] = eeprom_select(0,1); // 1 means busy or error +#line 248 "../../../include/ztex-eeprom.h" + EP0BCH = 0; + EP0BCL = 4; +#line 91 "../../../include/ztex-conf.h" + + break; +#line 89 "../../../include/ztex-conf.h" + +case 0x28: +#line 30 "../../../include/ztex-conf.h" + // read the debug data +#line 82 "../../../include/ztex-debug.h" + debug_read_addr = (__xdata BYTE*)&debug_counter; + EP0BCH = 0; + EP0BCL = debug_read_ep0(); +#line 91 "../../../include/ztex-conf.h" + + break; +#line 296 "../../../include/ztex-isr.h" + + default: +#line 30 "../../../include/ztex-conf.h" + EP0CS |= 0x01; // set stall, unknown request +#line 299 "../../../include/ztex-isr.h" + } + break; +#line 30 "../../../include/ztex-conf.h" + case 0x40: // vendor command +#line 302 "../../../include/ztex-isr.h" + /* vendor commands may overlap if they are send without pause. To avoid + synchronization problems the setup sequences are executed in EP0OUT_ISR, i.e. + after the first packet of payload date received. */ + if ( SETUPDAT[7]!=0 || SETUPDAT[6]!=0 ) { + ep0_vendor_cmd_setup = 1; + EP0BCL = 0; +#line 30 "../../../include/ztex-conf.h" + EXIF &= ~16; // clear main USB interrupt flag +#line 30 "../../../include/ztex-conf.h" + USBIRQ = 1; // clear SUADV IRQ +#line 30 "../../../include/ztex-conf.h" + return; // don't clear HSNAK bit. This is done after the command has completed +#line 311 "../../../include/ztex-isr.h" + } +#line 30 "../../../include/ztex-conf.h" + ep0_vendor_cmd_su(); // setup sequences of vendor command with no payload ara executed immediately +#line 313 "../../../include/ztex-isr.h" + EP0BCL = 0; + break; + } + +#line 30 "../../../include/ztex-conf.h" + EXIF &= ~16; // clear main USB interrupt flag +#line 30 "../../../include/ztex-conf.h" + USBIRQ = 1; // clear SUADV IRQ +#line 30 "../../../include/ztex-conf.h" + EP0CS |= 0x80; // clear the HSNAK bit +#line 320 "../../../include/ztex-isr.h" +} + +/* ********************************************************************* + ***** SOF_ISR ******************************************************* + ********************************************************************* */ +void SOF_ISR() interrupt +{ + EXIF &= ~16; + USBIRQ = 2; +} + +/* ********************************************************************* + ***** SUTOK_ISR ***************************************************** + ********************************************************************* */ +void SUTOK_ISR() interrupt +{ + EXIF &= ~16; + USBIRQ = 4; +} + +/* ********************************************************************* + ***** SUSP_ISR ****************************************************** + ********************************************************************* */ +void SUSP_ISR() interrupt +{ + EXIF &= ~16; + USBIRQ = 8; +} + +/* ********************************************************************* + ***** URES_ISR ****************************************************** + ********************************************************************* */ +void URES_ISR() interrupt +{ + EXIF &= ~16; + USBIRQ = 16; +} + +/* ********************************************************************* + ***** HSGRANT_ISR *************************************************** + ********************************************************************* */ +void HSGRANT_ISR() interrupt +{ + EXIF &= ~16; + USBIRQ = 32; +} + +/* ********************************************************************* + ***** EP0ACK_ISR **************************************************** + ********************************************************************* */ +void EP0ACK_ISR() interrupt +{ +#line 30 "../../../include/ztex-conf.h" + EXIF &= ~16; // clear USB interrupt flag +#line 30 "../../../include/ztex-conf.h" + USBIRQ = 64; // clear EP0ACK IRQ +#line 374 "../../../include/ztex-isr.h" +} + +/* ********************************************************************* + ***** EP0IN_ISR ***************************************************** + ********************************************************************* */ +static void EP0IN_ISR () interrupt +{ +#line 30 "../../../include/ztex-conf.h" + EUSB = 0; // block all USB interrupts +#line 382 "../../../include/ztex-isr.h" + ep0_payload_update(); + switch ( ep0_prev_setup_request ) { +#line 94 "../../../include/ztex-conf.h" + +case 0x38: +#line 218 "../../../include/ztex-eeprom.h" + + EP0BCH = 0; + EP0BCL = eeprom_read_ep0(); +#line 96 "../../../include/ztex-conf.h" + + break; +#line 94 "../../../include/ztex-conf.h" + +case 0x3A: + + break; +#line 94 "../../../include/ztex-conf.h" + +case 0x28: +#line 85 "../../../include/ztex-debug.h" + + EP0BCH = 0; + EP0BCL = debug_read_ep0(); +#line 96 "../../../include/ztex-conf.h" + + break; +#line 384 "../../../include/ztex-isr.h" + + default: + EP0BCH = 0; + EP0BCL = 0; + } +#line 30 "../../../include/ztex-conf.h" + EXIF &= ~16; // clear USB interrupt flag +#line 30 "../../../include/ztex-conf.h" + EPIRQ = 1; // clear EP0IN IRQ +#line 391 "../../../include/ztex-isr.h" + EUSB = 1; +} + +/* ********************************************************************* + ***** EP0OUT_ISR **************************************************** + ********************************************************************* */ +static void EP0OUT_ISR () interrupt +{ +#line 30 "../../../include/ztex-conf.h" + EUSB = 0; // block all USB interrupts +#line 400 "../../../include/ztex-isr.h" + if ( ep0_vendor_cmd_setup ) { + ep0_vendor_cmd_setup = 0; + ep0_payload_remaining = (SETUPDAT[7] << 8) | SETUPDAT[6]; + ep0_vendor_cmd_su(); + } + + ep0_payload_update(); + + switch ( ep0_prev_setup_request ) { +#line 117 "../../../include/ztex-conf.h" + +case 0x39: +#line 236 "../../../include/ztex-eeprom.h" + + eeprom_write_ep0(EP0BCL); +#line 119 "../../../include/ztex-conf.h" + + break; +#line 409 "../../../include/ztex-isr.h" + + } + + EP0BCL = 0; + +#line 30 "../../../include/ztex-conf.h" + EXIF &= ~16; // clear main USB interrupt flag +#line 30 "../../../include/ztex-conf.h" + EPIRQ = 2; // clear EP0OUT IRQ +#line 416 "../../../include/ztex-isr.h" + if ( ep0_payload_remaining == 0 ) { +#line 30 "../../../include/ztex-conf.h" + EP0CS |= 0x80; // clear the HSNAK bit +#line 418 "../../../include/ztex-isr.h" + } + EUSB = 1; +} + + +/* ********************************************************************* + ***** EP1IN_ISR ***************************************************** + ********************************************************************* */ +void EP1IN_ISR() interrupt +{ + EXIF &= ~16; + EPIRQ = 4; + +} + +/* ********************************************************************* + ***** EP1OUT_ISR **************************************************** + ********************************************************************* */ +void EP1OUT_ISR() interrupt +{ + EXIF &= ~16; + EPIRQ = 8; +} + +/* ********************************************************************* + ***** EP2_ISR ******************************************************* + ********************************************************************* */ +void EP2_ISR() interrupt +{ + EXIF &= ~16; + EPIRQ = 16; +} + +/* ********************************************************************* + ***** EP4_ISR ******************************************************* + ********************************************************************* */ +void EP4_ISR() interrupt +{ + EXIF &= ~16; + EPIRQ = 32; +} + +/* ********************************************************************* + ***** EP6_ISR ******************************************************* + ********************************************************************* */ +void EP6_ISR() interrupt +{ + EXIF &= ~16; + EPIRQ = 64; +} + +/* ********************************************************************* + ***** EP8_ISR ******************************************************* + ********************************************************************* */ +void EP8_ISR() interrupt +{ + EXIF &= ~16; + EPIRQ = 128; +} + +#line 120 "../../../include/ztex.h" + + + +/* ********************************************************************* + ***** init_USB ****************************************************** + ********************************************************************* */ +#line 152 "../../../include/ztex.h" + +#line 164 "../../../include/ztex.h" + +void init_USB () +{ + USBCS |= 0x08; + + CPUCS = 16 | 2; + CKCON &= ~7; + +#line 188 "../../../include/ztex.h" + + + + EA = 0; + EUSB = 0; + +#line 122 "../../../include/ezintavecs.h" + { + INT8VEC_USB.op=0x02; + INT8VEC_USB.addrH = 0x01; + INT8VEC_USB.addrL = 0xb8; + INTSETUP |= 8; +#line 194 "../../../include/ztex.h" +} + +#line 114 "../../../include/ezintavecs.h" + { + INTVEC_SUDAV.op=0x02; + INTVEC_SUDAV.addrH=((unsigned short)(& SUDAV_ISR)) >> 8; + INTVEC_SUDAV.addrL=(unsigned short)(& SUDAV_ISR); +#line 196 "../../../include/ztex.h" +} +#line 114 "../../../include/ezintavecs.h" + { + INTVEC_SOF.op=0x02; + INTVEC_SOF.addrH=((unsigned short)(& SOF_ISR)) >> 8; + INTVEC_SOF.addrL=(unsigned short)(& SOF_ISR); +#line 197 "../../../include/ztex.h" +} +#line 114 "../../../include/ezintavecs.h" + { + INTVEC_SUTOK.op=0x02; + INTVEC_SUTOK.addrH=((unsigned short)(& SUTOK_ISR)) >> 8; + INTVEC_SUTOK.addrL=(unsigned short)(& SUTOK_ISR); +#line 198 "../../../include/ztex.h" +} +#line 114 "../../../include/ezintavecs.h" + { + INTVEC_SUSPEND.op=0x02; + INTVEC_SUSPEND.addrH=((unsigned short)(& SUSP_ISR)) >> 8; + INTVEC_SUSPEND.addrL=(unsigned short)(& SUSP_ISR); +#line 199 "../../../include/ztex.h" +} +#line 114 "../../../include/ezintavecs.h" + { + INTVEC_USBRESET.op=0x02; + INTVEC_USBRESET.addrH=((unsigned short)(& URES_ISR)) >> 8; + INTVEC_USBRESET.addrL=(unsigned short)(& URES_ISR); +#line 200 "../../../include/ztex.h" +} +#line 114 "../../../include/ezintavecs.h" + { + INTVEC_HISPEED.op=0x02; + INTVEC_HISPEED.addrH=((unsigned short)(& HSGRANT_ISR)) >> 8; + INTVEC_HISPEED.addrL=(unsigned short)(& HSGRANT_ISR); +#line 201 "../../../include/ztex.h" +} +#line 114 "../../../include/ezintavecs.h" + { + INTVEC_EP0ACK.op=0x02; + INTVEC_EP0ACK.addrH=((unsigned short)(& EP0ACK_ISR)) >> 8; + INTVEC_EP0ACK.addrL=(unsigned short)(& EP0ACK_ISR); +#line 202 "../../../include/ztex.h" +} + +#line 114 "../../../include/ezintavecs.h" + { + INTVEC_EP0IN.op=0x02; + INTVEC_EP0IN.addrH=((unsigned short)(& EP0IN_ISR)) >> 8; + INTVEC_EP0IN.addrL=(unsigned short)(& EP0IN_ISR); +#line 204 "../../../include/ztex.h" +} +#line 114 "../../../include/ezintavecs.h" + { + INTVEC_EP0OUT.op=0x02; + INTVEC_EP0OUT.addrH=((unsigned short)(& EP0OUT_ISR)) >> 8; + INTVEC_EP0OUT.addrL=(unsigned short)(& EP0OUT_ISR); +#line 205 "../../../include/ztex.h" +} +#line 114 "../../../include/ezintavecs.h" + { + INTVEC_EP1IN.op=0x02; + INTVEC_EP1IN.addrH=((unsigned short)(& EP1IN_ISR)) >> 8; + INTVEC_EP1IN.addrL=(unsigned short)(& EP1IN_ISR); +#line 206 "../../../include/ztex.h" +} +#line 114 "../../../include/ezintavecs.h" + { + INTVEC_EP1OUT.op=0x02; + INTVEC_EP1OUT.addrH=((unsigned short)(& EP1OUT_ISR)) >> 8; + INTVEC_EP1OUT.addrL=(unsigned short)(& EP1OUT_ISR); +#line 207 "../../../include/ztex.h" +} +#line 114 "../../../include/ezintavecs.h" + { + INTVEC_EP2.op=0x02; + INTVEC_EP2.addrH=((unsigned short)(& EP2_ISR)) >> 8; + INTVEC_EP2.addrL=(unsigned short)(& EP2_ISR); +#line 208 "../../../include/ztex.h" +} +#line 114 "../../../include/ezintavecs.h" + { + INTVEC_EP4.op=0x02; + INTVEC_EP4.addrH=((unsigned short)(& EP4_ISR)) >> 8; + INTVEC_EP4.addrL=(unsigned short)(& EP4_ISR); +#line 209 "../../../include/ztex.h" +} +#line 114 "../../../include/ezintavecs.h" + { + INTVEC_EP6.op=0x02; + INTVEC_EP6.addrH=((unsigned short)(& EP6_ISR)) >> 8; + INTVEC_EP6.addrL=(unsigned short)(& EP6_ISR); +#line 210 "../../../include/ztex.h" +} +#line 114 "../../../include/ezintavecs.h" + { + INTVEC_EP8.op=0x02; + INTVEC_EP8.addrH=((unsigned short)(& EP8_ISR)) >> 8; + INTVEC_EP8.addrL=(unsigned short)(& EP8_ISR); +#line 211 "../../../include/ztex.h" +} + + EXIF &= ~16; + USBIRQ = 0x7f; + USBIE |= 0x7f; + EPIRQ = 0xff; + EPIE = 0xff; + + EUSB = 1; + EA = 1; + +#line 154 "../../../include/ztex.h" + EP1INCFG = 128 | 32; +#line 41 "../../../include/ezregs.h" + _asm + nop + nop + nop + nop + _endasm; +#line 162 "../../../include/ztex.h" + +#line 222 "../../../include/ztex.h" + +#line 154 "../../../include/ztex.h" + EP1OUTCFG = 128 | 32; +#line 41 "../../../include/ezregs.h" + _asm + nop + nop + nop + nop + _endasm; +#line 162 "../../../include/ztex.h" + +#line 223 "../../../include/ztex.h" + +#line 126 "../../../include/ztex.h" + EP2CFG = +#line 132 "../../../include/ztex.h" + 0 +#line 149 "../../../include/ztex.h" + ; +#line 41 "../../../include/ezregs.h" + _asm + nop + nop + nop + nop + _endasm; +#line 150 "../../../include/ztex.h" + +#line 224 "../../../include/ztex.h" + +#line 126 "../../../include/ztex.h" + EP4CFG = +#line 132 "../../../include/ztex.h" + 0 +#line 149 "../../../include/ztex.h" + ; +#line 41 "../../../include/ezregs.h" + _asm + nop + nop + nop + nop + _endasm; +#line 150 "../../../include/ztex.h" + +#line 225 "../../../include/ztex.h" + +#line 126 "../../../include/ztex.h" + EP6CFG = +#line 132 "../../../include/ztex.h" + 0 +#line 149 "../../../include/ztex.h" + ; +#line 41 "../../../include/ezregs.h" + _asm + nop + nop + nop + nop + _endasm; +#line 150 "../../../include/ztex.h" + +#line 226 "../../../include/ztex.h" + +#line 126 "../../../include/ztex.h" + EP8CFG = +#line 132 "../../../include/ztex.h" + 0 +#line 149 "../../../include/ztex.h" + ; +#line 41 "../../../include/ezregs.h" + _asm + nop + nop + nop + nop + _endasm; +#line 150 "../../../include/ztex.h" + +#line 227 "../../../include/ztex.h" + + +#line 236 "../../../include/ztex.h" + debug_init(); +#line 238 "../../../include/ztex.h" + + USBCS |= 128 | 2; + wait(250); + USBCS &= ~0x08; +} + + +#line 30 "debug.c" + + +void main(void) +{ + WORD i; + BYTE b; + +#line 30 "../../../include/ztex-conf.h" +// init everything +#line 38 "debug.c" + init_USB(); + + i=0; + while (1) { + +#line 30 "../../../include/ztex-conf.h" + debug_msg_buf[0] = i; // write second counter to the message buffer +#line 44 "debug.c" + debug_msg_buf[1] = i >> 8; +#line 30 "../../../include/ztex-conf.h" + debug_add_msg(); // add the message to the stack +#line 46 "debug.c" + i+=1; + +#line 30 "../../../include/ztex-conf.h" + for (b=0; b<100; b++) { // 100 x 10ms +#line 30 "../../../include/ztex-conf.h" + debug_stack_ptr[2] = b; // write the 10ms tick number to the current message in stack +#line 30 "../../../include/ztex-conf.h" + wait(10); // wait 10ms +#line 51 "debug.c" + } + } +} + Index: debug/debug.c =================================================================== --- debug/debug.c (nonexistent) +++ debug/debug.c (revision 3) @@ -0,0 +1,54 @@ +/*! + debug -- debug helper example + Copyright (C) 2009-2010 ZTEX e.K. + http://www.ztex.de + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License version 3 as + published by the Free Software Foundation. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see http://www.gnu.org/licenses/. +!*/ + + +#include[ztex-conf.h] // Loads the configuration macros, see ztex-conf.h for the available macros +#include[ztex-utils.h] // include basic functions + +// thin initializes the debug helper with a 32 messages stack and 4 bytes per message +ENABLE_DEBUG(32,3); + +// this product string is also used for identification by the host software +#define[PRODUCT_STRING]["debug for EZ-USB devices"] + +// include the main part of the firmware kit, define the descriptors, ... +#include[ztex.h] + +void main(void) +{ + WORD i; + BYTE b; + +// init everything + init_USB(); + + i=0; + while (1) { + + debug_msg_buf[0] = i; // write second counter to the message buffer + debug_msg_buf[1] = i >> 8; + debug_add_msg(); // add the message to the stack + i+=1; + + for (b=0; b<100; b++) { // 100 x 10ms + debug_stack_ptr[2] = b; // write the 10ms tick number to the current message in stack + wait(10); // wait 10ms + } + } +} + Index: debug/debug.rel =================================================================== --- debug/debug.rel (nonexistent) +++ debug/debug.rel (revision 3) @@ -0,0 +1,2176 @@ +XH +H 5C areas 1F4 global symbols +M debug_tmp +O -mmcs51 --model-small +S _GPIF_WAVE0_DATA DefE400 +S _GPIFHOLDAMOUNT DefE60C +S _EP8FIFOCFG DefE61B +S _EPIRQ DefE65F +S _USBERRIE DefE662 +S _UDMACRCQUALIFIER DefE67F +S _EP6CS DefE6A5 +S _wLengthH DefE6BF +S _INTVEC_IBN Def0140 +S _INTVEC_EP6PING Def0158 +S _SBUF1 Def00C1 +S _SM2_0 Def009D +S _SM1_1 Def00C6 +S _EIEX6 Def00EC +S _GPIF_WAVE1_DATA DefE420 +S _EP1INBC DefE68F +S _EP8FIFOBCL DefE6B2 +S _SM2_1 Def00C5 +S _EXEN2 Def00CB +S _GPIF_WAVE2_DATA DefE440 +S _EPIE DefE65E +S _WAKEUPCS DefE682 +S _EP1OUTBC DefE68D +S _EPXCS DefE6A3 +S _EP8CS DefE6A6 +S _EP2GPIFTRIG DefE6D4 +S _INTVEC_EP8PING Def015C +S _SP Def0081 +S _SCON0 Def0098 +S _CPRL2 Def00C8 +S _EI2C Def00E9 +S _GPIF_WAVE3_DATA DefE460 +S _INT2IVEC DefE666 +S _SCON1 Def00C0 +S _SMOD1 Def00DF +S _MICROFRAME DefE686 +S _SUDPTRCTL DefE6B5 +S _wLengthL DefE6BE +S _EP4GPIFTRIG DefE6DC +S _EP2468STAT Def00AA +S _OV Def00D2 +S _INT4IVEC DefE667 +S _GPIFSGLDATLNOX Def00BF +S _T2CON Def00C8 +S _EP6GPIFTRIG DefE6E4 +S _ACC Def00E0 +S __mcs51_genRAMCLEAR Ref0000 +S _EP2FIFOBUF DefF000 +S _AUTOPTRH1 Def009A +S _BREAKPT DefE605 +S _EP2FIFOPFH DefE630 +S _EP8GPIFTRIG DefE6EC +S _ZTEX_DESCRIPTOR Def006C +S _AUTOPTRH2 Def009D +S _IOA0 Def0080 +S _SETUPDAT DefE6B8 +S _EP2GPIFFLGSEL DefE6D2 +S _EP4FIFOBUF DefF400 +S _INT8VEC_USB Def0043 +S _INTVEC_SUSPEND Def010C +S _IOA1 Def0081 +S _IOB0 Def0090 +S _RI_0 Def0098 +S _EIPX4 Def00FA +S _EP4FIFOPFH DefE632 +S _EP2ISOINPKTS DefE640 +S _bRequest DefE6B9 +S _GPIFREADYCFG DefE6F3 +S _INTVEC_GPIFWF Def01B4 +S _IOA2 Def0082 +S _IOB1 Def0091 +S _IOC0 Def00A0 +S _RI_1 Def00C0 +S _EIPX5 Def00FB +S _FLOWSTBHPERIOD DefE6CD +S _EP4GPIFFLGSEL DefE6DA +S _EP6FIFOBUF DefF800 +S _DPH0 Def0083 +S _EXIF Def0091 +S _AUTOPTRL1 Def009B +S _IOA3 Def0083 +S _IOB2 Def0092 +S _TI_0 Def0099 +S _IOC1 Def00A1 +S _IOD0 Def00B0 +S _RCLK Def00CD +S _EIPX6 Def00FC +S _EP2FIFOPFL DefE631 +S _EP6FIFOPFH DefE634 +S _EP4ISOINPKTS DefE641 +S _PRODUCT_ID Def0072 +S _DPH1 Def0085 +S _AUTOPTRL2 Def009E +S _IOA4 Def0084 +S _IOB3 Def0093 +S _IOC2 Def00A2 +S _IOD1 Def00B1 +S _TI_1 Def00C1 +S _ECC1B0 DefE62A +S _EP6GPIFFLGSEL DefE6E2 +S _EP8FIFOBUF DefFC00 +S _IOA5 Def0085 +S _IOB4 Def0094 +S _IOC3 Def00A3 +S _IOD2 Def00B2 +S _TCLK Def00CC +S _PI2C Def00F9 +S _ECC1B1 DefE62B +S _ECC2B0 DefE62D +S _EP4FIFOPFL DefE633 +S _EP8FIFOPFH DefE636 +S _EP6ISOINPKTS DefE642 +S _FNADDR DefE687 +S _INT6VEC_RESUME Def0033 +S _INT10VEC_GPIF Def0053 +S _INTVEC_EP2 Def0130 +S _IOA6 Def0086 +S _IOB5 Def0095 +S _IOC4 Def00A4 +S _IOD3 Def00B3 +S _EUSB Def00E8 +S _ECC1B2 DefE62C +S _ECC2B1 DefE62E +S _EP8GPIFFLGSEL DefE6EA +S _INTVEC_SOF Def0104 +S _DPL0 Def0082 +S _PCON Def0087 +S _IOA7 Def0087 +S _IOB6 Def0096 +S _IOC5 Def00A5 +S _IOD4 Def00B4 +S _GPIF_WAVE_DATA DefE400 +S _ECC2B2 DefE62F +S _EP6FIFOPFL DefE635 +S _EP8ISOINPKTS DefE643 +S _I2CS DefE678 +S _INTVEC_EP4 Def0134 +S _DPL1 Def0084 +S _IOB7 Def0097 +S _IOC6 Def00A6 +S _IOD5 Def00B5 +S _GPIFIRQ DefE661 +S _EP0BCH DefE68A +S _EP01STAT Def00BA +S _IOC7 Def00A7 +S _IOD6 Def00B6 +S _EP8FIFOPFL DefE637 +S _EP1INCS DefE6A2 +S _INTVEC_EP6 Def0138 +S _EIE Def00E8 +S _IOD7 Def00B7 +S _RESI Def00DC +S _GPIFIE DefE660 +S _EXTAUTODAT1 DefE67B +S _EP2BCH DefE690 +S _EP1OUTCS DefE6A1 +S _INTVEC_GPIFDONE Def01B0 +S _TCON Def0088 +S _TMOD Def0089 +S __XPAGE Def0092 +S _EXTAUTODAT2 DefE67C +S _INTVEC_EP8 Def013C +S _OEA Def00B2 +S _EXF2 Def00CE +S _EP0BCL DefE68B +S _EP4BCH DefE694 +S _OEB Def00B3 +S _EP2CFG DefE612 +S _EP2FIFOIRQ DefE651 +S _wIndexH DefE6BD +S _GPIFREADYSTAT DefE6F4 +S _OEC Def00B4 +S _EP2BCL DefE691 +S _EP6BCH DefE698 +S _OED Def00B5 +S _EP4CFG DefE613 +S _EP2FIFOIE DefE650 +S _EP4FIFOIRQ DefE653 +S _IOA Def0080 +S _OEE Def00B6 +S _EP4BCL DefE695 +S _EP8BCH DefE69C +S _INTVEC_EP2EF Def0190 +S _INTERFACE_CAPABILITIES Def0078 +S _IOB Def0090 +S _PUSB Def00F8 +S _EP6CFG DefE614 +S _EP4FIFOIE DefE652 +S _EP6FIFOIRQ DefE655 +S _wIndexL DefE6BC +S _INT4VEC_USART0 Def0023 +S _INTVEC_EP2FF Def01A0 +S _IOC Def00A0 +S _INTSETUP DefE668 +S _EP6BCL DefE699 +S _wValueH DefE6BB +S _INTVEC_EP4EF Def0194 +S _IOD Def00B0 +S _EP8CFG DefE615 +S _EP6FIFOIE DefE654 +S _EP8FIFOIRQ DefE657 +S _USBFRAMEH DefE684 +S _INT1VEC_T0 Def000B +S _IOE Def00B1 +S _EP2AUTOINLENH DefE620 +S _EP8BCL DefE69D +S _GPIFABORT DefE6F5 +S _INTVEC_EP6EF Def0198 +S _INT2CLR Def00A1 +S _EIP Def00F8 +S _IE0 Def0089 +S _EP8FIFOIE DefE656 +S _INT7VEC_USART1 Def003B +S _INTVEC_EP6FF Def01A8 +S _IE1 Def008B +S _EP4AUTOINLENH DefE622 +S _wValueL DefE6BA +S _INT3VEC_T1 Def001B +S _INTVEC_EP8EF Def019C +S _INT4CLR Def00A2 +S _AUTOPTRSETUP Def00AF +S _RCAP2H Def00CB +S _USBFRAMEL DefE685 +S _FLOWEQ0CTL DefE6C8 +S _FLOWSTB DefE6CB +S _XGPIFSGLDATLX DefE6F1 +S _INTVEC_EP8FF Def01AC +S _INT6 Def00DB +S _EP2AUTOINLENL DefE621 +S _EP6AUTOINLENH DefE624 +S _SUSPEND DefE681 +S _FLOWEQ1CTL DefE6C9 +S _EP0BUF DefE740 +S _FW_VERSION Def0076 +S _GPIFWFSELECT DefE6C0 +S _INT5VEC_T2 Def002B +S _INTVEC_EP2ISOERR Def0170 +S _EP4AUTOINLENL DefE623 +S _EP8AUTOINLENH DefE626 +S _INTVEC_EP0IN Def0120 +S _RCAP2L Def00CA +S _AC Def00D6 +S _IFCONFIG DefE601 +S _IBNIRQ DefE659 +S _GPIFADRH DefE6C4 +S _XGPIFSGLDATH DefE6F0 +S _INTVEC_EP0OUT Def0124 +S _INTVEC_EP1IN Def0128 +S _INTVEC_EP4ISOERR Def0174 +S _INTVEC_EP2PF Def0180 +S _MODULE_RESERVED Def007E +S _EP6AUTOINLENL DefE625 +S _NAKIRQ DefE65B +S _FLOWLOGIC DefE6C7 +S _INTVEC_EP1OUT Def012C +S _EA Def00AF +S _FIFORESET DefE604 +S _IBNIE DefE658 +S _UDMACRCH DefE67D +S _GPIFIDLECTL DefE6C2 +S _INTVEC_EP6ISOERR Def0178 +S _INTVEC_EP4PF Def0184 +S _DPS Def0086 +S _EP8AUTOINLENL DefE627 +S _NAKIE DefE65A +S _ES0 Def00AC +S _FIFOPINPOLAR DefE609 +S _GPIFADRL DefE6C5 +S _EP2GPIFPFSTOP DefE6D3 +S _INTVEC_EP8ISOERR Def017C +S _INTVEC_EP6PF Def0188 +S _GPIFSGLDATLX Def00BE +S _ET0 Def00A9 +S _ES1 Def00AE +S _CT2 Def00C9 +S _SUDPTRH DefE6B3 +S _INTVEC_HISPEED Def0114 +S _MPAGE Def0092 +S _TF0 Def008D +S _ET1 Def00AB +S _UDMACRCL DefE67E +S _EP4GPIFPFSTOP DefE6DB +S _INTVEC_SUDAV Def0100 +S _INTVEC_EP8PF Def018C +S _EP24FIFOFLGS Def00AB +S _TF1 Def008F +S _ET2 Def00AD +S _TH0 Def008C +S _TF2 Def00CF +S __mcs51_genXINIT Ref0000 +S _EP1INCFG DefE611 +S _TOGCTL DefE683 +S _EP6GPIFPFSTOP DefE6E3 +S _INT11VEC_IE5 Def005B +S _TH1 Def008D +S _GPIFSGLDATH Def00BD +S _IT0 Def0088 +S _EX0 Def00A8 +S _EP1OUTCFG DefE610 +S _ECCRESET DefE629 +S _SUDPTRL DefE6B4 +S _ZTEX_DESCRIPTOR_VERSION Def006D +S _CKCON Def008E +S _IE Def00A8 +S _TH2 Def00CD +S _EICON Def00D8 +S _IT1 Def008A +S _EX1 Def00AA +S _CLRERRCNT DefE665 +S _GPIFTCB0 DefE6D1 +S _EP8GPIFPFSTOP DefE6EB +S _INT12VEC_IE6 Def0063 +S _REVCTL DefE60B +S _ERRCNTLIM DefE664 +S _GPIFTCB1 DefE6D0 +S _INTVEC_ERRLIMIT Def0160 +S _TL0 Def008A +S _BREG0 Def00F0 +S _UART230 DefE608 +S _GPIFTCB2 DefE6CF +S _TL1 Def008B +S _BREG1 Def00F1 +S _GPIFTCB3 DefE6CE +S _TL2 Def00CC +S _BREG2 Def00F2 +S _EP68FIFOFLGS Def00AC +S _PS0 Def00BC +S _BREG3 Def00F3 +S _I2DAT DefE679 +S _REN_0 Def009C +S _PT0 Def00B9 +S _PS1 Def00BE +S _BREG4 Def00F4 +S _BPADDRH DefE606 +S _INTVEC_USBRESET Def0110 +S _PT1 Def00BB +S _REN_1 Def00C4 +S _RS0 Def00D3 +S _BREG5 Def00F5 +S _USBIRQ DefE65D +S _PORTACFG DefE670 +S _FLOWSTBEDGE DefE6CC +S _INT0VEC_IE0 Def0003 +S _INTERFACE_VERSION Def0077 +S _TR0 Def008C +S _PT2 Def00BD +S _PF Def00D0 +S _RS1 Def00D4 +S _F0 Def00D5 +S _BREG6 Def00F6 +S _PINFLAGSAB DefE602 +S _EP2FIFOFLGS DefE6A7 +S _SN_STRING Def008A +S _TR1 Def008E +S _F1 Def00D1 +S _ACC0 Def00E0 +S _BREG7 Def00F7 +S _USBIE DefE65C +S _PORTCCFG DefE671 +S _EP2FIFOBCH DefE6AB +S _ZTEXID Def006E +S _PX0 Def00B8 +S _TR2 Def00CA +S _ERESI Def00DD +S _ACC1 Def00E1 +S _BPADDRL DefE607 +S _EP4FIFOFLGS DefE6A8 +S _GPIFCTLCFG DefE6C3 +S _FLOWSTATE DefE6C6 +S _INT2VEC_IE1 Def0013 +S _IP Def00B8 +S _PX1 Def00BA +S _ACC2 Def00E2 +S _REVID DefE60A +S _PORTECFG DefE672 +S _EP4FIFOBCH DefE6AD +S _bmRequestType DefE6B8 +S _GPIFIDLECS DefE6C1 +S _FLOWHOLDOFF DefE6CA +S _EP1INBUF DefE7C0 +S _PSW Def00D0 +S _ACC3 Def00E3 +S __sdcc_gsinit_startup Ref0000 +S _PINFLAGSCD DefE603 +S _EP2FIFOCFG DefE618 +S _ECCCFG DefE628 +S _XAUTODAT1 DefE67B +S _EP0CS DefE6A0 +S _EP6FIFOFLGS DefE6A9 +S _EP1OUTBUF DefE780 +S _INTVEC_EP0PING Def0148 +S _RB8_0 Def009A +S _ACC4 Def00E4 +S _XAUTODAT2 DefE67C +S _EP2FIFOBCL DefE6AC +S _EP6FIFOBCH DefE6AF +S _INTVEC_EP0ACK Def0118 +S _INTVEC_EP1PING Def014C +S _GPIFTRIG Def00BB +S _RB8_1 Def00C2 +S _CY Def00D7 +S _ACC5 Def00E5 +S _EP4FIFOCFG DefE619 +S _INPKTEND DefE648 +S _EP2CS DefE6A3 +S _EP8FIFOFLGS DefE6AA +S _INTVEC_EP2PING Def0150 +S _TB8_0 Def009B +S _ACC6 Def00E6 +S _GPCR2 DefE50D +S _CPUCS DefE600 +S _OUTPKTEND DefE649 +S _I2CTL DefE67A +S _EP4FIFOBCL DefE6AE +S _EP8FIFOBCH DefE6B1 +S _XGPIFSGLDATLNOX DefE6F2 +S _INTVEC_SUTOK Def0108 +S _TB8_1 Def00C3 +S _ACC7 Def00E7 +S _EP6FIFOCFG DefE61A +S _USBERRIRQ DefE663 +S _EP4CS DefE6A4 +S _INT9VEC_I2C Def004B +S _INTVEC_EP4PING Def0154 +S _SM0_0 Def009F +S _EIEX4 Def00EA +S __mcs51_genXRAMCLEAR Ref0000 +S _USBCS DefE680 +S _EP6FIFOBCL DefE6B0 +S _SBUF0 Def0099 +S _BREG Def00F0 +S _SM1_0 Def009E +S _SM0_1 Def00C7 +S _EIEX5 Def00EB +A _CODE size 0 flags 0 addr 0 +A RSEG size 0 flags 0 addr 0 +A REG_BANK_0 size 8 flags 4 addr 0 +A BIT_BANK size 1 flags 4 addr 0 +A DSEG size 7 flags 0 addr 0 +S _eeprom_read_PARM_2 Def0001 +S _eeprom_read_PARM_3 Def0003 +S _eeprom_write_PARM_2 Def0004 +S _eeprom_write_PARM_3 Def0006 +S _eeprom_select_PARM_2 Def0000 +A OSEG size 2 flags 4 addr 0 +S _sendStringDescriptor_PARM_3 Def0001 +S _sendStringDescriptor_PARM_2 Def0000 +A SSEG size 1 flags 0 addr 0 +S __start__stack Def0000 +A ISEG size 0 flags 0 addr 0 +A IABS size 0 flags 8 addr 0 +A BSEG size 0 flags 80 addr 0 +A PSEG size 0 flags 50 addr 0 +A XSEG size 70 flags 40 addr 0 +S _debug_counter Def0005 +S _debug_stack_ptr Def0069 +S _debug_stack Def0009 +S _debug_read_addr Def006E +S _eeprom_addr Def0000 +S _eeprom_write_checksum Def0004 +S _debug_msg_size Def0008 +S _debug_msg_buf Def006B +S _debug_stack_size Def0007 +S _eeprom_write_bytes Def0002 +A XABS size 0 flags 48 addr 0 +A XISEG size D flags 40 addr 0 +S _ep0_payload_remaining Def0000 +S _ISOFRAME_COUNTER Def0005 +S _ep0_payload_transfer Def0002 +S _ep0_vendor_cmd_setup Def0004 +S _ep0_prev_setup_request Def0003 +A HOME size 8 flags 20 addr 0 +S __sdcc_program_startup Def0003 +A GSINIT0 size 0 flags 20 addr 0 +A GSINIT1 size 0 flags 20 addr 0 +A GSINIT2 size 0 flags 20 addr 0 +A GSINIT3 size 0 flags 20 addr 0 +A GSINIT4 size 0 flags 20 addr 0 +A GSINIT5 size 0 flags 20 addr 0 +A GSINIT size 0 flags 20 addr 0 +A GSFINAL size 3 flags 20 addr 0 +A CSEG size E23 flags 20 addr 0 +S _EP0ACK_ISR Def0A2B +S _SUTOK_ISR Def09D3 +S _HSGRANT_ISR Def0A15 +S _main Def0DD2 +S _debug_read_ep0 Def03B3 +S _eeprom_select Def00E0 +S _eeprom_read_ep0 Def02F0 +S _uwait Def0024 +S _URES_ISR Def09FF +S _i2c_waitRead Def0083 +S _MEM_COPY1_int Def0048 +S _EP2_ISR Def0B92 +S _wait Def0000 +S _debug_add_msg Def0351 +S _SOF_ISR Def09BD +S _eeprom_write_ep0 Def0324 +S _EP4_ISR Def0BA8 +S _SUSP_ISR Def09E9 +S _EP6_ISR Def0BBE +S _abscode_intvec Def0000 +S _EP8_ISR Def0BD4 +S _i2c_waitWrite Def0056 +S _i2c_waitStart Def00AC +S _eeprom_read Def0134 +S _EP1IN_ISR Def0B66 +S _EP1OUT_ISR Def0B7C +S _eeprom_write Def023A +S _i2c_waitStop Def00C6 +S _debug_init Def0395 +S _abscode_identity Def03ED +S _init_USB Def0BEA +A ABSCODE size 0 flags 28 addr 0 +A ABSCODE0 size 3 flags 28 addr 0 +A ABSCODE3 size 1 flags 28 addr 3 +A ABSCODEb size 1 flags 28 addr B +A ABSCODE13 size 1 flags 28 addr 13 +A ABSCODE1b size 1 flags 28 addr 1B +A ABSCODE23 size 1 flags 28 addr 23 +A ABSCODE2b size 1 flags 28 addr 2B +A ABSCODE33 size 1 flags 28 addr 33 +A ABSCODE3b size 1 flags 28 addr 3B +A ABSCODE43 size 1 flags 28 addr 43 +A ABSCODE4b size 1 flags 28 addr 4B +A ABSCODE53 size 1 flags 28 addr 53 +A ABSCODE5b size 1 flags 28 addr 5B +A ABSCODE63 size 1 flags 28 addr 63 +A ABSCODE100 size 1 flags 28 addr 100 +A ABSCODE104 size 1 flags 28 addr 104 +A ABSCODE108 size 1 flags 28 addr 108 +A ABSCODE10c size 1 flags 28 addr 10C +A ABSCODE110 size 1 flags 28 addr 110 +A ABSCODE114 size 1 flags 28 addr 114 +A ABSCODE118 size 1 flags 28 addr 118 +A ABSCODE120 size 1 flags 28 addr 120 +A ABSCODE124 size 1 flags 28 addr 124 +A ABSCODE128 size 1 flags 28 addr 128 +A ABSCODE12c size 1 flags 28 addr 12C +A ABSCODE130 size 1 flags 28 addr 130 +A ABSCODE134 size 1 flags 28 addr 134 +A ABSCODE138 size 1 flags 28 addr 138 +A ABSCODE13c size 1 flags 28 addr 13C +A ABSCODE140 size 1 flags 28 addr 140 +A ABSCODE148 size 1 flags 28 addr 148 +A ABSCODE14c size 1 flags 28 addr 14C +A ABSCODE150 size 1 flags 28 addr 150 +A ABSCODE154 size 1 flags 28 addr 154 +A ABSCODE158 size 1 flags 28 addr 158 +A ABSCODE15c size 1 flags 28 addr 15C +A ABSCODE160 size 1 flags 28 addr 160 +A ABSCODE170 size 1 flags 28 addr 170 +A ABSCODE174 size 1 flags 28 addr 174 +A ABSCODE178 size 1 flags 28 addr 178 +A ABSCODE17c size 1 flags 28 addr 17C +A ABSCODE180 size 1 flags 28 addr 180 +A ABSCODE184 size 1 flags 28 addr 184 +A ABSCODE188 size 1 flags 28 addr 188 +A ABSCODE18c size 1 flags 28 addr 18C +A ABSCODE190 size 1 flags 28 addr 190 +A ABSCODE194 size 1 flags 28 addr 194 +A ABSCODE198 size 1 flags 28 addr 198 +A ABSCODE19c size 1 flags 28 addr 19C +A ABSCODE1a0 size 1 flags 28 addr 1A0 +A ABSCODE1a8 size 1 flags 28 addr 1A8 +A ABSCODE1ac size 1 flags 28 addr 1AC +A ABSCODE1b0 size 1 flags 28 addr 1B0 +A ABSCODE1b4 size 1 flags 28 addr 1B4 +A ABSCODE1b8 size 1 flags 28 addr 1B8 +A ABSCODE6c size 1 flags 28 addr 6C +A ABSCODE6d size 1 flags 28 addr 6D +A ABSCODE6e size 4 flags 28 addr 6E +A ABSCODE72 size 4 flags 28 addr 72 +A ABSCODE76 size 1 flags 28 addr 76 +A ABSCODE77 size 1 flags 28 addr 77 +A ABSCODE78 size 6 flags 28 addr 78 +A ABSCODE7e size C flags 28 addr 7E +A ABSCODE8a size A flags 28 addr 8A +A CONST size 8D flags 20 addr 0 +S _manufacturerString Def0000 +S _HighSpeedConfigDescriptor Def0045 +S _PadByte Def0028 +S _HighSpeedConfigDescriptor_PadByte Def0065 +S _DeviceDescriptor Def0029 +S _DeviceQualifierDescriptor Def003B +S _FullSpeedConfigDescriptor Def0067 +S _FullSpeedConfigDescriptor_PadByte Def0087 +S _EmptyStringDescriptor Def0089 +S _configurationString Def001E +S _productString Def0005 +A XINIT size D flags 20 addr 0 +A CABS size 0 flags 28 addr 0 +T 00 00 +R 00 00 00 02 +T 00 00 +R 00 00 00 03 +T 00 00 +R 00 00 00 03 +T 00 00 +R 00 00 00 04 +T 00 00 +R 00 00 00 04 +T 00 01 +R 00 00 00 04 +T 00 01 +R 00 00 00 04 +T 00 03 +R 00 00 00 04 +T 00 03 +R 00 00 00 04 +T 00 04 +R 00 00 00 04 +T 00 04 +R 00 00 00 04 +T 00 06 +R 00 00 00 04 +T 00 06 +R 00 00 00 04 +T 00 00 +R 00 00 00 05 +T 00 00 +R 00 00 00 05 +T 00 01 +R 00 00 00 05 +T 00 01 +R 00 00 00 05 +T 00 00 +R 00 00 00 06 +T 00 00 +R 00 00 00 06 +T 00 00 +R 00 00 00 0B +T 00 00 +R 00 00 00 0B +T 00 02 +R 00 00 00 0B +T 00 02 +R 00 00 00 0B +T 00 04 +R 00 00 00 0B +T 00 04 +R 00 00 00 0B +T 00 05 +R 00 00 00 0B +T 00 05 +R 00 00 00 0B +T 00 07 +R 00 00 00 0B +T 00 07 +R 00 00 00 0B +T 00 08 +R 00 00 00 0B +T 00 08 +R 00 00 00 0B +T 00 09 +R 00 00 00 0B +T 00 09 +R 00 00 00 0B +T 00 69 +R 00 00 00 0B +T 00 69 +R 00 00 00 0B +T 00 6B +R 00 00 00 0B +T 00 6B +R 00 00 00 0B +T 00 6E +R 00 00 00 0B +T 00 6E +R 00 00 00 0B +T 00 00 +R 00 00 00 0D +T 00 00 +R 00 00 00 0D +T 00 02 +R 00 00 00 0D +T 00 02 +R 00 00 00 0D +T 00 03 +R 00 00 00 0D +T 00 03 +R 00 00 00 0D +T 00 04 +R 00 00 00 0D +T 00 04 +R 00 00 00 0D +T 00 05 +R 00 00 00 0D +T 00 05 +R 00 00 00 0D +T 00 00 +R 00 00 00 0E +T 00 00 02 00 00 +R 00 00 00 0E 02 03 01 7E +T 00 00 02 00 03 +R 00 00 00 16 00 03 00 0E +T 00 03 +R 00 00 00 0E +T 00 03 12 0D D2 80 FE +R 00 00 00 0E 00 03 00 17 +T 00 00 +R 00 00 00 17 +T 00 00 +R 00 00 00 19 +T 00 00 +R 00 00 00 19 +T 00 00 02 02 00 +R 00 00 00 19 +T 00 03 +R 00 00 00 1A +T 00 03 32 +R 00 00 00 1A +T 00 0B +R 00 00 00 1B +T 00 0B 32 +R 00 00 00 1B +T 00 13 +R 00 00 00 1C +T 00 13 32 +R 00 00 00 1C +T 00 1B +R 00 00 00 1D +T 00 1B 32 +R 00 00 00 1D +T 00 23 +R 00 00 00 1E +T 00 23 32 +R 00 00 00 1E +T 00 2B +R 00 00 00 1F +T 00 2B 32 +R 00 00 00 1F +T 00 33 +R 00 00 00 20 +T 00 33 32 +R 00 00 00 20 +T 00 3B +R 00 00 00 21 +T 00 3B 32 +R 00 00 00 21 +T 00 43 +R 00 00 00 22 +T 00 43 32 +R 00 00 00 22 +T 00 4B +R 00 00 00 23 +T 00 4B 32 +R 00 00 00 23 +T 00 53 +R 00 00 00 24 +T 00 53 32 +R 00 00 00 24 +T 00 5B +R 00 00 00 25 +T 00 5B 32 +R 00 00 00 25 +T 00 63 +R 00 00 00 26 +T 00 63 32 +R 00 00 00 26 +T 01 00 +R 00 00 00 27 +T 01 00 32 +R 00 00 00 27 +T 01 04 +R 00 00 00 28 +T 01 04 32 +R 00 00 00 28 +T 01 08 +R 00 00 00 29 +T 01 08 32 +R 00 00 00 29 +T 01 0C +R 00 00 00 2A +T 01 0C 32 +R 00 00 00 2A +T 01 10 +R 00 00 00 2B +T 01 10 32 +R 00 00 00 2B +T 01 14 +R 00 00 00 2C +T 01 14 32 +R 00 00 00 2C +T 01 18 +R 00 00 00 2D +T 01 18 32 +R 00 00 00 2D +T 01 20 +R 00 00 00 2E +T 01 20 32 +R 00 00 00 2E +T 01 24 +R 00 00 00 2F +T 01 24 32 +R 00 00 00 2F +T 01 28 +R 00 00 00 30 +T 01 28 32 +R 00 00 00 30 +T 01 2C +R 00 00 00 31 +T 01 2C 32 +R 00 00 00 31 +T 01 30 +R 00 00 00 32 +T 01 30 32 +R 00 00 00 32 +T 01 34 +R 00 00 00 33 +T 01 34 32 +R 00 00 00 33 +T 01 38 +R 00 00 00 34 +T 01 38 32 +R 00 00 00 34 +T 01 3C +R 00 00 00 35 +T 01 3C 32 +R 00 00 00 35 +T 01 40 +R 00 00 00 36 +T 01 40 32 +R 00 00 00 36 +T 01 48 +R 00 00 00 37 +T 01 48 32 +R 00 00 00 37 +T 01 4C +R 00 00 00 38 +T 01 4C 32 +R 00 00 00 38 +T 01 50 +R 00 00 00 39 +T 01 50 32 +R 00 00 00 39 +T 01 54 +R 00 00 00 3A +T 01 54 32 +R 00 00 00 3A +T 01 58 +R 00 00 00 3B +T 01 58 32 +R 00 00 00 3B +T 01 5C +R 00 00 00 3C +T 01 5C 32 +R 00 00 00 3C +T 01 60 +R 00 00 00 3D +T 01 60 32 +R 00 00 00 3D +T 01 70 +R 00 00 00 3E +T 01 70 32 +R 00 00 00 3E +T 01 74 +R 00 00 00 3F +T 01 74 32 +R 00 00 00 3F +T 01 78 +R 00 00 00 40 +T 01 78 32 +R 00 00 00 40 +T 01 7C +R 00 00 00 41 +T 01 7C 32 +R 00 00 00 41 +T 01 80 +R 00 00 00 42 +T 01 80 32 +R 00 00 00 42 +T 01 84 +R 00 00 00 43 +T 01 84 32 +R 00 00 00 43 +T 01 88 +R 00 00 00 44 +T 01 88 32 +R 00 00 00 44 +T 01 8C +R 00 00 00 45 +T 01 8C 32 +R 00 00 00 45 +T 01 90 +R 00 00 00 46 +T 01 90 32 +R 00 00 00 46 +T 01 94 +R 00 00 00 47 +T 01 94 32 +R 00 00 00 47 +T 01 98 +R 00 00 00 48 +T 01 98 32 +R 00 00 00 48 +T 01 9C +R 00 00 00 49 +T 01 9C 32 +R 00 00 00 49 +T 01 A0 +R 00 00 00 4A +T 01 A0 32 +R 00 00 00 4A +T 01 A8 +R 00 00 00 4B +T 01 A8 32 +R 00 00 00 4B +T 01 AC +R 00 00 00 4C +T 01 AC 32 +R 00 00 00 4C +T 01 B0 +R 00 00 00 4D +T 01 B0 32 +R 00 00 00 4D +T 01 B4 +R 00 00 00 4E +T 01 B4 32 +R 00 00 00 4E +T 01 B8 +R 00 00 00 4F +T 01 B8 +R 00 00 00 4F +T 01 B8 32 +R 00 00 00 4F +T 00 00 +R 00 00 00 17 +T 00 00 AA 82 AB 83 7C 00 7D 00 +R 00 00 00 17 +T 00 08 +R 00 00 00 17 +T 00 08 C3 EC 9A ED 9B 50 14 7E B0 7F 04 +R 00 00 00 17 +T 00 13 +R 00 00 00 17 +T 00 13 1E BE FF 01 1F +R 00 00 00 17 +T 00 18 +R 00 00 00 17 +T 00 18 EE 4F 70 F7 0C BC 00 E8 0D 80 E5 +R 00 00 00 17 +T 00 23 +R 00 00 00 17 +T 00 23 22 +R 00 00 00 17 +T 00 24 +R 00 00 00 17 +T 00 24 AA 82 AB 83 7C 00 7D 00 +R 00 00 00 17 +T 00 2C +R 00 00 00 17 +T 00 2C C3 EC 9A ED 9B 50 14 7E 0A 7F 00 +R 00 00 00 17 +T 00 37 +R 00 00 00 17 +T 00 37 1E BE FF 01 1F +R 00 00 00 17 +T 00 3C +R 00 00 00 17 +T 00 3C EE 4F 70 F7 0C BC 00 E8 0D 80 E5 +R 00 00 00 17 +T 00 47 +R 00 00 00 17 +T 00 47 22 +R 00 00 00 17 +T 00 48 +R 00 00 00 17 +T 00 48 +R 00 00 00 17 +T 00 48 75 AF 07 90 E6 7B E0 90 E6 7C F0 DA F3 22 +R 00 00 00 17 +T 00 56 +R 00 00 00 17 +T 00 56 7A 00 +R 00 00 00 17 +T 00 58 +R 00 00 00 17 +T 00 58 BA FF 00 +R 00 00 00 17 +T 00 5B +R 00 00 00 17 +T 00 5B 50 0B 90 E6 78 E0 FB 20 E0 03 0A 80 F0 +R 00 00 00 17 +T 00 68 +R 00 00 00 17 +T 00 68 90 E6 78 E0 FA 20 E2 04 EA 20 E1 0B +R 00 00 00 17 +T 00 74 +R 00 00 00 17 +T 00 74 90 E6 78 E0 44 40 F0 75 82 01 22 +R 00 00 00 17 +T 00 7F +R 00 00 00 17 +T 00 7F 75 82 00 22 +R 00 00 00 17 +T 00 83 +R 00 00 00 17 +T 00 83 7A 00 +R 00 00 00 17 +T 00 85 +R 00 00 00 17 +T 00 85 BA FF 00 +R 00 00 00 17 +T 00 88 +R 00 00 00 17 +T 00 88 50 0B 90 E6 78 E0 FB 20 E0 03 0A 80 F0 +R 00 00 00 17 +T 00 95 +R 00 00 00 17 +T 00 95 90 E6 78 E0 FA 30 E2 0B 90 E6 78 E0 44 40 +R 00 00 00 17 +T 00 A3 F0 75 82 01 22 +R 00 00 00 17 +T 00 A8 +R 00 00 00 17 +T 00 A8 75 82 00 22 +R 00 00 00 17 +T 00 AC +R 00 00 00 17 +T 00 AC 7A 00 +R 00 00 00 17 +T 00 AE +R 00 00 00 17 +T 00 AE BA FF 00 +R 00 00 00 17 +T 00 B1 +R 00 00 00 17 +T 00 B1 50 0F 90 E6 78 E0 FB 20 E2 04 75 82 00 22 +R 00 00 00 17 +T 00 BF +R 00 00 00 17 +T 00 BF 0A 80 EC +R 00 00 00 17 +T 00 C2 +R 00 00 00 17 +T 00 C2 75 82 01 22 +R 00 00 00 17 +T 00 C6 +R 00 00 00 17 +T 00 C6 7A 00 +R 00 00 00 17 +T 00 C8 +R 00 00 00 17 +T 00 C8 BA FF 00 +R 00 00 00 17 +T 00 CB +R 00 00 00 17 +T 00 CB 50 0F 90 E6 78 E0 FB 20 E6 04 75 82 00 22 +R 00 00 00 17 +T 00 D9 +R 00 00 00 17 +T 00 D9 0A 80 EC +R 00 00 00 17 +T 00 DC +R 00 00 00 17 +T 00 DC 75 82 01 22 +R 00 00 00 17 +T 00 E0 +R 00 00 00 17 +T 00 E0 AA 82 C3 E4 9A E4 33 FA +R 00 00 00 17 +T 00 E8 +R 00 00 00 17 +T 00 E8 90 E6 78 E0 44 80 F0 C0 02 12 00 AC 90 +R 00 00 00 17 00 0C 00 17 +T 00 F5 E6 79 74 A2 F0 12 00 56 E5 82 D0 02 70 12 +R 00 00 00 17 00 08 00 17 +T 01 03 E5 00 00 00 60 0A 90 E6 78 E0 44 40 F0 12 +R 00 00 00 17 F1 21 03 00 04 +T 01 0F 00 C6 +R 00 00 00 17 00 02 00 17 +T 01 11 +R 00 00 00 17 +T 01 11 75 82 00 22 +R 00 00 00 17 +T 01 15 +R 00 00 00 17 +T 01 15 EA 60 0C 90 00 0A C0 02 12 00 24 D0 02 80 +R 00 00 00 17 00 0B 00 17 +T 01 23 C4 +R 00 00 00 17 +T 01 24 +R 00 00 00 17 +T 01 24 E5 00 00 00 60 08 90 E6 78 E0 FA 44 40 F0 +R 00 00 00 17 F1 21 03 00 04 +T 01 30 +R 00 00 00 17 +T 01 30 75 82 01 22 +R 00 00 00 17 +T 01 34 +R 00 00 00 17 +T 01 34 AA 82 AB 83 7C 00 E5 00 00 03 70 03 F5 82 +R 00 00 00 17 F1 21 09 00 04 +T 01 40 22 +R 00 00 00 17 +T 01 41 +R 00 00 00 17 +T 01 41 75 00 00 00 00 75 82 64 C0 02 C0 03 C0 04 +R 00 00 00 17 F1 21 03 00 04 +T 01 4D 12 00 E0 E5 82 D0 04 D0 03 D0 02 60 03 02 +R 00 00 00 17 00 03 00 17 +T 01 5B 02 37 +R 00 00 00 17 00 02 00 17 +T 01 5D +R 00 00 00 17 +T 01 5D 90 E6 79 E5 00 00 02 F0 C0 02 C0 03 C0 04 +R 00 00 00 17 F1 21 06 00 04 +T 01 69 12 00 56 E5 82 D0 04 D0 03 D0 02 60 03 02 +R 00 00 00 17 00 03 00 17 +T 01 77 02 37 +R 00 00 00 17 00 02 00 17 +T 01 79 +R 00 00 00 17 +T 01 79 90 E6 79 E5 00 00 01 F0 C0 02 C0 03 C0 04 +R 00 00 00 17 F1 21 06 00 04 +T 01 85 12 00 56 E5 82 D0 04 D0 03 D0 02 60 03 02 +R 00 00 00 17 00 03 00 17 +T 01 93 02 37 +R 00 00 00 17 00 02 00 17 +T 01 95 +R 00 00 00 17 +T 01 95 90 E6 78 E0 44 40 F0 C0 02 C0 03 C0 04 12 +R 00 00 00 17 +T 01 A3 00 C6 90 E6 78 E0 44 80 F0 12 00 AC 90 +R 00 00 00 17 00 02 00 17 00 0C 00 17 +T 01 B0 E6 79 74 A3 F0 12 00 56 E5 82 D0 04 D0 03 +R 00 00 00 17 00 08 00 17 +T 01 BE D0 02 70 75 90 E6 79 E0 8A 82 8B 83 F0 C0 +R 00 00 00 17 +T 01 CC 02 C0 03 C0 04 12 00 83 E5 82 D0 04 D0 03 +R 00 00 00 17 00 08 00 17 +T 01 DA D0 02 70 59 FD +R 00 00 00 17 +T 01 DF +R 00 00 00 17 +T 01 DF C3 ED 95 00 00 03 50 2A 90 E6 79 E0 8A 82 +R 00 00 00 17 F1 21 05 00 04 +T 01 EB 8B 83 F0 A3 AA 82 AB 83 C0 02 C0 03 C0 04 +R 00 00 00 17 +T 01 F9 C0 05 12 00 83 E5 82 D0 05 D0 04 D0 03 D0 +R 00 00 00 17 00 05 00 17 +T 02 07 02 70 2D 0D 8D 04 80 D0 +R 00 00 00 17 +T 02 0F +R 00 00 00 17 +T 02 0F 90 E6 78 E0 44 20 F0 90 E6 79 E0 C0 04 12 +R 00 00 00 17 +T 02 1D 00 83 E5 82 D0 04 70 12 90 E6 78 E0 44 40 +R 00 00 00 17 00 02 00 17 +T 02 2B F0 90 E6 79 E0 C0 04 12 00 C6 D0 04 +R 00 00 00 17 00 0A 00 17 +T 02 37 +R 00 00 00 17 +T 02 37 8C 82 22 +R 00 00 00 17 +T 02 3A +R 00 00 00 17 +T 02 3A AA 82 AB 83 7C 00 75 00 00 00 00 75 82 64 +R 00 00 00 17 F1 21 09 00 04 +T 02 46 C0 02 C0 03 C0 04 12 00 E0 E5 82 D0 04 D0 +R 00 00 00 17 00 09 00 17 +T 02 54 03 D0 02 60 03 02 02 ED +R 00 00 00 17 00 08 00 17 +T 02 5C +R 00 00 00 17 +T 02 5C 90 E6 79 E5 00 00 05 F0 C0 02 C0 03 C0 04 +R 00 00 00 17 F1 21 06 00 04 +T 02 68 12 00 56 E5 82 D0 04 D0 03 D0 02 60 03 02 +R 00 00 00 17 00 03 00 17 +T 02 76 02 ED +R 00 00 00 17 00 02 00 17 +T 02 78 +R 00 00 00 17 +T 02 78 90 E6 79 E5 00 00 04 F0 C0 02 C0 03 C0 04 +R 00 00 00 17 F1 21 06 00 04 +T 02 84 12 00 56 E5 82 D0 04 D0 03 D0 02 70 5C FD +R 00 00 00 17 00 03 00 17 +T 02 92 +R 00 00 00 17 +T 02 92 C3 ED 95 00 00 06 50 47 8A 82 8B 83 E0 FE +R 00 00 00 17 F1 21 05 00 04 +T 02 9E A3 AA 82 AB 83 90 E6 79 EE F0 90 00 04 E0 +R 00 00 00 17 00 0D 00 0B +T 02 AC FF EE 2F F0 90 00 02 E0 FE A3 E0 FF 90 +R 00 00 00 17 00 07 00 0B +T 02 B9 00 02 74 01 2E F0 E4 3F A3 F0 C0 02 C0 03 +R 00 00 00 17 00 02 00 0B +T 02 C7 C0 04 C0 05 12 00 56 E5 82 D0 05 D0 04 D0 +R 00 00 00 17 00 07 00 17 +T 02 D5 03 D0 02 70 13 0D 8D 04 80 B3 +R 00 00 00 17 +T 02 DF +R 00 00 00 17 +T 02 DF 90 E6 78 E0 44 40 F0 C0 04 12 00 C6 D0 04 +R 00 00 00 17 00 0C 00 17 +T 02 ED +R 00 00 00 17 +T 02 ED 8C 82 22 +R 00 00 00 17 +T 02 F0 +R 00 00 00 17 +T 02 F0 90 00 02 E0 FA 90 00 00 E0 F5 +R 00 00 00 17 00 03 00 0D 00 08 00 0B +T 02 FA 00 00 01 A3 E0 F5 00 00 02 8A +R 00 00 00 17 F1 21 02 00 04 F1 21 08 00 04 +T 03 00 00 00 03 90 E7 40 C0 02 12 01 34 AB 82 D0 +R 00 00 00 17 F1 21 02 00 04 00 0B 00 17 +T 03 0C 02 7C 00 90 00 00 E0 FD A3 E0 FE 90 00 00 +R 00 00 00 17 00 06 00 0B 00 0E 00 0B +T 03 1A EA 2D F0 EC 3E A3 F0 8B 82 22 +R 00 00 00 17 +T 03 24 +R 00 00 00 17 +T 03 24 AA 82 90 00 00 E0 F5 00 00 04 A3 E0 F5 +R 00 00 00 17 00 05 00 0B F1 21 09 00 04 +T 03 2F 00 00 05 8A 00 00 06 90 E7 40 C0 02 12 +R 00 00 00 17 F1 21 02 00 04 F1 21 06 00 04 +T 03 38 02 3A D0 02 7B 00 90 00 00 E0 FC A3 E0 FD +R 00 00 00 17 00 02 00 17 00 09 00 0B +T 03 46 90 00 00 EA 2C F0 EB 3D A3 F0 22 +R 00 00 00 17 00 03 00 0B +T 03 51 +R 00 00 00 17 +T 03 51 90 00 05 E0 FA A3 E0 FB 74 1F 5A 75 F0 03 +R 00 00 00 17 00 03 00 0B +T 03 5F A4 24 00 00 09 FC E4 34 00 00 09 FD 90 +R 00 00 00 17 F1 01 04 00 0B F1 81 0A 00 0B +T 03 68 00 69 EC F0 A3 ED F0 75 9B 00 00 6B 7E +R 00 00 00 17 00 02 00 0B F1 01 0B 00 0B +T 03 73 00 00 6B 7F 00 00 6B 8F 9A 8C 06 8D 07 8E +R 00 00 00 17 F1 01 02 00 0B F1 81 06 00 0B +T 03 7D 9E 8D 9D C0 02 7A 03 12 00 48 D0 02 90 +R 00 00 00 17 00 0A 00 17 +T 03 8A 00 05 74 01 2A F0 E4 3B A3 F0 22 +R 00 00 00 17 00 02 00 0B +T 03 95 +R 00 00 00 17 +T 03 95 90 00 05 E4 F0 A3 F0 90 00 07 74 20 F0 90 +R 00 00 00 17 00 03 00 0B 00 0A 00 0B +T 03 A3 00 08 74 03 F0 90 00 69 74 +R 00 00 00 17 00 02 00 0B 00 08 00 0B +T 03 AC 00 00 09 F0 A3 74 00 00 09 F0 22 +R 00 00 00 17 F1 01 02 00 0B F1 81 08 00 0B +T 03 B3 +R 00 00 00 17 +T 03 B3 90 00 02 E0 FA 70 03 02 03 D8 +R 00 00 00 17 00 03 00 0D 00 0A 00 17 +T 03 BD +R 00 00 00 17 +T 03 BD 90 00 6E E0 FB A3 E0 FC 8B 9B 8C 9A 75 9E +R 00 00 00 17 00 03 00 0B +T 03 CB 40 75 9D E7 C0 02 7A F0 12 00 48 D0 02 +R 00 00 00 17 00 0B 00 17 +T 03 D8 +R 00 00 00 17 +T 03 D8 90 00 6E E0 FB A3 E0 FC 90 00 6E EA 2B F0 +R 00 00 00 17 00 03 00 0B 00 0B 00 0B +T 03 E6 E4 3C A3 F0 8A 82 22 +R 00 00 00 17 +T 03 ED +R 00 00 00 17 +T 00 6C +R 00 00 00 50 +T 00 6C 28 +R 00 00 00 50 +T 00 6D +R 00 00 00 51 +T 00 6D 01 +R 00 00 00 51 +T 00 6E +R 00 00 00 52 +T 00 6E 5A 54 45 58 +R 00 00 00 52 +T 00 72 +R 00 00 00 53 +T 00 72 00 00 00 00 +R 00 00 00 53 +T 00 76 +R 00 00 00 54 +T 00 76 00 +R 00 00 00 54 +T 00 77 +R 00 00 00 55 +T 00 77 01 +R 00 00 00 55 +T 00 78 +R 00 00 00 56 +T 00 78 09 00 00 00 00 00 +R 00 00 00 56 +T 00 7E +R 00 00 00 57 +T 00 7E 00 00 00 00 00 00 00 00 00 00 00 00 +R 00 00 00 57 +T 00 8A +R 00 00 00 58 +T 00 8A 30 30 30 30 30 30 30 30 30 30 +R 00 00 00 58 +T 03 ED +R 00 00 00 17 +T 03 ED 90 E6 83 E4 F0 74 20 F0 74 10 F0 74 30 F0 +R 00 00 00 17 +T 03 FB 90 E6 83 74 01 F0 74 21 F0 74 11 F0 74 31 +R 00 00 00 17 +T 04 09 F0 22 +R 00 00 00 17 +T 04 0B +R 00 00 00 17 +T 04 0B AA 82 E5 00 00 01 24 E0 50 03 75 00 00 01 +R 00 00 00 17 F1 21 05 00 05 F1 21 0D 00 05 +T 04 15 1F +R 00 00 00 17 +T 04 16 +R 00 00 00 17 +T 04 16 75 AF 07 8A 9B 85 00 00 00 9A 75 9E 41 75 +R 00 00 00 17 F1 21 08 00 05 +T 04 22 9D E7 90 E6 7C 74 03 F0 7A 00 +R 00 00 00 17 +T 04 2C +R 00 00 00 17 +T 04 2C C3 EA 95 00 00 01 50 11 90 E6 7B E0 FB 90 +R 00 00 00 17 F1 21 05 00 05 +T 04 38 E6 7C F0 90 E6 7C E4 F0 0A 80 E9 +R 00 00 00 17 +T 04 43 +R 00 00 00 17 +T 04 43 E5 00 00 01 04 25 E0 FA 90 E7 40 F0 90 +R 00 00 00 17 F1 21 03 00 05 +T 04 4E E7 41 74 03 F0 90 E6 8A E4 F0 90 E6 8B EA +R 00 00 00 17 +T 04 5C F0 22 +R 00 00 00 17 +T 04 5E +R 00 00 00 17 +T 04 5E 90 00 00 E0 FA A3 E0 FB C3 74 40 9A E4 9B +R 00 00 00 17 00 03 00 0D +T 04 6C 50 06 7C 40 7D 00 80 04 +R 00 00 00 17 +T 04 74 +R 00 00 00 17 +T 04 74 8A 04 8B 05 +R 00 00 00 17 +T 04 78 +R 00 00 00 17 +T 04 78 90 00 02 EC F0 7D 00 90 00 00 EA C3 9C F0 +R 00 00 00 17 00 03 00 0D 00 0A 00 0D +T 04 86 EB 9D A3 F0 22 +R 00 00 00 17 +T 04 8B +R 00 00 00 17 +T 04 8B 90 00 03 E0 FA BA 39 24 90 00 04 E4 F0 90 +R 00 00 00 17 00 03 00 0D 00 0B 00 0B +T 04 99 00 02 F0 A3 F0 90 E6 BB E0 FB 7A 00 90 +R 00 00 00 17 00 02 00 0B +T 04 A6 E6 BA E0 FC 7D 00 90 00 00 EC 4A F0 ED 4B +R 00 00 00 17 00 09 00 0B +T 04 B4 A3 F0 22 +R 00 00 00 17 +T 04 B7 +R 00 00 00 17 +T 04 B7 90 E6 A0 E0 44 01 F0 22 +R 00 00 00 17 +T 04 BF +R 00 00 00 17 +T 04 BF C0 00 00 00 C0 E0 C0 F0 C0 82 C0 83 C0 02 +R 00 00 00 17 F1 21 03 00 03 +T 04 CB C0 03 C0 04 C0 05 C0 06 C0 07 C0 00 C0 01 +R 00 00 00 17 +T 04 D9 C0 D0 75 D0 00 90 E6 B9 E0 FA 90 00 03 F0 +R 00 00 00 17 00 0D 00 0D +T 04 E7 90 E6 B5 74 01 F0 90 E6 B9 E0 FA 24 F3 50 +R 00 00 00 17 +T 04 F5 03 02 08 75 +R 00 00 00 17 00 04 00 17 +T 04 F9 +R 00 00 00 17 +T 04 F9 EA 2A 2A 90 05 00 73 +R 00 00 00 17 00 06 00 17 +T 05 00 +R 00 00 00 17 +T 05 00 02 05 27 02 05 DB 02 +R 00 00 00 17 00 03 00 17 00 06 00 17 +T 05 07 08 75 02 06 58 02 +R 00 00 00 17 00 02 00 17 00 05 00 17 +T 05 0D 08 75 02 08 75 02 +R 00 00 00 17 00 02 00 17 00 05 00 17 +T 05 13 06 F0 02 08 0B 02 +R 00 00 00 17 00 02 00 17 00 05 00 17 +T 05 19 08 0D 02 08 1E 02 +R 00 00 00 17 00 02 00 17 00 05 00 17 +T 05 1F 08 23 02 08 34 02 +R 00 00 00 17 00 02 00 17 00 05 00 17 +T 05 25 08 39 +R 00 00 00 17 00 02 00 17 +T 05 27 +R 00 00 00 17 +T 05 27 90 E6 B8 E0 FA BA 80 02 80 0D +R 00 00 00 17 +T 05 31 +R 00 00 00 17 +T 05 31 BA 81 02 80 1E +R 00 00 00 17 +T 05 36 +R 00 00 00 17 +T 05 36 BA 82 02 80 2F +R 00 00 00 17 +T 05 3B +R 00 00 00 17 +T 05 3B 02 08 75 +R 00 00 00 17 00 03 00 17 +T 05 3E +R 00 00 00 17 +T 05 3E 90 E7 40 E4 F0 90 E7 41 F0 90 E6 8A F0 90 +R 00 00 00 17 +T 05 4C E6 8B 74 02 F0 02 08 75 +R 00 00 00 17 00 08 00 17 +T 05 54 +R 00 00 00 17 +T 05 54 90 E7 40 E4 F0 90 E7 41 F0 90 E6 8A F0 90 +R 00 00 00 17 +T 05 62 E6 8B 74 02 F0 02 08 75 +R 00 00 00 17 00 08 00 17 +T 05 6A +R 00 00 00 17 +T 05 6A 90 E6 BC E0 FA 60 0F BA 01 02 80 19 +R 00 00 00 17 +T 05 76 +R 00 00 00 17 +T 05 76 BA 80 02 80 05 +R 00 00 00 17 +T 05 7B +R 00 00 00 17 +T 05 7B BA 81 2F 80 1E +R 00 00 00 17 +T 05 80 +R 00 00 00 17 +T 05 80 90 E6 A0 E0 FA 53 02 01 90 E7 40 EA F0 80 +R 00 00 00 17 +T 05 8E 3A +R 00 00 00 17 +T 05 8F +R 00 00 00 17 +T 05 8F 90 E6 A1 E0 FA 53 02 01 90 E7 40 EA F0 80 +R 00 00 00 17 +T 05 9D 2B +R 00 00 00 17 +T 05 9E +R 00 00 00 17 +T 05 9E 90 E6 A2 E0 FA 53 02 01 90 E7 40 EA F0 80 +R 00 00 00 17 +T 05 AC 1C +R 00 00 00 17 +T 05 AD +R 00 00 00 17 +T 05 AD 90 E6 BC E0 C3 13 14 54 03 24 A3 F5 82 E4 +R 00 00 00 17 +T 05 BB 34 E6 F5 83 E0 FA 53 02 01 90 E7 40 EA F0 +R 00 00 00 17 +T 05 C9 +R 00 00 00 17 +T 05 C9 90 E7 41 E4 F0 90 E6 8A F0 90 E6 8B 74 02 +R 00 00 00 17 +T 05 D7 F0 02 08 75 +R 00 00 00 17 00 04 00 17 +T 05 DB +R 00 00 00 17 +T 05 DB 90 E6 B8 E0 FA BA 02 02 80 03 +R 00 00 00 17 +T 05 E5 +R 00 00 00 17 +T 05 E5 02 08 75 +R 00 00 00 17 00 03 00 17 +T 05 E8 +R 00 00 00 17 +T 05 E8 90 E6 BA E0 60 03 02 08 75 +R 00 00 00 17 00 09 00 17 +T 05 F1 +R 00 00 00 17 +T 05 F1 90 E6 BC E0 FA 60 0F BA 01 02 80 15 +R 00 00 00 17 +T 05 FD +R 00 00 00 17 +T 05 FD BA 80 02 80 05 +R 00 00 00 17 +T 06 02 +R 00 00 00 17 +T 06 02 BA 81 23 80 16 +R 00 00 00 17 +T 06 07 +R 00 00 00 17 +T 06 07 90 E6 A0 E0 FA 54 FE F0 02 08 75 +R 00 00 00 17 00 0B 00 17 +T 06 12 +R 00 00 00 17 +T 06 12 90 E6 A1 E0 FA 54 FE F0 02 08 75 +R 00 00 00 17 00 0B 00 17 +T 06 1D +R 00 00 00 17 +T 06 1D 90 E6 A2 E0 FA 54 FE F0 02 08 75 +R 00 00 00 17 00 0B 00 17 +T 06 28 +R 00 00 00 17 +T 06 28 90 E6 BC E0 C3 13 14 54 03 24 A3 FA E4 34 +R 00 00 00 17 +T 06 36 E6 FB 90 E6 BC E0 C3 13 14 54 03 24 A3 F5 +R 00 00 00 17 +T 06 44 82 E4 34 E6 F5 83 E0 FC 53 04 FE 8A 82 8B +R 00 00 00 17 +T 06 52 83 EC F0 02 08 75 +R 00 00 00 17 00 06 00 17 +T 06 58 +R 00 00 00 17 +T 06 58 90 E6 B8 E0 FA BA 02 02 80 03 +R 00 00 00 17 +T 06 62 +R 00 00 00 17 +T 06 62 02 08 75 +R 00 00 00 17 00 03 00 17 +T 06 65 +R 00 00 00 17 +T 06 65 90 E6 BA E0 60 03 02 08 75 +R 00 00 00 17 00 09 00 17 +T 06 6E +R 00 00 00 17 +T 06 6E 90 E6 BC E0 FA 60 0F BA 01 02 80 14 +R 00 00 00 17 +T 06 7A +R 00 00 00 17 +T 06 7A BA 80 02 80 05 +R 00 00 00 17 +T 06 7F +R 00 00 00 17 +T 06 7F BA 81 20 80 14 +R 00 00 00 17 +T 06 84 +R 00 00 00 17 +T 06 84 90 E6 A0 E0 FA 44 01 F0 80 41 +R 00 00 00 17 +T 06 8E +R 00 00 00 17 +T 06 8E 90 E6 A1 E0 FA 44 01 F0 80 37 +R 00 00 00 17 +T 06 98 +R 00 00 00 17 +T 06 98 90 E6 A2 E0 FA 44 01 F0 80 2D +R 00 00 00 17 +T 06 A2 +R 00 00 00 17 +T 06 A2 90 E6 BC E0 C3 13 14 54 03 24 A3 FA E4 34 +R 00 00 00 17 +T 06 B0 E6 FB 90 E6 BC E0 C3 13 14 54 03 24 A3 F5 +R 00 00 00 17 +T 06 BE 82 E4 34 E6 F5 83 E0 FC 43 04 FE 8A 82 8B +R 00 00 00 17 +T 06 CC 83 EC F0 +R 00 00 00 17 +T 06 CF +R 00 00 00 17 +T 06 CF 90 E6 BC E0 54 80 C4 23 54 1F FA 90 E6 BC +R 00 00 00 17 +T 06 DD E0 FB 74 0F 5B 42 02 90 E6 83 EA F0 74 20 +R 00 00 00 17 +T 06 EB 4A F0 02 08 75 +R 00 00 00 17 00 05 00 17 +T 06 F0 +R 00 00 00 17 +T 06 F0 90 E6 BB E0 FA BA 01 02 80 19 +R 00 00 00 17 +T 06 FA +R 00 00 00 17 +T 06 FA BA 02 02 80 26 +R 00 00 00 17 +T 06 FF +R 00 00 00 17 +T 06 FF BA 03 02 80 4D +R 00 00 00 17 +T 07 04 +R 00 00 00 17 +T 07 04 BA 06 03 02 07 C4 +R 00 00 00 17 00 06 00 17 +T 07 0A +R 00 00 00 17 +T 07 0A BA 07 03 02 07 D6 +R 00 00 00 17 00 06 00 17 +T 07 10 +R 00 00 00 17 +T 07 10 02 08 01 +R 00 00 00 17 00 03 00 17 +T 07 13 +R 00 00 00 17 +T 07 13 7A 00 00 29 7B 00 00 29 90 E6 B3 EB F0 90 +R 00 00 00 17 F1 01 03 00 59 F1 81 07 00 59 +T 07 1D E6 B4 74 00 00 29 F0 02 08 75 +R 00 00 00 17 F1 01 05 00 59 00 0A 00 17 +T 07 25 +R 00 00 00 17 +T 07 25 90 E6 80 E0 FA 30 E7 12 7A 00 00 45 7B +R 00 00 00 17 F1 01 0B 00 59 +T 07 30 00 00 45 90 E6 B3 EB F0 90 E6 B4 74 +R 00 00 00 17 F1 81 02 00 59 +T 07 3A 00 00 45 F0 02 08 75 +R 00 00 00 17 F1 01 02 00 59 00 07 00 17 +T 07 3F +R 00 00 00 17 +T 07 3F 7A 00 00 67 7B 00 00 67 90 E6 B3 EB F0 90 +R 00 00 00 17 F1 01 03 00 59 F1 81 07 00 59 +T 07 49 E6 B4 74 00 00 67 F0 02 08 75 +R 00 00 00 17 F1 01 05 00 59 00 0A 00 17 +T 07 51 +R 00 00 00 17 +T 07 51 90 E6 BA E0 FA BA 01 02 80 0F +R 00 00 00 17 +T 07 5B +R 00 00 00 17 +T 07 5B BA 02 02 80 1C +R 00 00 00 17 +T 07 60 +R 00 00 00 17 +T 07 60 BA 03 02 80 29 +R 00 00 00 17 +T 07 65 +R 00 00 00 17 +T 07 65 BA 04 4A 80 36 +R 00 00 00 17 +T 07 6A +R 00 00 00 17 +T 07 6A 75 82 00 00 00 7A 00 00 00 7B +R 00 00 00 17 F1 01 04 00 59 F1 01 08 00 59 +T 07 70 00 00 00 8B 00 00 00 75 +R 00 00 00 17 F1 81 02 00 59 F1 21 06 00 05 +T 07 74 00 00 01 05 12 04 0B 02 +R 00 00 00 17 F1 21 02 00 05 00 07 00 17 +T 07 7A 08 75 +R 00 00 00 17 00 02 00 17 +T 07 7C +R 00 00 00 17 +T 07 7C 75 82 00 00 05 7A 00 00 05 7B +R 00 00 00 17 F1 01 04 00 59 F1 01 08 00 59 +T 07 82 00 00 05 8B 00 00 00 75 +R 00 00 00 17 F1 81 02 00 59 F1 21 06 00 05 +T 07 86 00 00 01 19 12 04 0B 02 +R 00 00 00 17 F1 21 02 00 05 00 07 00 17 +T 07 8C 08 75 +R 00 00 00 17 00 02 00 17 +T 07 8E +R 00 00 00 17 +T 07 8E 75 82 8A 7A 8A 7B 00 8B 00 00 00 75 +R 00 00 00 17 F1 21 0A 00 05 +T 07 98 00 00 01 0A 12 04 0B 02 +R 00 00 00 17 F1 21 02 00 05 00 07 00 17 +T 07 9E 08 75 +R 00 00 00 17 00 02 00 17 +T 07 A0 +R 00 00 00 17 +T 07 A0 75 82 00 00 1E 7A 00 00 1E 7B +R 00 00 00 17 F1 01 04 00 59 F1 01 08 00 59 +T 07 A6 00 00 1E 8B 00 00 00 75 +R 00 00 00 17 F1 81 02 00 59 F1 21 06 00 05 +T 07 AA 00 00 01 0A 12 04 0B 02 +R 00 00 00 17 F1 21 02 00 05 00 07 00 17 +T 07 B0 08 75 +R 00 00 00 17 00 02 00 17 +T 07 B2 +R 00 00 00 17 +T 07 B2 7A 00 00 89 7B 00 00 89 90 E6 B3 EB F0 90 +R 00 00 00 17 F1 01 03 00 59 F1 81 07 00 59 +T 07 BC E6 B4 74 00 00 89 F0 02 08 75 +R 00 00 00 17 F1 01 05 00 59 00 0A 00 17 +T 07 C4 +R 00 00 00 17 +T 07 C4 7A 00 00 3B 7B 00 00 3B 90 E6 B3 EB F0 90 +R 00 00 00 17 F1 01 03 00 59 F1 81 07 00 59 +T 07 CE E6 B4 74 00 00 3B F0 02 08 75 +R 00 00 00 17 F1 01 05 00 59 00 0A 00 17 +T 07 D6 +R 00 00 00 17 +T 07 D6 90 E6 80 E0 FA 30 E7 12 7A 00 00 67 7B +R 00 00 00 17 F1 01 0B 00 59 +T 07 E1 00 00 67 90 E6 B3 EB F0 90 E6 B4 74 +R 00 00 00 17 F1 81 02 00 59 +T 07 EB 00 00 67 F0 02 08 75 +R 00 00 00 17 F1 01 02 00 59 00 07 00 17 +T 07 F0 +R 00 00 00 17 +T 07 F0 7A 00 00 45 7B 00 00 45 90 E6 B3 EB F0 90 +R 00 00 00 17 F1 01 03 00 59 F1 81 07 00 59 +T 07 FA E6 B4 74 00 00 45 F0 80 74 +R 00 00 00 17 F1 01 05 00 59 +T 08 01 +R 00 00 00 17 +T 08 01 90 E6 A0 E0 FA 44 01 F0 80 6A +R 00 00 00 17 +T 08 0B +R 00 00 00 17 +T 08 0B 80 68 +R 00 00 00 17 +T 08 0D +R 00 00 00 17 +T 08 0D 90 E7 40 E4 F0 90 E6 8A F0 90 E6 8B 74 01 +R 00 00 00 17 +T 08 1B F0 80 57 +R 00 00 00 17 +T 08 1E +R 00 00 00 17 +T 08 1E 12 03 ED 80 52 +R 00 00 00 17 00 03 00 17 +T 08 23 +R 00 00 00 17 +T 08 23 90 E7 40 E4 F0 90 E6 8A F0 90 E6 8B 74 01 +R 00 00 00 17 +T 08 31 F0 80 41 +R 00 00 00 17 +T 08 34 +R 00 00 00 17 +T 08 34 12 03 ED 80 3C +R 00 00 00 17 00 03 00 17 +T 08 39 +R 00 00 00 17 +T 08 39 90 E6 B8 E0 FA BA 82 34 90 E6 BC E0 C3 13 +R 00 00 00 17 +T 08 47 14 54 03 25 E0 24 00 00 05 F5 82 E4 34 +R 00 00 00 17 F1 01 08 00 0D +T 08 52 00 00 05 F5 83 E4 F0 A3 F0 90 E6 85 E0 90 +R 00 00 00 17 F1 81 02 00 0D +T 08 5E E7 40 F0 90 E6 84 E0 FA 90 E7 41 F0 90 +R 00 00 00 17 +T 08 6B E6 8A E4 F0 90 E6 8B 74 02 F0 +R 00 00 00 17 +T 08 75 +R 00 00 00 17 +T 08 75 90 E6 B8 E0 FA BA 40 03 02 09 65 +R 00 00 00 17 00 0B 00 17 +T 08 80 +R 00 00 00 17 +T 08 80 BA C0 02 80 03 +R 00 00 00 17 +T 08 85 +R 00 00 00 17 +T 08 85 02 09 8F +R 00 00 00 17 00 03 00 17 +T 08 88 +R 00 00 00 17 +T 08 88 90 E6 BF E0 FB 7A 00 90 E6 BE E0 FC 7D 00 +R 00 00 00 17 +T 08 96 90 00 00 EC 4A F0 ED 4B A3 F0 12 04 5E 90 +R 00 00 00 17 00 03 00 0D 00 0D 00 17 +T 08 A4 E6 B9 E0 FA BA 22 02 80 13 +R 00 00 00 17 +T 08 AD +R 00 00 00 17 +T 08 AD BA 28 03 02 09 41 +R 00 00 00 17 00 06 00 17 +T 08 B3 +R 00 00 00 17 +T 08 B3 BA 38 02 80 25 +R 00 00 00 17 +T 08 B8 +R 00 00 00 17 +T 08 B8 BA 3A 02 80 49 +R 00 00 00 17 +T 08 BD +R 00 00 00 17 +T 08 BD 02 09 5B +R 00 00 00 17 00 03 00 17 +T 08 C0 +R 00 00 00 17 +T 08 C0 90 E6 B5 E4 F0 90 E6 8A F0 90 E6 8B 74 28 +R 00 00 00 17 +T 08 CE F0 90 E6 B3 E4 F0 90 E6 B4 74 6C F0 02 +R 00 00 00 17 +T 08 DB 09 8F +R 00 00 00 17 00 02 00 17 +T 08 DD +R 00 00 00 17 +T 08 DD 90 E6 BB E0 FB 7A 00 90 E6 BA E0 FC 7D 00 +R 00 00 00 17 +T 08 EB 90 00 00 EC 4A F0 ED 4B A3 F0 90 E6 8A E4 +R 00 00 00 17 00 03 00 0B +T 08 F9 F0 12 02 F0 E5 82 90 E6 8B F0 02 09 8F +R 00 00 00 17 00 04 00 17 00 0D 00 17 +T 09 06 +R 00 00 00 17 +T 09 06 90 00 02 E0 FA A3 E0 FB 8A 04 90 E7 40 EC +R 00 00 00 17 00 03 00 0B +T 09 14 F0 8B 02 90 E7 41 EA F0 90 00 04 E0 90 +R 00 00 00 17 00 0B 00 0B +T 09 21 E7 42 F0 75 00 00 00 01 75 82 00 12 00 E0 +R 00 00 00 17 F1 21 06 00 04 00 0E 00 17 +T 09 2D AA 82 90 E7 43 EA F0 90 E6 8A E4 F0 90 +R 00 00 00 17 +T 09 3A E6 8B 74 04 F0 80 4E +R 00 00 00 17 +T 09 41 +R 00 00 00 17 +T 09 41 90 00 6E 74 00 00 05 F0 A3 74 +R 00 00 00 17 00 03 00 0B F1 01 06 00 0B +T 09 49 00 00 05 F0 90 E6 8A E4 F0 12 03 B3 E5 82 +R 00 00 00 17 F1 81 02 00 0B 00 0C 00 17 +T 09 55 90 E6 8B F0 80 34 +R 00 00 00 17 +T 09 5B +R 00 00 00 17 +T 09 5B 90 E6 A0 E0 FA 44 01 F0 80 2A +R 00 00 00 17 +T 09 65 +R 00 00 00 17 +T 09 65 90 E6 BF E0 70 06 90 E6 BE E0 60 16 +R 00 00 00 17 +T 09 71 +R 00 00 00 17 +T 09 71 90 00 04 74 01 F0 90 E6 8B E4 F0 53 91 EF +R 00 00 00 17 00 03 00 0D +T 09 7F 90 E6 5D 74 01 F0 80 19 +R 00 00 00 17 +T 09 87 +R 00 00 00 17 +T 09 87 12 04 8B 90 E6 8B E4 F0 +R 00 00 00 17 00 03 00 17 +T 09 8F +R 00 00 00 17 +T 09 8F 53 91 EF 90 E6 5D 74 01 F0 90 E6 A0 E0 FA +R 00 00 00 17 +T 09 9D 44 80 F0 +R 00 00 00 17 +T 09 A0 +R 00 00 00 17 +T 09 A0 D0 D0 D0 01 D0 00 D0 07 D0 06 D0 05 D0 04 +R 00 00 00 17 +T 09 AE D0 03 D0 02 D0 83 D0 82 D0 F0 D0 E0 D0 +R 00 00 00 17 +T 09 BB 00 00 00 32 +R 00 00 00 17 F1 21 02 00 03 +T 09 BD +R 00 00 00 17 +T 09 BD C0 E0 C0 82 C0 83 53 91 EF 90 E6 5D 74 02 +R 00 00 00 17 +T 09 CB F0 D0 83 D0 82 D0 E0 32 +R 00 00 00 17 +T 09 D3 +R 00 00 00 17 +T 09 D3 C0 E0 C0 82 C0 83 53 91 EF 90 E6 5D 74 04 +R 00 00 00 17 +T 09 E1 F0 D0 83 D0 82 D0 E0 32 +R 00 00 00 17 +T 09 E9 +R 00 00 00 17 +T 09 E9 C0 E0 C0 82 C0 83 53 91 EF 90 E6 5D 74 08 +R 00 00 00 17 +T 09 F7 F0 D0 83 D0 82 D0 E0 32 +R 00 00 00 17 +T 09 FF +R 00 00 00 17 +T 09 FF C0 E0 C0 82 C0 83 53 91 EF 90 E6 5D 74 10 +R 00 00 00 17 +T 0A 0D F0 D0 83 D0 82 D0 E0 32 +R 00 00 00 17 +T 0A 15 +R 00 00 00 17 +T 0A 15 C0 E0 C0 82 C0 83 53 91 EF 90 E6 5D 74 20 +R 00 00 00 17 +T 0A 23 F0 D0 83 D0 82 D0 E0 32 +R 00 00 00 17 +T 0A 2B +R 00 00 00 17 +T 0A 2B C0 E0 C0 82 C0 83 53 91 EF 90 E6 5D 74 40 +R 00 00 00 17 +T 0A 39 F0 D0 83 D0 82 D0 E0 32 +R 00 00 00 17 +T 0A 41 +R 00 00 00 17 +T 0A 41 C0 00 00 00 C0 E0 C0 F0 C0 82 C0 83 C0 02 +R 00 00 00 17 F1 21 03 00 03 +T 0A 4D C0 03 C0 04 C0 05 C0 06 C0 07 C0 00 C0 01 +R 00 00 00 17 +T 0A 5B C0 D0 75 D0 00 C2 E8 12 04 5E 90 00 03 E0 +R 00 00 00 17 00 0A 00 17 00 0D 00 0D +T 0A 69 FA BA 28 02 80 1A +R 00 00 00 17 +T 0A 6F +R 00 00 00 17 +T 0A 6F BA 38 02 80 05 +R 00 00 00 17 +T 0A 74 +R 00 00 00 17 +T 0A 74 BA 3A 22 80 29 +R 00 00 00 17 +T 0A 79 +R 00 00 00 17 +T 0A 79 90 E6 8A E4 F0 12 02 F0 E5 82 90 E6 8B F0 +R 00 00 00 17 00 08 00 17 +T 0A 87 80 19 +R 00 00 00 17 +T 0A 89 +R 00 00 00 17 +T 0A 89 90 E6 8A E4 F0 12 03 B3 E5 82 90 E6 8B F0 +R 00 00 00 17 00 08 00 17 +T 0A 97 80 09 +R 00 00 00 17 +T 0A 99 +R 00 00 00 17 +T 0A 99 90 E6 8A E4 F0 90 E6 8B F0 +R 00 00 00 17 +T 0A A2 +R 00 00 00 17 +T 0A A2 53 91 EF 90 E6 5F 74 01 F0 D2 E8 D0 D0 D0 +R 00 00 00 17 +T 0A B0 01 D0 00 D0 07 D0 06 D0 05 D0 04 D0 03 D0 +R 00 00 00 17 +T 0A BE 02 D0 83 D0 82 D0 F0 D0 E0 D0 00 00 00 32 +R 00 00 00 17 F1 21 0C 00 03 +T 0A CA +R 00 00 00 17 +T 0A CA C0 00 00 00 C0 E0 C0 F0 C0 82 C0 83 C0 02 +R 00 00 00 17 F1 21 03 00 03 +T 0A D6 C0 03 C0 04 C0 05 C0 06 C0 07 C0 00 C0 01 +R 00 00 00 17 +T 0A E4 C0 D0 75 D0 00 C2 E8 90 00 04 E0 FA 60 20 +R 00 00 00 17 00 0A 00 0D +T 0A F2 90 00 04 E4 F0 90 E6 BF E0 FB 7A 00 90 +R 00 00 00 17 00 03 00 0D +T 0A FF E6 BE E0 FC 7D 00 90 00 00 EC 4A F0 ED 4B +R 00 00 00 17 00 09 00 0D +T 0B 0D A3 F0 12 04 8B +R 00 00 00 17 00 05 00 17 +T 0B 12 +R 00 00 00 17 +T 0B 12 12 04 5E 90 00 03 E0 FA BA 39 09 90 E6 8B +R 00 00 00 17 00 03 00 17 00 06 00 0D +T 0B 20 E0 F5 82 12 03 24 +R 00 00 00 17 00 06 00 17 +T 0B 26 +R 00 00 00 17 +T 0B 26 90 E6 8B E4 F0 53 91 EF 90 E6 5F 74 02 F0 +R 00 00 00 17 +T 0B 34 90 00 00 E0 FA A3 E0 FB 4A 70 08 90 E6 A0 +R 00 00 00 17 00 03 00 0D +T 0B 42 E0 FA 44 80 F0 +R 00 00 00 17 +T 0B 47 +R 00 00 00 17 +T 0B 47 D2 E8 D0 D0 D0 01 D0 00 D0 07 D0 06 D0 05 +R 00 00 00 17 +T 0B 55 D0 04 D0 03 D0 02 D0 83 D0 82 D0 F0 D0 E0 +R 00 00 00 17 +T 0B 63 D0 00 00 00 32 +R 00 00 00 17 F1 21 03 00 03 +T 0B 66 +R 00 00 00 17 +T 0B 66 C0 E0 C0 82 C0 83 53 91 EF 90 E6 5F 74 04 +R 00 00 00 17 +T 0B 74 F0 D0 83 D0 82 D0 E0 32 +R 00 00 00 17 +T 0B 7C +R 00 00 00 17 +T 0B 7C C0 E0 C0 82 C0 83 53 91 EF 90 E6 5F 74 08 +R 00 00 00 17 +T 0B 8A F0 D0 83 D0 82 D0 E0 32 +R 00 00 00 17 +T 0B 92 +R 00 00 00 17 +T 0B 92 C0 E0 C0 82 C0 83 53 91 EF 90 E6 5F 74 10 +R 00 00 00 17 +T 0B A0 F0 D0 83 D0 82 D0 E0 32 +R 00 00 00 17 +T 0B A8 +R 00 00 00 17 +T 0B A8 C0 E0 C0 82 C0 83 53 91 EF 90 E6 5F 74 20 +R 00 00 00 17 +T 0B B6 F0 D0 83 D0 82 D0 E0 32 +R 00 00 00 17 +T 0B BE +R 00 00 00 17 +T 0B BE C0 E0 C0 82 C0 83 53 91 EF 90 E6 5F 74 40 +R 00 00 00 17 +T 0B CC F0 D0 83 D0 82 D0 E0 32 +R 00 00 00 17 +T 0B D4 +R 00 00 00 17 +T 0B D4 C0 E0 C0 82 C0 83 53 91 EF 90 E6 5F 74 80 +R 00 00 00 17 +T 0B E2 F0 D0 83 D0 82 D0 E0 32 +R 00 00 00 17 +T 0B EA +R 00 00 00 17 +T 0B EA 90 E6 80 E0 44 08 F0 90 E6 00 74 12 F0 53 +R 00 00 00 17 +T 0B F8 8E F8 C2 AF C2 E8 90 00 43 74 02 F0 90 +R 00 00 00 17 +T 0C 05 00 44 74 01 F0 90 00 45 74 B8 F0 90 E6 68 +R 00 00 00 17 +T 0C 13 E0 44 08 F0 90 01 00 74 02 F0 7A 00 04 BF +R 00 00 00 17 F1 01 0D 00 17 +T 0C 1F 7B 00 04 BF 8B 04 90 01 01 EC F0 90 01 02 +R 00 00 00 17 F1 81 03 00 17 +T 0C 2B EA F0 90 01 04 74 02 F0 7A 00 09 BD 7B +R 00 00 00 17 F1 01 0B 00 17 +T 0C 36 00 09 BD 8B 04 90 01 05 EC F0 90 01 06 EA +R 00 00 00 17 F1 81 02 00 17 +T 0C 42 F0 90 01 08 74 02 F0 7A 00 09 D3 7B +R 00 00 00 17 F1 01 0A 00 17 +T 0C 4C 00 09 D3 8B 04 90 01 09 EC F0 90 01 0A EA +R 00 00 00 17 F1 81 02 00 17 +T 0C 58 F0 90 01 0C 74 02 F0 7A 00 09 E9 7B +R 00 00 00 17 F1 01 0A 00 17 +T 0C 62 00 09 E9 8B 04 90 01 0D EC F0 90 01 0E EA +R 00 00 00 17 F1 81 02 00 17 +T 0C 6E F0 90 01 10 74 02 F0 7A 00 09 FF 7B +R 00 00 00 17 F1 01 0A 00 17 +T 0C 78 00 09 FF 8B 04 90 01 11 EC F0 90 01 12 EA +R 00 00 00 17 F1 81 02 00 17 +T 0C 84 F0 90 01 14 74 02 F0 7A 00 0A 15 7B +R 00 00 00 17 F1 01 0A 00 17 +T 0C 8E 00 0A 15 8B 04 90 01 15 EC F0 90 01 16 EA +R 00 00 00 17 F1 81 02 00 17 +T 0C 9A F0 90 01 18 74 02 F0 7A 00 0A 2B 7B +R 00 00 00 17 F1 01 0A 00 17 +T 0C A4 00 0A 2B 8B 04 90 01 19 EC F0 90 01 1A EA +R 00 00 00 17 F1 81 02 00 17 +T 0C B0 F0 90 01 20 74 02 F0 7A 00 0A 41 7B +R 00 00 00 17 F1 01 0A 00 17 +T 0C BA 00 0A 41 8B 04 90 01 21 EC F0 90 01 22 EA +R 00 00 00 17 F1 81 02 00 17 +T 0C C6 F0 90 01 24 74 02 F0 7A 00 0A CA 7B +R 00 00 00 17 F1 01 0A 00 17 +T 0C D0 00 0A CA 8B 04 90 01 25 EC F0 90 01 26 EA +R 00 00 00 17 F1 81 02 00 17 +T 0C DC F0 90 01 28 74 02 F0 7A 00 0B 66 7B +R 00 00 00 17 F1 01 0A 00 17 +T 0C E6 00 0B 66 8B 04 90 01 29 EC F0 90 01 2A EA +R 00 00 00 17 F1 81 02 00 17 +T 0C F2 F0 90 01 2C 74 02 F0 7A 00 0B 7C 7B +R 00 00 00 17 F1 01 0A 00 17 +T 0C FC 00 0B 7C 8B 04 90 01 2D EC F0 90 01 2E EA +R 00 00 00 17 F1 81 02 00 17 +T 0D 08 F0 90 01 30 74 02 F0 7A 00 0B 92 7B +R 00 00 00 17 F1 01 0A 00 17 +T 0D 12 00 0B 92 8B 04 90 01 31 EC F0 90 01 32 EA +R 00 00 00 17 F1 81 02 00 17 +T 0D 1E F0 90 01 34 74 02 F0 7A 00 0B A8 7B +R 00 00 00 17 F1 01 0A 00 17 +T 0D 28 00 0B A8 8B 04 90 01 35 EC F0 90 01 36 EA +R 00 00 00 17 F1 81 02 00 17 +T 0D 34 F0 90 01 38 74 02 F0 7A 00 0B BE 7B +R 00 00 00 17 F1 01 0A 00 17 +T 0D 3E 00 0B BE 8B 04 90 01 39 EC F0 90 01 3A EA +R 00 00 00 17 F1 81 02 00 17 +T 0D 4A F0 90 01 3C 74 02 F0 7A 00 0B D4 7B +R 00 00 00 17 F1 01 0A 00 17 +T 0D 54 00 0B D4 8B 04 90 01 3D EC F0 90 01 3E EA +R 00 00 00 17 F1 81 02 00 17 +T 0D 60 F0 53 91 EF 90 E6 5D 74 7F F0 90 E6 5C E0 +R 00 00 00 17 +T 0D 6E FA 44 7F F0 90 E6 5F 74 FF F0 90 E6 5E 74 +R 00 00 00 17 +T 0D 7C FF F0 D2 E8 D2 AF 90 E6 11 74 A0 F0 00 00 +R 00 00 00 17 +T 0D 8A 00 00 90 E6 10 74 A0 F0 00 00 00 00 90 +R 00 00 00 17 +T 0D 97 E6 12 E4 F0 00 00 00 00 90 E6 13 E4 F0 00 +R 00 00 00 17 +T 0D A5 00 00 00 90 E6 14 E4 F0 00 00 00 00 90 +R 00 00 00 17 +T 0D B2 E6 15 E4 F0 00 00 00 00 12 03 95 90 E6 80 +R 00 00 00 17 00 0B 00 17 +T 0D C0 E0 44 82 F0 90 00 FA 12 00 00 90 E6 80 E0 +R 00 00 00 17 00 0A 00 17 +T 0D CE 54 F7 F0 22 +R 00 00 00 17 +T 0D D2 +R 00 00 00 17 +T 0D D2 12 0B EA 7A 00 7B 00 +R 00 00 00 17 00 03 00 17 +T 0D D9 +R 00 00 00 17 +T 0D D9 8A 04 90 00 6B EC F0 8B 04 90 00 6C EC F0 +R 00 00 00 17 00 05 00 0B 00 0C 00 0B +T 0D E7 C0 02 C0 03 12 03 51 D0 03 D0 02 0A BA 00 +R 00 00 00 17 00 07 00 17 +T 0D F5 01 0B +R 00 00 00 17 +T 0D F7 +R 00 00 00 17 +T 0D F7 7C 00 +R 00 00 00 17 +T 0D F9 +R 00 00 00 17 +T 0D F9 BC 64 00 +R 00 00 00 17 +T 0D FC +R 00 00 00 17 +T 0D FC 50 DB 90 00 69 E0 FD A3 E0 FE 8D 82 8E 83 +R 00 00 00 17 00 05 00 0B +T 0E 0A A3 A3 EC F0 90 00 0A C0 02 C0 03 C0 04 12 +R 00 00 00 17 +T 0E 18 00 00 D0 04 D0 03 D0 02 0C 80 D6 +R 00 00 00 17 00 02 00 17 +T 00 00 +R 00 00 00 59 +T 00 00 5A 54 45 58 00 +R 00 00 00 59 +T 00 05 +R 00 00 00 59 +T 00 05 64 65 62 75 67 20 66 6F 72 20 45 5A 2D 55 +R 00 00 00 59 +T 00 13 53 42 20 64 65 76 69 63 65 73 00 +R 00 00 00 59 +T 00 1E +R 00 00 00 59 +T 00 1E 28 75 6E 6B 6E 6F 77 6E 29 00 +R 00 00 00 59 +T 00 28 +R 00 00 00 59 +T 00 28 00 +R 00 00 00 59 +T 00 29 +R 00 00 00 59 +T 00 29 12 01 00 02 FF FF FF 40 1A 22 00 01 00 00 +R 00 00 00 59 +T 00 37 01 02 03 01 +R 00 00 00 59 +T 00 3B +R 00 00 00 59 +T 00 3B 0A 06 00 02 FF FF FF 40 01 00 +R 00 00 00 59 +T 00 45 +R 00 00 00 59 +T 00 45 09 02 20 00 01 01 04 C0 32 09 04 00 00 02 +R 00 00 00 59 +T 00 53 FF FF FF 00 07 05 81 02 00 02 00 07 05 01 +R 00 00 00 59 +T 00 61 02 00 02 00 +R 00 00 00 59 +T 00 65 +R 00 00 00 59 +T 00 65 00 00 +R 00 00 00 59 +T 00 67 +R 00 00 00 59 +T 00 67 09 02 20 00 01 01 04 C0 32 09 04 00 00 02 +R 00 00 00 59 +T 00 75 FF FF FF 00 07 05 81 02 40 00 00 07 05 01 +R 00 00 00 59 +T 00 83 02 40 00 00 +R 00 00 00 59 +T 00 87 +R 00 00 00 59 +T 00 87 00 00 +R 00 00 00 59 +T 00 89 +R 00 00 00 59 +T 00 89 04 03 00 00 +R 00 00 00 59 +T 00 00 +R 00 00 00 5A +T 00 00 00 00 +R 00 00 00 5A +T 00 02 +R 00 00 00 5A +T 00 02 00 +R 00 00 00 5A +T 00 03 +R 00 00 00 5A +T 00 03 FF +R 00 00 00 5A +T 00 04 +R 00 00 00 5A +T 00 04 00 +R 00 00 00 5A +T 00 05 +R 00 00 00 5A +T 00 05 00 00 00 00 00 00 00 00 +R 00 00 00 5A Index: debug/debug.lnk =================================================================== --- debug/debug.lnk (nonexistent) +++ debug/debug.lnk (revision 3) @@ -0,0 +1,20 @@ +-myuxi +-Y +-a 0x0100 +-v 0x1000 +-w 0x2e00 +-b HOME = 0x0200 +-b XSEG = 0x3200 +-b PSEG = 0x3200 +-b ISEG = 0x0000 +-b BSEG = 0x0000 +-k /usr/bin/../share/sdcc/lib/small +-k /usr/share/sdcc/lib/small +-l mcs51 +-l libsdcc +-l libint +-l liblong +-l libfloat +debug.rel + +-e Index: debug/debug.ihx =================================================================== --- debug/debug.ihx (nonexistent) +++ debug/debug.ihx (revision 3) @@ -0,0 +1,487 @@ +:03020000020208EF +:0302610002020393 +:0502030012103680FE20 +:03000000020200F9 +:0100030032CA +:01000B0032C2 +:0100130032BA +:01001B0032B2 +:0100230032AA +:01002B0032A2 +:01003300329A +:01003B003292 +:01004300328A +:01004B003282 +:01005300327A +:01005B003272 +:01006300326A +:0101000032CC +:0101040032C8 +:0101080032C4 +:01010C0032C0 +:0101100032BC +:0101140032B8 +:0101180032B4 +:0101200032AC +:0101240032A8 +:0101280032A4 +:01012C0032A0 +:01013000329C +:010134003298 +:010138003294 +:01013C003290 +:01014000328C +:010148003284 +:01014C003280 +:01015000327C +:010154003278 +:010158003274 +:01015C003270 +:01016000326C +:01017000325C +:010174003258 +:010178003254 +:01017C003250 +:01018000324C +:010184003248 +:010188003244 +:01018C003240 +:01019000323C +:010194003238 +:010198003234 +:01019C003230 +:0101A000322C +:0101A8003224 +:0101AC003220 +:0101B000321C +:0101B4003218 +:0101B8003214 +:08026400AA82AB837C007D003F +:0B026C00C3EC9AED9B50147EB07F04A1 +:050277001EBEFF011F87 +:0B027C00EE4F70F70CBC00E80D80E5B1 +:010287002254 +:08028800AA82AB837C007D001B +:0B029000C3EC9AED9B50147E0A7F0027 +:05029B001EBEFF011F63 +:0B02A000EE4F70F70CBC00E80D80E58D +:0102AB002230 +:0E02AC0075AF0790E67BE090E67CF0DAF32277 +:0202BA007A00C8 +:0302BC00BAFF0086 +:0D02BF00500B90E678E0FB20E0030A80F091 +:0C02CC0090E678E0FA20E204EA20E10B62 +:0B02D80090E678E04440F075820122BF +:0402E30075820022FE +:0202E7007A009B +:0302E900BAFF0059 +:0D02EC00500B90E678E0FB20E0030A80F064 +:0E02F90090E678E0FA30E20B90E678E04440C0 +:05030700F075820122E7 +:04030C0075820022D4 +:020310007A0071 +:03031200BAFF002F +:0E031500500F90E678E0FB20E2047582002293 +:030323000A80EC61 +:0403260075820122B9 +:02032A007A0057 +:03032C00BAFF0015 +:0E032F00500F90E678E0FB20E6047582002275 +:03033D000A80EC47 +:04034000758201229F +:08034400AA82C3E49AE433FA33 +:0D034C0090E678E04480F0C00212031090AB +:0E035900E67974A2F01202BAE582D0027012A8 +:0C036700E508600A90E678E04440F012DF +:02037300032A5B +:04037500758200226B +:0E037900EA600C90000AC002120288D00280D6 +:01038700C4B1 +:0C038800E508600890E678E0FA4440F0D8 +:04039400758201224B +:0C039800AA82AB837C00E50B7003F582A9 +:0103A4002236 +:0C03A500750800758264C002C003C0042B +:0E03B100120344E582D004D003D002600302A0 +:0203BF00049B9D +:0C03C10090E679E50AF0C002C003C00419 +:0E03CD001202BAE582D004D003D0026003020F +:0203DB00049B81 +:0C03DD0090E679E509F0C002C003C004FE +:0E03E9001202BAE582D004D003D002600302F3 +:0203F700049B65 +:0E03F90090E678E04440F0C002C003C0041259 +:0D040700032A90E678E04480F01203109084 +:0E041400E67974A3F01202BAE582D004D00398 +:0E042200D002707590E679E08A828B83F0C07C +:0E04300002C003C0041202E7E582D004D0032C +:05043E00D0027059FD21 +:0C044300C3ED950B502A90E679E08A8208 +:0E044F008B83F0A3AA82AB83C002C003C0045B +:0E045D00C0051202E7E582D005D004D003D01E +:08046B0002702D0D8D0480D0FC +:0E04730090E678E04420F090E679E0C00412B4 +:0E04810002E7E582D004701290E678E0444075 +:0C048F00F090E679E0C00412032AD004CB +:03049B008C82222E +:0C049E00AA82AB837C00750800758264A4 +:0E04AA00C002C003C004120344E582D004D097 +:0804B80003D0026003020551AC +:0C04C00090E679E50DF0C002C003C00416 +:0E04CC001202BAE582D004D003D0026003020F +:0204DA000551CA +:0C04DC0090E679E50CF0C002C003C004FB +:0E04E8001202BAE582D004D003D002705CFD8F +:0C04F600C3ED950E50478A828B83E0FE18 +:0E050200A3AA82AB8390E679EEF0903204E07B +:0D051000FFEE2FF0903202E0FEA3E0FF901E +:0E051D00320274012EF0E43FA3F0C002C003CE +:0E052B00C004C0051202BAE582D005D004D08B +:0A05390003D00270130D8D0480B38F +:0E05430090E678E04440F0C00412032AD00491 +:030551008C822277 +:0A055400903272E0FA903200E0F5F8 +:06055E0009A3E0F50A8A82 +:0C0564000B90E740C002120398AB82D05D +:0E057000027C00903200E0FDA3E0FE9032001D +:0A057E00EA2DF0EC3EA3F08B822280 +:0B058800AA82903200E0F50CA3E0F521 +:090593000D8A0E90E740C002122F +:0E059C00049ED0027B00903200E0FCA3E0FD44 +:0B05AA00903200EA2CF0EB3DA3F022A1 +:0E05B500903205E0FAA3E0FB741F5A75F003C4 +:0905C300A42409FCE43432FD908B +:0B05CC003269ECF0A3EDF0759B6B7E34 +:0A05D7006B7F328F9A8C068D078E21 +:0D05E1009E8D9DC0027A031202ACD00290E4 +:0B05EE00320574012AF0E43BA3F02268 +:0E05F900903205E4F0A3F09032077420F090E9 +:0906070032087403F090326974AA +:0706100009F0A37432F0228F +:0A061700903272E0FA700302063C14 +:0E06210090326EE0FBA3E0FC8B9B8C9A759EE2 +:0D062F0040759DE7C0027AF01202ACD002C7 +:0E063C0090326EE0FBA3E0FC90326EEA2BF0F1 +:07064A00E43CA3F08A8222C8 +:01006C00286B +:01006D000191 +:04006E005A54455843 +:04007200000000008A +:010076000089 +:010077000187 +:0600780009000000000079 +:0C007E0000000000000000000000000076 +:0A008A00303030303030303030308C +:0E06510090E683E4F07420F07410F07430F042 +:0E065F0090E6837401F07421F07411F0743190 +:02066D00F02279 +:0A066F00AA82E51024E05003751084 +:010679001F61 +:0C067A0075AF078A9B850F9A759E41752D +:0A0686009DE790E67C7403F07A0013 +:0C069000C3EA9510501190E67BE0FB904F +:0B069C00E67CF090E67CE4F00A80E9C8 +:0B06A700E5100425E0FA90E740F09019 +:0E06B200E7417403F090E68AE4F090E68BEAEC +:0206C000F02226 +:0E06C200903270E0FAA3E0FBC374409AE49B10 +:0806D00050067C407D0080040F +:0406D8008A048B0500 +:0E06DC00903272ECF07D00903270EAC39CF018 +:0506EA00EB9DA3F022CE +:0E06EF00903273E0FABA3924903204E4F090AD +:0D06FD003202F0A3F090E6BBE0FB7A009023 +:0E070A00E6BAE0FC7D00903200EC4AF0ED4BC8 +:03071800A3F02229 +:08071B0090E6A0E04401F02289 +:0C072300C020C0E0C0F0C082C083C00253 +:0E072F00C003C004C005C006C007C000C00162 +:0E073D00C0D075D00090E6B9E0FA903273F0AB +:0E074B0090E6B57401F090E6B9E0FA24F350A0 +:0407590003020AD9B4 +:07075D00EA2A2A90076473E9 +:0707640002078B02083F02AF +:06076B000AD90208BC02DD +:060771000AD9020AD902B8 +:060777000954020A6F02A2 +:06077D000A71020A82026B +:060783000A87020A980239 +:020789000A9DC7 +:0A078B0090E6B8E0FABA8002800D93 +:05079500BA8102801E84 +:05079A00BA8202802F6D +:03079F00020AD972 +:0E07A20090E740E4F090E741F090E68AF09096 +:0807B000E68B7402F0020AD985 +:0E07B80090E740E4F090E741F090E68AF09080 +:0807C600E68B7402F0020AD96F +:0C07CE0090E6BCE0FA600FBA010280194E +:0507DA00BA8002800559 +:0507DF00BA812F801E0D +:0E07E40090E6A0E0FA53020190E740EAF080B0 +:0107F2003ACC +:0E07F30090E6A1E0FA53020190E740EAF080A0 +:010801002BCB +:0E08020090E6A2E0FA53020190E740EAF0808F +:010810001CCB +:0E08110090E6BCE0C31314540324A3F582E464 +:0E081F0034E6F583E0FA53020190E740EAF078 +:0E082D0090E741E4F090E68AF090E68B7402CA +:04083B00F0020AD9E4 +:0A083F0090E6B8E0FABA0202800366 +:03084900020AD9C7 +:09084C0090E6BAE06003020AD94B +:0C08550090E6BCE0FA600FBA01028015CA +:05086100BA80028005D1 +:05086600BA8123801699 +:0B086B0090E6A0E0FA54FEF0020AD96B +:0B08760090E6A1E0FA54FEF0020AD95F +:0B08810090E6A2E0FA54FEF0020AD953 +:0E088C0090E6BCE0C31314540324A3FAE43432 +:0E089A00E6FB90E6BCE0C31314540324A3F560 +:0E08A80082E434E6F583E0FC5304FE8A828B82 +:0608B60083ECF0020AD9F8 +:0A08BC0090E6B8E0FABA02028003E9 +:0308C600020AD94A +:0908C90090E6BAE06003020AD9CE +:0C08D20090E6BCE0FA600FBA010280144E +:0508DE00BA8002800554 +:0508E300BA8120801421 +:0A08E80090E6A0E0FA4401F0804120 +:0A08F20090E6A1E0FA4401F080371F +:0A08FC0090E6A2E0FA4401F0802D1E +:0E09060090E6BCE0C31314540324A3FAE434B7 +:0E091400E6FB90E6BCE0C31314540324A3F5E5 +:0E09220082E434E6F583E0FC4304FE8A828B17 +:0309300083ECF065 +:0E09330090E6BCE05480C423541FFA90E6BC4A +:0E094100E0FB740F5B420290E683EAF0742044 +:05094F004AF0020AD984 +:0A09540090E6BBE0FABA0102801938 +:05095E00BA0202802630 +:05096300BA0302804D03 +:06096800BA0603020A2892 +:06096E00BA0703020A3A79 +:03097400020A650F +:0A0977007AB47B1090E6B3EBF09029 +:08098100E6B474B4F0020AD9D7 +:0B09890090E680E0FA30E7127AD07BA5 +:0A0994001090E6B3EBF090E6B474A7 +:05099E00D0F0020AD9AF +:0A09A3007AF27B1090E6B3EBF090BF +:0809AD00E6B474F2F0020AD96D +:0A09B50090E6BAE0FABA0102800FE2 +:0509BF00BA0202801CD9 +:0509C400BA03028029C6 +:0509C900BA044A80366B +:0609CE0075828B7A8B7B21 +:0409D400108B0F7500 +:0609D800100512066F027B +:0209DE000AD934 +:0609E0007582907A907B05 +:0409E600108B0F75EE +:0609EA00101912066F0255 +:0209F0000AD922 +:0A09F20075828A7A8A7B008B0F75EC +:0609FC00100A12066F0252 +:020A02000AD90F +:060A04007582A97AA97BAE +:040A0A00108B0F75C9 +:060A0E00100A12066F023F +:020A14000AD9FD +:0A0A16007A147B1190E6B3EBF09028 +:080A2000E6B47414F0020AD9D7 +:0A0A28007AC67B1090E6B3EBF09065 +:080A3200E6B474C6F0020AD913 +:0B0A3A0090E680E0FA30E7127AF27BD1 +:0A0A45001090E6B3EBF090E6B474F5 +:050A4F00F2F0020AD9DB +:0A0A54007AD07B1090E6B3EBF0902F +:070A5E00E6B474D0F08074CF +:0A0A650090E6A0E0FA4401F0806A78 +:020A6F0080689D +:0E0A710090E740E4F090E68AF090E68B740186 +:030A7F00F08057AD +:050A8200120651805234 +:0E0A870090E740E4F090E68AF090E68B740170 +:030A9500F08041AD +:050A9800120651803C34 +:0E0A9D0090E6B8E0FABA823490E6BCE0C313EB +:0B0AAB0014540325E02475F582E434A8 +:0C0AB60032F583E4F0A3F090E685E090B8 +:0D0AC200E740F090E684E0FA90E741F09004 +:0A0ACF00E68AE4F090E68B7402F072 +:0B0AD90090E6B8E0FABA4003020BC937 +:050AE400BAC00280030E +:030AE900020BF30A +:0E0AEC0090E6BFE0FB7A0090E6BEE0FC7D00E5 +:0E0AFA00903270EC4AF0ED4BA3F01206C29061 +:090B0800E6B9E0FABA22028013FA +:060B1100BA2803020BA547 +:050B1700BA3802802540 +:050B1C00BA3A02804915 +:030B2100020BBF05 +:0E0B240090E6B5E4F090E68AF090E68B742837 +:0D0B3200F090E6B3E4F090E6B4746CF002CD +:020B3F000BF3B6 +:0E0B410090E6BBE0FB7A0090E6BAE0FC7D0097 +:0E0B4F00903200EC4AF0ED4BA3F090E68AE401 +:0D0B5D00F0120554E58290E68BF0020BF3D8 +:0E0B6A00903202E0FAA3E0FB8A0490E740EC30 +:0D0B7800F08B0290E741EAF0903204E0902B +:0C0B8500E742F07508017582001203447D +:0D0B9100AA8290E743EAF090E68AE4F09033 +:070B9E00E68B7404F0804EA9 +:080BA50090326E7405F0A37498 +:0C0BAD0032F090E68AE4F0120617E582B0 +:060BB90090E68BF0803491 +:0A0BBF0090E6A0E0FA4401F0802A5D +:0C0BC90090E6BFE0700690E6BEE060160B +:0E0BD5009032747401F090E68BE4F05391EFCF +:080BE30090E65D7401F0801939 +:080BEB001206EF90E68BE4F026 +:0E0BF3005391EF90E65D7401F090E6A0E0FAF9 +:030C01004480F03C +:0E0C0400D0D0D001D000D007D006D005D0044B +:0D0C1200D003D002D083D082D0F0D0E0D04B +:020C1F00203281 +:0E0C2100C0E0C082C0835391EF90E65D740284 +:080C2F00F0D083D082D0E03246 +:0E0C3700C0E0C082C0835391EF90E65D74046C +:080C4500F0D083D082D0E03230 +:0E0C4D00C0E0C082C0835391EF90E65D740852 +:080C5B00F0D083D082D0E0321A +:0E0C6300C0E0C082C0835391EF90E65D741034 +:080C7100F0D083D082D0E03204 +:0E0C7900C0E0C082C0835391EF90E65D74200E +:080C8700F0D083D082D0E032EE +:0E0C8F00C0E0C082C0835391EF90E65D7440D8 +:080C9D00F0D083D082D0E032D8 +:0C0CA500C020C0E0C0F0C082C083C002CC +:0E0CB100C003C004C005C006C007C000C001DB +:0E0CBF00C0D075D000C2E81206C2903273E0B9 +:060CCD00FABA2802801AA9 +:050CD300BA38028005A3 +:050CD800BA3A22802958 +:0E0CDD0090E68AE4F0120554E58290E68BF072 +:020CEB0080196E +:0E0CED0090E68AE4F0120617E58290E68BF09E +:020CFB0080096E +:090CFD0090E68AE4F090E68BF029 +:0E0D06005391EF90E65F7401F0D2E8D0D0D0A8 +:0E0D140001D000D007D006D005D004D003D007 +:0C0D220002D083D082D0F0D0E0D020328C +:0C0D2E00C020C0E0C0F0C082C083C00242 +:0E0D3A00C003C004C005C006C007C000C00151 +:0E0D4800C0D075D000C2E8903274E0FA60208E +:0D0D5600903274E4F090E6BFE0FB7A00906C +:0E0D6300E6BEE0FC7D00903270EC4AF0ED4BF5 +:050D7100A3F01206EFE3 +:0E0D76001206C2903273E0FABA390990E68B89 +:060D8400E0F58212058873 +:0E0D8A0090E68BE4F05391EF90E65F7402F078 +:0E0D9800903270E0FAA3E0FB4A700890E6A0EB +:050DA600E0FA4480F0BA +:0E0DAB00D2E8D0D0D001D000D007D006D005BD +:0E0DB900D004D003D002D083D082D0F0D0E09E +:030DC700D0203207 +:0E0DCA00C0E0C082C0835391EF90E65F7404D6 +:080DD800F0D083D082D0E0329C +:0E0DE000C0E0C082C0835391EF90E65F7408BC +:080DEE00F0D083D082D0E03286 +:0E0DF600C0E0C082C0835391EF90E65F74109E +:080E0400F0D083D082D0E0326F +:0E0E0C00C0E0C082C0835391EF90E65F742077 +:080E1A00F0D083D082D0E03259 +:0E0E2200C0E0C082C0835391EF90E65F744041 +:080E3000F0D083D082D0E03243 +:0E0E3800C0E0C082C0835391EF90E65F7480EB +:080E4600F0D083D082D0E0322D +:0E0E4E0090E680E04408F090E6007412F05345 +:0D0E5C008EF8C2AFC2E89000437402F0901F +:0E0E690000447401F090004574B8F090E66803 +:0C0E7700E04408F09001007402F07A23BF +:0C0E83007B078B04900101ECF090010251 +:0B0E8F00EAF09001047402F07A217B6D +:0C0E9A000C8B04900105ECF0900106EABE +:0A0EA600F09001087402F07A377B27 +:0C0EB0000C8B04900109ECF090010AEAA0 +:0A0EBC00F090010C7402F07A4D7BF7 +:0C0EC6000C8B0490010DECF090010EEA82 +:0A0ED200F09001107402F07A637BC7 +:0C0EDC000C8B04900111ECF0900112EA64 +:0A0EE800F09001147402F07A797B97 +:0C0EF2000C8B04900115ECF0900116EA46 +:0A0EFE00F09001187402F07A8F7B67 +:0C0F08000C8B04900119ECF090011AEA27 +:0A0F1400F09001207402F07AA57B32 +:0C0F1E000C8B04900121ECF0900122EA01 +:0A0F2A00F09001247402F07A2E7B8F +:0C0F34000D8B04900125ECF0900126EAE2 +:0A0F4000F09001287402F07ACA7BD9 +:0C0F4A000D8B04900129ECF090012AEAC4 +:0A0F5600F090012C7402F07AE07BA9 +:0C0F60000D8B0490012DECF090012EEAA6 +:0A0F6C00F09001307402F07AF67B79 +:0C0F76000D8B04900131ECF0900132EA88 +:0A0F8200F09001347402F07A0C7B49 +:0C0F8C000E8B04900135ECF0900136EA69 +:0A0F9800F09001387402F07A227B19 +:0C0FA2000E8B04900139ECF090013AEA4B +:0A0FAE00F090013C7402F07A387BE9 +:0C0FB8000E8B0490013DECF090013EEA2D +:0E0FC400F05391EF90E65D747FF090E65CE0F4 +:0E0FD200FA447FF090E65F74FFF090E65E74E4 +:0E0FE000FFF0D2E8D2AF90E61174A0F000004E +:0D0FEE00000090E61074A0F00000000090DC +:0E0FFB00E612E4F00000000090E613E4F000BF +:0D10090000000090E614E4F00000000090EC +:0E101600E615E4F0000000001205F990E680F7 +:0E102400E04482F09000FA12026490E680E050 +:0410320054F7F0225D +:07103600120E4E7A007B0050 +:0E103D008A0490326BECF08B0490326CECF075 +:0E104B00C002C0031205B5D003D0020ABA00DD +:02105900010B89 +:02105B007C0017 +:03105D00BC640070 +:0E10600050DB903269E0FDA3E0FE8D828E83AE +:0E106E00A3A3ECF090000AC002C003C004125D +:0B107C000264D004D003D0020C80D628 +:05108B005A5445580015 +:0E109000646562756720666F7220455A2D55A3 +:0B109E005342206465766963657300AF +:0A10A90028756E6B6E6F776E2900DC +:0110B300003C +:0E10B40012010002FFFFFF401A22000100009F +:0410C2000102030123 +:0A10C6000A060002FFFFFF400100D0 +:0E10D00009022000010104C0320904000002E0 +:0E10DE00FFFFFF000705810200020007050169 +:0410EC0002000200FC +:0210F0000000FE +:0E10F20009022000010104C0320904000002BE +:0E110000FFFFFF000705810240000007050108 +:04110E00024000009B +:021112000000DB +:0411140004030000D0 +:021118000000D5 +:01111A0000D4 +:01111B00FFD4 +:01111C0000D2 +:08111D000000000000000000CA +:06023700E478FFF6D8FD9B +:08021500790DE94400601B7A39 +:05021D000190111878AA +:0302220070759262 +:0A02250032E493F2A308B8000205CA +:08022F0092D9F4DAF27592FF96 +:08023D007800E84400600A7932 +:03024500007592AF +:0602480032E4F309D8FCCA +:08024E007870E84400600C79AF +:0B02560001903200E4F0A3D8FCD9FABC +:03020800758120DD +:0A020B00121087E58260030202036F +:04108700758200224C +:00000001FF Index: debug/Makefile =================================================================== --- debug/Makefile (nonexistent) +++ debug/Makefile (revision 3) @@ -0,0 +1,21 @@ +######################### +# configuration section # +######################### + +ZTEXPREFIX=../../.. + +JARTARGET=Debug.jar +CLASSTARGETS=Debug.class +CLASSEXTRADEPS= +#CLASSEXTRADEPS:=$(shell echo $(ZTEXPREFIX)/java/ztex/*.java) + +IHXTARGETS=debug.ihx +IHXEXTRADEPS= +#IHXEXTRADEPS:=$(shell echo $(ZTEXPREFIX)/include/*.h) +EXTRAJARFILES=debug.ihx + +################################ +# DO NOT CHANAGE THE FOLLOWING # +################################ + +include $(ZTEXPREFIX)/Makefile.mk

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.