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

Subversion Repositories usb_fpga_2_13

[/] [usb_fpga_2_13/] [trunk/] [default/] [usb-fpga-2.01/] [default.rst] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 ZTEX
                              1 ;--------------------------------------------------------
2
                              2 ; File Created by SDCC : free open source ANSI-C Compiler
3
                              3 ; Version 2.8.0 #5117 (May 15 2008) (UNIX)
4
                              4 ; This file was generated Wed Apr  2 23:07:29 2014
5
                              5 ;--------------------------------------------------------
6
                              6         .module default_tmp
7
                              7         .optsdcc -mmcs51 --model-small
8
                              8
9
                              9 ;--------------------------------------------------------
10
                             10 ; Public variables in this module
11
                             11 ;--------------------------------------------------------
12
                             12         .globl _sendStringDescriptor_PARM_3
13
                             13         .globl _sendStringDescriptor_PARM_2
14
                             14         .globl _spi_write_PARM_2
15
                             15         .globl _flash_read_PARM_2
16
                             16         .globl _mac_eeprom_init_hexdigits_1_1
17
                             17         .globl _EmptyStringDescriptor
18
                             18         .globl _FullSpeedConfigDescriptor_PadByte
19
                             19         .globl _FullSpeedConfigDescriptor
20
                             20         .globl _HighSpeedConfigDescriptor_PadByte
21
                             21         .globl _HighSpeedConfigDescriptor
22
                             22         .globl _DeviceQualifierDescriptor
23
                             23         .globl _DeviceDescriptor
24
                             24         .globl _configurationString
25
                             25         .globl _productString
26
                             26         .globl _manufacturerString
27
                             27         .globl _fpga_flash_boot_id
28
                             28         .globl _main
29
                             29         .globl _init_USB
30
                             30         .globl _mac_eeprom_init
31
                             31         .globl _EP8_ISR
32
                             32         .globl _EP6_ISR
33
                             33         .globl _EP4_ISR
34
                             34         .globl _EP2_ISR
35
                             35         .globl _EP1OUT_ISR
36
                             36         .globl _EP1IN_ISR
37
                             37         .globl _EP0ACK_ISR
38
                             38         .globl _HSGRANT_ISR
39
                             39         .globl _URES_ISR
40
                             40         .globl _SUSP_ISR
41
                             41         .globl _SUTOK_ISR
42
                             42         .globl _SOF_ISR
43
                             43         .globl _abscode_identity
44
                             44         .globl _fpga_configure_from_flash_init
45
                             45         .globl _fpga_first_free_sector
46
                             46         .globl _fpga_configure_from_flash
47
                             47         .globl _fpga_send_ep0
48
                             48         .globl _spi_send_ep0
49
                             49         .globl _spi_read_ep0
50
                             50         .globl _flash_init
51
                             51         .globl _flash_write_next
52
                             52         .globl _flash_write_finish
53
                             53         .globl _flash_write_finish_sector
54
                             54         .globl _flash_write_init
55
                             55         .globl _flash_write
56
                             56         .globl _flash_write_byte
57
                             57         .globl _spi_pp
58
                             58         .globl _flash_read_finish
59
                             59         .globl _flash_read_next
60
                             60         .globl _flash_read_init
61
                             61         .globl _spi_wait
62
                             62         .globl _spi_deselect
63
                             63         .globl _spi_select
64
                             64         .globl _spi_write
65
                             65         .globl _spi_write_byte
66
                             66         .globl _flash_read
67
                             67         .globl _flash_read_byte
68
                             68         .globl _spi_clocks
69
                             69         .globl _mac_eeprom_read_ep0
70
                             70         .globl _mac_eeprom_write
71
                             71         .globl _mac_eeprom_read
72
                             72         .globl _eeprom_write_ep0
73
                             73         .globl _eeprom_read_ep0
74
                             74         .globl _eeprom_write
75
                             75         .globl _eeprom_read
76
                             76         .globl _eeprom_select
77
                             77         .globl _i2c_waitStop
78
                             78         .globl _i2c_waitStart
79
                             79         .globl _i2c_waitRead
80
                             80         .globl _i2c_waitWrite
81
                             81         .globl _MEM_COPY1_int
82
                             82         .globl _uwait
83
                             83         .globl _wait
84
                             84         .globl _abscode_intvec
85
                             85         .globl _EIPX6
86
                             86         .globl _EIPX5
87
                             87         .globl _EIPX4
88
                             88         .globl _PI2C
89
                             89         .globl _PUSB
90
                             90         .globl _BREG7
91
                             91         .globl _BREG6
92
                             92         .globl _BREG5
93
                             93         .globl _BREG4
94
                             94         .globl _BREG3
95
                             95         .globl _BREG2
96
                             96         .globl _BREG1
97
                             97         .globl _BREG0
98
                             98         .globl _EIEX6
99
                             99         .globl _EIEX5
100
                            100         .globl _EIEX4
101
                            101         .globl _EI2C
102
                            102         .globl _EUSB
103
                            103         .globl _ACC7
104
                            104         .globl _ACC6
105
                            105         .globl _ACC5
106
                            106         .globl _ACC4
107
                            107         .globl _ACC3
108
                            108         .globl _ACC2
109
                            109         .globl _ACC1
110
                            110         .globl _ACC0
111
                            111         .globl _SMOD1
112
                            112         .globl _ERESI
113
                            113         .globl _RESI
114
                            114         .globl _INT6
115
                            115         .globl _CY
116
                            116         .globl _AC
117
                            117         .globl _F0
118
                            118         .globl _RS1
119
                            119         .globl _RS0
120
                            120         .globl _OV
121
                            121         .globl _F1
122
                            122         .globl _PF
123
                            123         .globl _TF2
124
                            124         .globl _EXF2
125
                            125         .globl _RCLK
126
                            126         .globl _TCLK
127
                            127         .globl _EXEN2
128
                            128         .globl _TR2
129
                            129         .globl _CT2
130
                            130         .globl _CPRL2
131
                            131         .globl _SM0_1
132
                            132         .globl _SM1_1
133
                            133         .globl _SM2_1
134
                            134         .globl _REN_1
135
                            135         .globl _TB8_1
136
                            136         .globl _RB8_1
137
                            137         .globl _TI_1
138
                            138         .globl _RI_1
139
                            139         .globl _PS1
140
                            140         .globl _PT2
141
                            141         .globl _PS0
142
                            142         .globl _PT1
143
                            143         .globl _PX1
144
                            144         .globl _PT0
145
                            145         .globl _PX0
146
                            146         .globl _IOD7
147
                            147         .globl _IOD6
148
                            148         .globl _IOD5
149
                            149         .globl _IOD4
150
                            150         .globl _IOD3
151
                            151         .globl _IOD2
152
                            152         .globl _IOD1
153
                            153         .globl _IOD0
154
                            154         .globl _EA
155
                            155         .globl _ES1
156
                            156         .globl _ET2
157
                            157         .globl _ES0
158
                            158         .globl _ET1
159
                            159         .globl _EX1
160
                            160         .globl _ET0
161
                            161         .globl _EX0
162
                            162         .globl _IOC7
163
                            163         .globl _IOC6
164
                            164         .globl _IOC5
165
                            165         .globl _IOC4
166
                            166         .globl _IOC3
167
                            167         .globl _IOC2
168
                            168         .globl _IOC1
169
                            169         .globl _IOC0
170
                            170         .globl _SM0_0
171
                            171         .globl _SM1_0
172
                            172         .globl _SM2_0
173
                            173         .globl _REN_0
174
                            174         .globl _TB8_0
175
                            175         .globl _RB8_0
176
                            176         .globl _TI_0
177
                            177         .globl _RI_0
178
                            178         .globl _IOB7
179
                            179         .globl _IOB6
180
                            180         .globl _IOB5
181
                            181         .globl _IOB4
182
                            182         .globl _IOB3
183
                            183         .globl _IOB2
184
                            184         .globl _IOB1
185
                            185         .globl _IOB0
186
                            186         .globl _TF1
187
                            187         .globl _TR1
188
                            188         .globl _TF0
189
                            189         .globl _TR0
190
                            190         .globl _IE1
191
                            191         .globl _IT1
192
                            192         .globl _IE0
193
                            193         .globl _IT0
194
                            194         .globl _IOA7
195
                            195         .globl _IOA6
196
                            196         .globl _IOA5
197
                            197         .globl _IOA4
198
                            198         .globl _IOA3
199
                            199         .globl _IOA2
200
                            200         .globl _IOA1
201
                            201         .globl _IOA0
202
                            202         .globl _EIP
203
                            203         .globl _BREG
204
                            204         .globl _EIE
205
                            205         .globl _ACC
206
                            206         .globl _EICON
207
                            207         .globl _PSW
208
                            208         .globl _TH2
209
                            209         .globl _TL2
210
                            210         .globl _RCAP2H
211
                            211         .globl _RCAP2L
212
                            212         .globl _T2CON
213
                            213         .globl _SBUF1
214
                            214         .globl _SCON1
215
                            215         .globl _GPIFSGLDATLNOX
216
                            216         .globl _GPIFSGLDATLX
217
                            217         .globl _GPIFSGLDATH
218
                            218         .globl _GPIFTRIG
219
                            219         .globl _EP01STAT
220
                            220         .globl _IP
221
                            221         .globl _OEE
222
                            222         .globl _OED
223
                            223         .globl _OEC
224
                            224         .globl _OEB
225
                            225         .globl _OEA
226
                            226         .globl _IOE
227
                            227         .globl _IOD
228
                            228         .globl _AUTOPTRSETUP
229
                            229         .globl _EP68FIFOFLGS
230
                            230         .globl _EP24FIFOFLGS
231
                            231         .globl _EP2468STAT
232
                            232         .globl _IE
233
                            233         .globl _INT4CLR
234
                            234         .globl _INT2CLR
235
                            235         .globl _IOC
236
                            236         .globl _AUTOPTRL2
237
                            237         .globl _AUTOPTRH2
238
                            238         .globl _AUTOPTRL1
239
                            239         .globl _AUTOPTRH1
240
                            240         .globl _SBUF0
241
                            241         .globl _SCON0
242
                            242         .globl __XPAGE
243
                            243         .globl _MPAGE
244
                            244         .globl _EXIF
245
                            245         .globl _IOB
246
                            246         .globl _CKCON
247
                            247         .globl _TH1
248
                            248         .globl _TH0
249
                            249         .globl _TL1
250
                            250         .globl _TL0
251
                            251         .globl _TMOD
252
                            252         .globl _TCON
253
                            253         .globl _PCON
254
                            254         .globl _DPS
255
                            255         .globl _DPH1
256
                            256         .globl _DPL1
257
                            257         .globl _DPH0
258
                            258         .globl _DPL0
259
                            259         .globl _SP
260
                            260         .globl _IOA
261
                            261         .globl _ISOFRAME_COUNTER
262
                            262         .globl _ep0_vendor_cmd_setup
263
                            263         .globl _ep0_prev_setup_request
264
                            264         .globl _ep0_payload_transfer
265
                            265         .globl _ep0_payload_remaining
266
                            266         .globl _SN_STRING
267
                            267         .globl _MODULE_RESERVED
268
                            268         .globl _INTERFACE_CAPABILITIES
269
                            269         .globl _INTERFACE_VERSION
270
                            270         .globl _FW_VERSION
271
                            271         .globl _PRODUCT_ID
272
                            272         .globl _ZTEXID
273
                            273         .globl _ZTEX_DESCRIPTOR_VERSION
274
                            274         .globl _ZTEX_DESCRIPTOR
275
                            275         .globl _OOEA
276
                            276         .globl _fpga_conf_initialized
277
                            277         .globl _fpga_flash_result
278
                            278         .globl _fpga_init_b
279
                            279         .globl _fpga_bytes
280
                            280         .globl _fpga_checksum
281
                            281         .globl _ep0_write_mode
282
                            282         .globl _ep0_read_mode
283
                            283         .globl _spi_write_sector
284
                            284         .globl _spi_need_pp
285
                            285         .globl _spi_write_addr_lo
286
                            286         .globl _spi_write_addr_hi
287
                            287         .globl _spi_buffer
288
                            288         .globl _spi_last_cmd
289
                            289         .globl _spi_erase_cmd
290
                            290         .globl _spi_memtype
291
                            291         .globl _spi_device
292
                            292         .globl _spi_vendor
293
                            293         .globl _flash_ec
294
                            294         .globl _flash_sectors
295
                            295         .globl _flash_sector_size
296
                            296         .globl _flash_enabled
297
                            297         .globl _config_data_valid
298
                            298         .globl _mac_eeprom_addr
299
                            299         .globl _eeprom_write_checksum
300
                            300         .globl _eeprom_write_bytes
301
                            301         .globl _eeprom_addr
302
                            302         .globl _INTVEC_GPIFWF
303
                            303         .globl _INTVEC_GPIFDONE
304
                            304         .globl _INTVEC_EP8FF
305
                            305         .globl _INTVEC_EP6FF
306
                            306         .globl _INTVEC_EP2FF
307
                            307         .globl _INTVEC_EP8EF
308
                            308         .globl _INTVEC_EP6EF
309
                            309         .globl _INTVEC_EP4EF
310
                            310         .globl _INTVEC_EP2EF
311
                            311         .globl _INTVEC_EP8PF
312
                            312         .globl _INTVEC_EP6PF
313
                            313         .globl _INTVEC_EP4PF
314
                            314         .globl _INTVEC_EP2PF
315
                            315         .globl _INTVEC_EP8ISOERR
316
                            316         .globl _INTVEC_EP6ISOERR
317
                            317         .globl _INTVEC_EP4ISOERR
318
                            318         .globl _INTVEC_EP2ISOERR
319
                            319         .globl _INTVEC_ERRLIMIT
320
                            320         .globl _INTVEC_EP8PING
321
                            321         .globl _INTVEC_EP6PING
322
                            322         .globl _INTVEC_EP4PING
323
                            323         .globl _INTVEC_EP2PING
324
                            324         .globl _INTVEC_EP1PING
325
                            325         .globl _INTVEC_EP0PING
326
                            326         .globl _INTVEC_IBN
327
                            327         .globl _INTVEC_EP8
328
                            328         .globl _INTVEC_EP6
329
                            329         .globl _INTVEC_EP4
330
                            330         .globl _INTVEC_EP2
331
                            331         .globl _INTVEC_EP1OUT
332
                            332         .globl _INTVEC_EP1IN
333
                            333         .globl _INTVEC_EP0OUT
334
                            334         .globl _INTVEC_EP0IN
335
                            335         .globl _INTVEC_EP0ACK
336
                            336         .globl _INTVEC_HISPEED
337
                            337         .globl _INTVEC_USBRESET
338
                            338         .globl _INTVEC_SUSPEND
339
                            339         .globl _INTVEC_SUTOK
340
                            340         .globl _INTVEC_SOF
341
                            341         .globl _INTVEC_SUDAV
342
                            342         .globl _INT12VEC_IE6
343
                            343         .globl _INT11VEC_IE5
344
                            344         .globl _INT10VEC_GPIF
345
                            345         .globl _INT9VEC_I2C
346
                            346         .globl _INT8VEC_USB
347
                            347         .globl _INT7VEC_USART1
348
                            348         .globl _INT6VEC_RESUME
349
                            349         .globl _INT5VEC_T2
350
                            350         .globl _INT4VEC_USART0
351
                            351         .globl _INT3VEC_T1
352
                            352         .globl _INT2VEC_IE1
353
                            353         .globl _INT1VEC_T0
354
                            354         .globl _INT0VEC_IE0
355
                            355         .globl _EP8FIFOBUF
356
                            356         .globl _EP6FIFOBUF
357
                            357         .globl _EP4FIFOBUF
358
                            358         .globl _EP2FIFOBUF
359
                            359         .globl _EP1INBUF
360
                            360         .globl _EP1OUTBUF
361
                            361         .globl _EP0BUF
362
                            362         .globl _GPIFABORT
363
                            363         .globl _GPIFREADYSTAT
364
                            364         .globl _GPIFREADYCFG
365
                            365         .globl _XGPIFSGLDATLNOX
366
                            366         .globl _XGPIFSGLDATLX
367
                            367         .globl _XGPIFSGLDATH
368
                            368         .globl _EP8GPIFTRIG
369
                            369         .globl _EP8GPIFPFSTOP
370
                            370         .globl _EP8GPIFFLGSEL
371
                            371         .globl _EP6GPIFTRIG
372
                            372         .globl _EP6GPIFPFSTOP
373
                            373         .globl _EP6GPIFFLGSEL
374
                            374         .globl _EP4GPIFTRIG
375
                            375         .globl _EP4GPIFPFSTOP
376
                            376         .globl _EP4GPIFFLGSEL
377
                            377         .globl _EP2GPIFTRIG
378
                            378         .globl _EP2GPIFPFSTOP
379
                            379         .globl _EP2GPIFFLGSEL
380
                            380         .globl _GPIFTCB0
381
                            381         .globl _GPIFTCB1
382
                            382         .globl _GPIFTCB2
383
                            383         .globl _GPIFTCB3
384
                            384         .globl _FLOWSTBHPERIOD
385
                            385         .globl _FLOWSTBEDGE
386
                            386         .globl _FLOWSTB
387
                            387         .globl _FLOWHOLDOFF
388
                            388         .globl _FLOWEQ1CTL
389
                            389         .globl _FLOWEQ0CTL
390
                            390         .globl _FLOWLOGIC
391
                            391         .globl _FLOWSTATE
392
                            392         .globl _GPIFADRL
393
                            393         .globl _GPIFADRH
394
                            394         .globl _GPIFCTLCFG
395
                            395         .globl _GPIFIDLECTL
396
                            396         .globl _GPIFIDLECS
397
                            397         .globl _GPIFWFSELECT
398
                            398         .globl _wLengthH
399
                            399         .globl _wLengthL
400
                            400         .globl _wIndexH
401
                            401         .globl _wIndexL
402
                            402         .globl _wValueH
403
                            403         .globl _wValueL
404
                            404         .globl _bRequest
405
                            405         .globl _bmRequestType
406
                            406         .globl _SETUPDAT
407
                            407         .globl _SUDPTRCTL
408
                            408         .globl _SUDPTRL
409
                            409         .globl _SUDPTRH
410
                            410         .globl _EP8FIFOBCL
411
                            411         .globl _EP8FIFOBCH
412
                            412         .globl _EP6FIFOBCL
413
                            413         .globl _EP6FIFOBCH
414
                            414         .globl _EP4FIFOBCL
415
                            415         .globl _EP4FIFOBCH
416
                            416         .globl _EP2FIFOBCL
417
                            417         .globl _EP2FIFOBCH
418
                            418         .globl _EP8FIFOFLGS
419
                            419         .globl _EP6FIFOFLGS
420
                            420         .globl _EP4FIFOFLGS
421
                            421         .globl _EP2FIFOFLGS
422
                            422         .globl _EP8CS
423
                            423         .globl _EP6CS
424
                            424         .globl _EP4CS
425
                            425         .globl _EP2CS
426
                            426         .globl _EPXCS
427
                            427         .globl _EP1INCS
428
                            428         .globl _EP1OUTCS
429
                            429         .globl _EP0CS
430
                            430         .globl _EP8BCL
431
                            431         .globl _EP8BCH
432
                            432         .globl _EP6BCL
433
                            433         .globl _EP6BCH
434
                            434         .globl _EP4BCL
435
                            435         .globl _EP4BCH
436
                            436         .globl _EP2BCL
437
                            437         .globl _EP2BCH
438
                            438         .globl _EP1INBC
439
                            439         .globl _EP1OUTBC
440
                            440         .globl _EP0BCL
441
                            441         .globl _EP0BCH
442
                            442         .globl _FNADDR
443
                            443         .globl _MICROFRAME
444
                            444         .globl _USBFRAMEL
445
                            445         .globl _USBFRAMEH
446
                            446         .globl _TOGCTL
447
                            447         .globl _WAKEUPCS
448
                            448         .globl _SUSPEND
449
                            449         .globl _USBCS
450
                            450         .globl _UDMACRCQUALIFIER
451
                            451         .globl _UDMACRCL
452
                            452         .globl _UDMACRCH
453
                            453         .globl _EXTAUTODAT2
454
                            454         .globl _XAUTODAT2
455
                            455         .globl _EXTAUTODAT1
456
                            456         .globl _XAUTODAT1
457
                            457         .globl _I2CTL
458
                            458         .globl _I2DAT
459
                            459         .globl _I2CS
460
                            460         .globl _PORTECFG
461
                            461         .globl _PORTCCFG
462
                            462         .globl _PORTACFG
463
                            463         .globl _INTSETUP
464
                            464         .globl _INT4IVEC
465
                            465         .globl _INT2IVEC
466
                            466         .globl _CLRERRCNT
467
                            467         .globl _ERRCNTLIM
468
                            468         .globl _USBERRIRQ
469
                            469         .globl _USBERRIE
470
                            470         .globl _GPIFIRQ
471
                            471         .globl _GPIFIE
472
                            472         .globl _EPIRQ
473
                            473         .globl _EPIE
474
                            474         .globl _USBIRQ
475
                            475         .globl _USBIE
476
                            476         .globl _NAKIRQ
477
                            477         .globl _NAKIE
478
                            478         .globl _IBNIRQ
479
                            479         .globl _IBNIE
480
                            480         .globl _EP8FIFOIRQ
481
                            481         .globl _EP8FIFOIE
482
                            482         .globl _EP6FIFOIRQ
483
                            483         .globl _EP6FIFOIE
484
                            484         .globl _EP4FIFOIRQ
485
                            485         .globl _EP4FIFOIE
486
                            486         .globl _EP2FIFOIRQ
487
                            487         .globl _EP2FIFOIE
488
                            488         .globl _OUTPKTEND
489
                            489         .globl _INPKTEND
490
                            490         .globl _EP8ISOINPKTS
491
                            491         .globl _EP6ISOINPKTS
492
                            492         .globl _EP4ISOINPKTS
493
                            493         .globl _EP2ISOINPKTS
494
                            494         .globl _EP8FIFOPFL
495
                            495         .globl _EP8FIFOPFH
496
                            496         .globl _EP6FIFOPFL
497
                            497         .globl _EP6FIFOPFH
498
                            498         .globl _EP4FIFOPFL
499
                            499         .globl _EP4FIFOPFH
500
                            500         .globl _EP2FIFOPFL
501
                            501         .globl _EP2FIFOPFH
502
                            502         .globl _ECC2B2
503
                            503         .globl _ECC2B1
504
                            504         .globl _ECC2B0
505
                            505         .globl _ECC1B2
506
                            506         .globl _ECC1B1
507
                            507         .globl _ECC1B0
508
                            508         .globl _ECCRESET
509
                            509         .globl _ECCCFG
510
                            510         .globl _EP8AUTOINLENL
511
                            511         .globl _EP8AUTOINLENH
512
                            512         .globl _EP6AUTOINLENL
513
                            513         .globl _EP6AUTOINLENH
514
                            514         .globl _EP4AUTOINLENL
515
                            515         .globl _EP4AUTOINLENH
516
                            516         .globl _EP2AUTOINLENL
517
                            517         .globl _EP2AUTOINLENH
518
                            518         .globl _EP8FIFOCFG
519
                            519         .globl _EP6FIFOCFG
520
                            520         .globl _EP4FIFOCFG
521
                            521         .globl _EP2FIFOCFG
522
                            522         .globl _EP8CFG
523
                            523         .globl _EP6CFG
524
                            524         .globl _EP4CFG
525
                            525         .globl _EP2CFG
526
                            526         .globl _EP1INCFG
527
                            527         .globl _EP1OUTCFG
528
                            528         .globl _GPIFHOLDAMOUNT
529
                            529         .globl _REVCTL
530
                            530         .globl _REVID
531
                            531         .globl _FIFOPINPOLAR
532
                            532         .globl _UART230
533
                            533         .globl _BPADDRL
534
                            534         .globl _BPADDRH
535
                            535         .globl _BREAKPT
536
                            536         .globl _FIFORESET
537
                            537         .globl _PINFLAGSCD
538
                            538         .globl _PINFLAGSAB
539
                            539         .globl _IFCONFIG
540
                            540         .globl _CPUCS
541
                            541         .globl _GPCR2
542
                            542         .globl _GPIF_WAVE3_DATA
543
                            543         .globl _GPIF_WAVE2_DATA
544
                            544         .globl _GPIF_WAVE1_DATA
545
                            545         .globl _GPIF_WAVE0_DATA
546
                            546         .globl _GPIF_WAVE_DATA
547
                            547         .globl _flash_write_PARM_2
548
                            548         .globl _mac_eeprom_write_PARM_3
549
                            549         .globl _mac_eeprom_write_PARM_2
550
                            550         .globl _mac_eeprom_read_PARM_3
551
                            551         .globl _mac_eeprom_read_PARM_2
552
                            552         .globl _eeprom_write_PARM_3
553
                            553         .globl _eeprom_write_PARM_2
554
                            554         .globl _eeprom_read_PARM_3
555
                            555         .globl _eeprom_read_PARM_2
556
                            556         .globl _eeprom_select_PARM_3
557
                            557         .globl _eeprom_select_PARM_2
558
                            558 ;--------------------------------------------------------
559
                            559 ; special function registers
560
                            560 ;--------------------------------------------------------
561
                            561         .area RSEG    (DATA)
562
                    0080    562 _IOA    =       0x0080
563
                    0081    563 _SP     =       0x0081
564
                    0082    564 _DPL0   =       0x0082
565
                    0083    565 _DPH0   =       0x0083
566
                    0084    566 _DPL1   =       0x0084
567
                    0085    567 _DPH1   =       0x0085
568
                    0086    568 _DPS    =       0x0086
569
                    0087    569 _PCON   =       0x0087
570
                    0088    570 _TCON   =       0x0088
571
                    0089    571 _TMOD   =       0x0089
572
                    008A    572 _TL0    =       0x008a
573
                    008B    573 _TL1    =       0x008b
574
                    008C    574 _TH0    =       0x008c
575
                    008D    575 _TH1    =       0x008d
576
                    008E    576 _CKCON  =       0x008e
577
                    0090    577 _IOB    =       0x0090
578
                    0091    578 _EXIF   =       0x0091
579
                    0092    579 _MPAGE  =       0x0092
580
                    0092    580 __XPAGE =       0x0092
581
                    0098    581 _SCON0  =       0x0098
582
                    0099    582 _SBUF0  =       0x0099
583
                    009A    583 _AUTOPTRH1      =       0x009a
584
                    009B    584 _AUTOPTRL1      =       0x009b
585
                    009D    585 _AUTOPTRH2      =       0x009d
586
                    009E    586 _AUTOPTRL2      =       0x009e
587
                    00A0    587 _IOC    =       0x00a0
588
                    00A1    588 _INT2CLR        =       0x00a1
589
                    00A2    589 _INT4CLR        =       0x00a2
590
                    00A8    590 _IE     =       0x00a8
591
                    00AA    591 _EP2468STAT     =       0x00aa
592
                    00AB    592 _EP24FIFOFLGS   =       0x00ab
593
                    00AC    593 _EP68FIFOFLGS   =       0x00ac
594
                    00AF    594 _AUTOPTRSETUP   =       0x00af
595
                    00B0    595 _IOD    =       0x00b0
596
                    00B1    596 _IOE    =       0x00b1
597
                    00B2    597 _OEA    =       0x00b2
598
                    00B3    598 _OEB    =       0x00b3
599
                    00B4    599 _OEC    =       0x00b4
600
                    00B5    600 _OED    =       0x00b5
601
                    00B6    601 _OEE    =       0x00b6
602
                    00B8    602 _IP     =       0x00b8
603
                    00BA    603 _EP01STAT       =       0x00ba
604
                    00BB    604 _GPIFTRIG       =       0x00bb
605
                    00BD    605 _GPIFSGLDATH    =       0x00bd
606
                    00BE    606 _GPIFSGLDATLX   =       0x00be
607
                    00BF    607 _GPIFSGLDATLNOX =       0x00bf
608
                    00C0    608 _SCON1  =       0x00c0
609
                    00C1    609 _SBUF1  =       0x00c1
610
                    00C8    610 _T2CON  =       0x00c8
611
                    00CA    611 _RCAP2L =       0x00ca
612
                    00CB    612 _RCAP2H =       0x00cb
613
                    00CC    613 _TL2    =       0x00cc
614
                    00CD    614 _TH2    =       0x00cd
615
                    00D0    615 _PSW    =       0x00d0
616
                    00D8    616 _EICON  =       0x00d8
617
                    00E0    617 _ACC    =       0x00e0
618
                    00E8    618 _EIE    =       0x00e8
619
                    00F0    619 _BREG   =       0x00f0
620
                    00F8    620 _EIP    =       0x00f8
621
                            621 ;--------------------------------------------------------
622
                            622 ; special function bits
623
                            623 ;--------------------------------------------------------
624
                            624         .area RSEG    (DATA)
625
                    0080    625 _IOA0   =       0x0080
626
                    0081    626 _IOA1   =       0x0081
627
                    0082    627 _IOA2   =       0x0082
628
                    0083    628 _IOA3   =       0x0083
629
                    0084    629 _IOA4   =       0x0084
630
                    0085    630 _IOA5   =       0x0085
631
                    0086    631 _IOA6   =       0x0086
632
                    0087    632 _IOA7   =       0x0087
633
                    0088    633 _IT0    =       0x0088
634
                    0089    634 _IE0    =       0x0089
635
                    008A    635 _IT1    =       0x008a
636
                    008B    636 _IE1    =       0x008b
637
                    008C    637 _TR0    =       0x008c
638
                    008D    638 _TF0    =       0x008d
639
                    008E    639 _TR1    =       0x008e
640
                    008F    640 _TF1    =       0x008f
641
                    0090    641 _IOB0   =       0x0090
642
                    0091    642 _IOB1   =       0x0091
643
                    0092    643 _IOB2   =       0x0092
644
                    0093    644 _IOB3   =       0x0093
645
                    0094    645 _IOB4   =       0x0094
646
                    0095    646 _IOB5   =       0x0095
647
                    0096    647 _IOB6   =       0x0096
648
                    0097    648 _IOB7   =       0x0097
649
                    0098    649 _RI_0   =       0x0098
650
                    0099    650 _TI_0   =       0x0099
651
                    009A    651 _RB8_0  =       0x009a
652
                    009B    652 _TB8_0  =       0x009b
653
                    009C    653 _REN_0  =       0x009c
654
                    009D    654 _SM2_0  =       0x009d
655
                    009E    655 _SM1_0  =       0x009e
656
                    009F    656 _SM0_0  =       0x009f
657
                    00A0    657 _IOC0   =       0x00a0
658
                    00A1    658 _IOC1   =       0x00a1
659
                    00A2    659 _IOC2   =       0x00a2
660
                    00A3    660 _IOC3   =       0x00a3
661
                    00A4    661 _IOC4   =       0x00a4
662
                    00A5    662 _IOC5   =       0x00a5
663
                    00A6    663 _IOC6   =       0x00a6
664
                    00A7    664 _IOC7   =       0x00a7
665
                    00A8    665 _EX0    =       0x00a8
666
                    00A9    666 _ET0    =       0x00a9
667
                    00AA    667 _EX1    =       0x00aa
668
                    00AB    668 _ET1    =       0x00ab
669
                    00AC    669 _ES0    =       0x00ac
670
                    00AD    670 _ET2    =       0x00ad
671
                    00AE    671 _ES1    =       0x00ae
672
                    00AF    672 _EA     =       0x00af
673
                    00B0    673 _IOD0   =       0x00b0
674
                    00B1    674 _IOD1   =       0x00b1
675
                    00B2    675 _IOD2   =       0x00b2
676
                    00B3    676 _IOD3   =       0x00b3
677
                    00B4    677 _IOD4   =       0x00b4
678
                    00B5    678 _IOD5   =       0x00b5
679
                    00B6    679 _IOD6   =       0x00b6
680
                    00B7    680 _IOD7   =       0x00b7
681
                    00B8    681 _PX0    =       0x00b8
682
                    00B9    682 _PT0    =       0x00b9
683
                    00BA    683 _PX1    =       0x00ba
684
                    00BB    684 _PT1    =       0x00bb
685
                    00BC    685 _PS0    =       0x00bc
686
                    00BD    686 _PT2    =       0x00bd
687
                    00BE    687 _PS1    =       0x00be
688
                    00C0    688 _RI_1   =       0x00c0
689
                    00C1    689 _TI_1   =       0x00c1
690
                    00C2    690 _RB8_1  =       0x00c2
691
                    00C3    691 _TB8_1  =       0x00c3
692
                    00C4    692 _REN_1  =       0x00c4
693
                    00C5    693 _SM2_1  =       0x00c5
694
                    00C6    694 _SM1_1  =       0x00c6
695
                    00C7    695 _SM0_1  =       0x00c7
696
                    00C8    696 _CPRL2  =       0x00c8
697
                    00C9    697 _CT2    =       0x00c9
698
                    00CA    698 _TR2    =       0x00ca
699
                    00CB    699 _EXEN2  =       0x00cb
700
                    00CC    700 _TCLK   =       0x00cc
701
                    00CD    701 _RCLK   =       0x00cd
702
                    00CE    702 _EXF2   =       0x00ce
703
                    00CF    703 _TF2    =       0x00cf
704
                    00D0    704 _PF     =       0x00d0
705
                    00D1    705 _F1     =       0x00d1
706
                    00D2    706 _OV     =       0x00d2
707
                    00D3    707 _RS0    =       0x00d3
708
                    00D4    708 _RS1    =       0x00d4
709
                    00D5    709 _F0     =       0x00d5
710
                    00D6    710 _AC     =       0x00d6
711
                    00D7    711 _CY     =       0x00d7
712
                    00DB    712 _INT6   =       0x00db
713
                    00DC    713 _RESI   =       0x00dc
714
                    00DD    714 _ERESI  =       0x00dd
715
                    00DF    715 _SMOD1  =       0x00df
716
                    00E0    716 _ACC0   =       0x00e0
717
                    00E1    717 _ACC1   =       0x00e1
718
                    00E2    718 _ACC2   =       0x00e2
719
                    00E3    719 _ACC3   =       0x00e3
720
                    00E4    720 _ACC4   =       0x00e4
721
                    00E5    721 _ACC5   =       0x00e5
722
                    00E6    722 _ACC6   =       0x00e6
723
                    00E7    723 _ACC7   =       0x00e7
724
                    00E8    724 _EUSB   =       0x00e8
725
                    00E9    725 _EI2C   =       0x00e9
726
                    00EA    726 _EIEX4  =       0x00ea
727
                    00EB    727 _EIEX5  =       0x00eb
728
                    00EC    728 _EIEX6  =       0x00ec
729
                    00F0    729 _BREG0  =       0x00f0
730
                    00F1    730 _BREG1  =       0x00f1
731
                    00F2    731 _BREG2  =       0x00f2
732
                    00F3    732 _BREG3  =       0x00f3
733
                    00F4    733 _BREG4  =       0x00f4
734
                    00F5    734 _BREG5  =       0x00f5
735
                    00F6    735 _BREG6  =       0x00f6
736
                    00F7    736 _BREG7  =       0x00f7
737
                    00F8    737 _PUSB   =       0x00f8
738
                    00F9    738 _PI2C   =       0x00f9
739
                    00FA    739 _EIPX4  =       0x00fa
740
                    00FB    740 _EIPX5  =       0x00fb
741
                    00FC    741 _EIPX6  =       0x00fc
742
                            742 ;--------------------------------------------------------
743
                            743 ; overlayable register banks
744
                            744 ;--------------------------------------------------------
745
                            745         .area REG_BANK_0        (REL,OVR,DATA)
746
   0000                     746         .ds 8
747
                            747 ;--------------------------------------------------------
748
                            748 ; overlayable bit register bank
749
                            749 ;--------------------------------------------------------
750
                            750         .area BIT_BANK  (REL,OVR,DATA)
751
   0020                     751 bits:
752
   0020                     752         .ds 1
753
                    8000    753         b0 = bits[0]
754
                    8100    754         b1 = bits[1]
755
                    8200    755         b2 = bits[2]
756
                    8300    756         b3 = bits[3]
757
                    8400    757         b4 = bits[4]
758
                    8500    758         b5 = bits[5]
759
                    8600    759         b6 = bits[6]
760
                    8700    760         b7 = bits[7]
761
                            761 ;--------------------------------------------------------
762
                            762 ; internal ram data
763
                            763 ;--------------------------------------------------------
764
                            764         .area DSEG    (DATA)
765
   0008                     765 _eeprom_select_PARM_2:
766
   0008                     766         .ds 1
767
   0009                     767 _eeprom_select_PARM_3:
768
   0009                     768         .ds 1
769
   000A                     769 _eeprom_read_PARM_2:
770
   000A                     770         .ds 2
771
   000C                     771 _eeprom_read_PARM_3:
772
   000C                     772         .ds 1
773
   000D                     773 _eeprom_write_PARM_2:
774
   000D                     774         .ds 2
775
   000F                     775 _eeprom_write_PARM_3:
776
   000F                     776         .ds 1
777
   0010                     777 _mac_eeprom_read_PARM_2:
778
   0010                     778         .ds 1
779
   0011                     779 _mac_eeprom_read_PARM_3:
780
   0011                     780         .ds 1
781
   0012                     781 _mac_eeprom_write_PARM_2:
782
   0012                     782         .ds 1
783
   0013                     783 _mac_eeprom_write_PARM_3:
784
   0013                     784         .ds 1
785
   0014                     785 _flash_write_PARM_2:
786
   0014                     786         .ds 1
787
   0015                     787 _fpga_send_ep0_oOEC_1_1:
788
   0015                     788         .ds 1
789
                            789 ;--------------------------------------------------------
790
                            790 ; overlayable items in internal ram
791
                            791 ;--------------------------------------------------------
792
                            792         .area   OSEG    (OVR,DATA)
793
                            793         .area   OSEG    (OVR,DATA)
794
                            794         .area   OSEG    (OVR,DATA)
795
                            795         .area   OSEG    (OVR,DATA)
796
                            796         .area   OSEG    (OVR,DATA)
797
                            797         .area   OSEG    (OVR,DATA)
798
                            798         .area   OSEG    (OVR,DATA)
799
                            799         .area   OSEG    (OVR,DATA)
800
   0016                     800 _flash_read_PARM_2::
801
   0016                     801         .ds 1
802
                            802         .area   OSEG    (OVR,DATA)
803
                            803         .area   OSEG    (OVR,DATA)
804
   0016                     804 _spi_write_PARM_2::
805
   0016                     805         .ds 1
806
                            806         .area   OSEG    (OVR,DATA)
807
   0016                     807 _sendStringDescriptor_PARM_2::
808
   0016                     808         .ds 1
809
   0017                     809 _sendStringDescriptor_PARM_3::
810
   0017                     810         .ds 1
811
                            811 ;--------------------------------------------------------
812
                            812 ; Stack segment in internal ram
813
                            813 ;--------------------------------------------------------
814
                            814         .area   SSEG    (DATA)
815
   0021                     815 __start__stack:
816
   0021                     816         .ds     1
817
                            817
818
                            818 ;--------------------------------------------------------
819
                            819 ; indirectly addressable internal ram data
820
                            820 ;--------------------------------------------------------
821
                            821         .area ISEG    (DATA)
822
                            822 ;--------------------------------------------------------
823
                            823 ; absolute internal ram data
824
                            824 ;--------------------------------------------------------
825
                            825         .area IABS    (ABS,DATA)
826
                            826         .area IABS    (ABS,DATA)
827
                            827 ;--------------------------------------------------------
828
                            828 ; bit data
829
                            829 ;--------------------------------------------------------
830
                            830         .area BSEG    (BIT)
831
                            831 ;--------------------------------------------------------
832
                            832 ; paged external ram data
833
                            833 ;--------------------------------------------------------
834
                            834         .area PSEG    (PAG,XDATA)
835
                            835 ;--------------------------------------------------------
836
                            836 ; external ram data
837
                            837 ;--------------------------------------------------------
838
                            838         .area XSEG    (XDATA)
839
                    E400    839 _GPIF_WAVE_DATA =       0xe400
840
                    E400    840 _GPIF_WAVE0_DATA        =       0xe400
841
                    E420    841 _GPIF_WAVE1_DATA        =       0xe420
842
                    E440    842 _GPIF_WAVE2_DATA        =       0xe440
843
                    E460    843 _GPIF_WAVE3_DATA        =       0xe460
844
                    E50D    844 _GPCR2  =       0xe50d
845
                    E600    845 _CPUCS  =       0xe600
846
                    E601    846 _IFCONFIG       =       0xe601
847
                    E602    847 _PINFLAGSAB     =       0xe602
848
                    E603    848 _PINFLAGSCD     =       0xe603
849
                    E604    849 _FIFORESET      =       0xe604
850
                    E605    850 _BREAKPT        =       0xe605
851
                    E606    851 _BPADDRH        =       0xe606
852
                    E607    852 _BPADDRL        =       0xe607
853
                    E608    853 _UART230        =       0xe608
854
                    E609    854 _FIFOPINPOLAR   =       0xe609
855
                    E60A    855 _REVID  =       0xe60a
856
                    E60B    856 _REVCTL =       0xe60b
857
                    E60C    857 _GPIFHOLDAMOUNT =       0xe60c
858
                    E610    858 _EP1OUTCFG      =       0xe610
859
                    E611    859 _EP1INCFG       =       0xe611
860
                    E612    860 _EP2CFG =       0xe612
861
                    E613    861 _EP4CFG =       0xe613
862
                    E614    862 _EP6CFG =       0xe614
863
                    E615    863 _EP8CFG =       0xe615
864
                    E618    864 _EP2FIFOCFG     =       0xe618
865
                    E619    865 _EP4FIFOCFG     =       0xe619
866
                    E61A    866 _EP6FIFOCFG     =       0xe61a
867
                    E61B    867 _EP8FIFOCFG     =       0xe61b
868
                    E620    868 _EP2AUTOINLENH  =       0xe620
869
                    E621    869 _EP2AUTOINLENL  =       0xe621
870
                    E622    870 _EP4AUTOINLENH  =       0xe622
871
                    E623    871 _EP4AUTOINLENL  =       0xe623
872
                    E624    872 _EP6AUTOINLENH  =       0xe624
873
                    E625    873 _EP6AUTOINLENL  =       0xe625
874
                    E626    874 _EP8AUTOINLENH  =       0xe626
875
                    E627    875 _EP8AUTOINLENL  =       0xe627
876
                    E628    876 _ECCCFG =       0xe628
877
                    E629    877 _ECCRESET       =       0xe629
878
                    E62A    878 _ECC1B0 =       0xe62a
879
                    E62B    879 _ECC1B1 =       0xe62b
880
                    E62C    880 _ECC1B2 =       0xe62c
881
                    E62D    881 _ECC2B0 =       0xe62d
882
                    E62E    882 _ECC2B1 =       0xe62e
883
                    E62F    883 _ECC2B2 =       0xe62f
884
                    E630    884 _EP2FIFOPFH     =       0xe630
885
                    E631    885 _EP2FIFOPFL     =       0xe631
886
                    E632    886 _EP4FIFOPFH     =       0xe632
887
                    E633    887 _EP4FIFOPFL     =       0xe633
888
                    E634    888 _EP6FIFOPFH     =       0xe634
889
                    E635    889 _EP6FIFOPFL     =       0xe635
890
                    E636    890 _EP8FIFOPFH     =       0xe636
891
                    E637    891 _EP8FIFOPFL     =       0xe637
892
                    E640    892 _EP2ISOINPKTS   =       0xe640
893
                    E641    893 _EP4ISOINPKTS   =       0xe641
894
                    E642    894 _EP6ISOINPKTS   =       0xe642
895
                    E643    895 _EP8ISOINPKTS   =       0xe643
896
                    E648    896 _INPKTEND       =       0xe648
897
                    E649    897 _OUTPKTEND      =       0xe649
898
                    E650    898 _EP2FIFOIE      =       0xe650
899
                    E651    899 _EP2FIFOIRQ     =       0xe651
900
                    E652    900 _EP4FIFOIE      =       0xe652
901
                    E653    901 _EP4FIFOIRQ     =       0xe653
902
                    E654    902 _EP6FIFOIE      =       0xe654
903
                    E655    903 _EP6FIFOIRQ     =       0xe655
904
                    E656    904 _EP8FIFOIE      =       0xe656
905
                    E657    905 _EP8FIFOIRQ     =       0xe657
906
                    E658    906 _IBNIE  =       0xe658
907
                    E659    907 _IBNIRQ =       0xe659
908
                    E65A    908 _NAKIE  =       0xe65a
909
                    E65B    909 _NAKIRQ =       0xe65b
910
                    E65C    910 _USBIE  =       0xe65c
911
                    E65D    911 _USBIRQ =       0xe65d
912
                    E65E    912 _EPIE   =       0xe65e
913
                    E65F    913 _EPIRQ  =       0xe65f
914
                    E660    914 _GPIFIE =       0xe660
915
                    E661    915 _GPIFIRQ        =       0xe661
916
                    E662    916 _USBERRIE       =       0xe662
917
                    E663    917 _USBERRIRQ      =       0xe663
918
                    E664    918 _ERRCNTLIM      =       0xe664
919
                    E665    919 _CLRERRCNT      =       0xe665
920
                    E666    920 _INT2IVEC       =       0xe666
921
                    E667    921 _INT4IVEC       =       0xe667
922
                    E668    922 _INTSETUP       =       0xe668
923
                    E670    923 _PORTACFG       =       0xe670
924
                    E671    924 _PORTCCFG       =       0xe671
925
                    E672    925 _PORTECFG       =       0xe672
926
                    E678    926 _I2CS   =       0xe678
927
                    E679    927 _I2DAT  =       0xe679
928
                    E67A    928 _I2CTL  =       0xe67a
929
                    E67B    929 _XAUTODAT1      =       0xe67b
930
                    E67B    930 _EXTAUTODAT1    =       0xe67b
931
                    E67C    931 _XAUTODAT2      =       0xe67c
932
                    E67C    932 _EXTAUTODAT2    =       0xe67c
933
                    E67D    933 _UDMACRCH       =       0xe67d
934
                    E67E    934 _UDMACRCL       =       0xe67e
935
                    E67F    935 _UDMACRCQUALIFIER       =       0xe67f
936
                    E680    936 _USBCS  =       0xe680
937
                    E681    937 _SUSPEND        =       0xe681
938
                    E682    938 _WAKEUPCS       =       0xe682
939
                    E683    939 _TOGCTL =       0xe683
940
                    E684    940 _USBFRAMEH      =       0xe684
941
                    E685    941 _USBFRAMEL      =       0xe685
942
                    E686    942 _MICROFRAME     =       0xe686
943
                    E687    943 _FNADDR =       0xe687
944
                    E68A    944 _EP0BCH =       0xe68a
945
                    E68B    945 _EP0BCL =       0xe68b
946
                    E68D    946 _EP1OUTBC       =       0xe68d
947
                    E68F    947 _EP1INBC        =       0xe68f
948
                    E690    948 _EP2BCH =       0xe690
949
                    E691    949 _EP2BCL =       0xe691
950
                    E694    950 _EP4BCH =       0xe694
951
                    E695    951 _EP4BCL =       0xe695
952
                    E698    952 _EP6BCH =       0xe698
953
                    E699    953 _EP6BCL =       0xe699
954
                    E69C    954 _EP8BCH =       0xe69c
955
                    E69D    955 _EP8BCL =       0xe69d
956
                    E6A0    956 _EP0CS  =       0xe6a0
957
                    E6A1    957 _EP1OUTCS       =       0xe6a1
958
                    E6A2    958 _EP1INCS        =       0xe6a2
959
                    E6A3    959 _EPXCS  =       0xe6a3
960
                    E6A3    960 _EP2CS  =       0xe6a3
961
                    E6A4    961 _EP4CS  =       0xe6a4
962
                    E6A5    962 _EP6CS  =       0xe6a5
963
                    E6A6    963 _EP8CS  =       0xe6a6
964
                    E6A7    964 _EP2FIFOFLGS    =       0xe6a7
965
                    E6A8    965 _EP4FIFOFLGS    =       0xe6a8
966
                    E6A9    966 _EP6FIFOFLGS    =       0xe6a9
967
                    E6AA    967 _EP8FIFOFLGS    =       0xe6aa
968
                    E6AB    968 _EP2FIFOBCH     =       0xe6ab
969
                    E6AC    969 _EP2FIFOBCL     =       0xe6ac
970
                    E6AD    970 _EP4FIFOBCH     =       0xe6ad
971
                    E6AE    971 _EP4FIFOBCL     =       0xe6ae
972
                    E6AF    972 _EP6FIFOBCH     =       0xe6af
973
                    E6B0    973 _EP6FIFOBCL     =       0xe6b0
974
                    E6B1    974 _EP8FIFOBCH     =       0xe6b1
975
                    E6B2    975 _EP8FIFOBCL     =       0xe6b2
976
                    E6B3    976 _SUDPTRH        =       0xe6b3
977
                    E6B4    977 _SUDPTRL        =       0xe6b4
978
                    E6B5    978 _SUDPTRCTL      =       0xe6b5
979
                    E6B8    979 _SETUPDAT       =       0xe6b8
980
                    E6B8    980 _bmRequestType  =       0xe6b8
981
                    E6B9    981 _bRequest       =       0xe6b9
982
                    E6BA    982 _wValueL        =       0xe6ba
983
                    E6BB    983 _wValueH        =       0xe6bb
984
                    E6BC    984 _wIndexL        =       0xe6bc
985
                    E6BD    985 _wIndexH        =       0xe6bd
986
                    E6BE    986 _wLengthL       =       0xe6be
987
                    E6BF    987 _wLengthH       =       0xe6bf
988
                    E6C0    988 _GPIFWFSELECT   =       0xe6c0
989
                    E6C1    989 _GPIFIDLECS     =       0xe6c1
990
                    E6C2    990 _GPIFIDLECTL    =       0xe6c2
991
                    E6C3    991 _GPIFCTLCFG     =       0xe6c3
992
                    E6C4    992 _GPIFADRH       =       0xe6c4
993
                    E6C5    993 _GPIFADRL       =       0xe6c5
994
                    E6C6    994 _FLOWSTATE      =       0xe6c6
995
                    E6C7    995 _FLOWLOGIC      =       0xe6c7
996
                    E6C8    996 _FLOWEQ0CTL     =       0xe6c8
997
                    E6C9    997 _FLOWEQ1CTL     =       0xe6c9
998
                    E6CA    998 _FLOWHOLDOFF    =       0xe6ca
999
                    E6CB    999 _FLOWSTB        =       0xe6cb
1000
                    E6CC   1000 _FLOWSTBEDGE    =       0xe6cc
1001
                    E6CD   1001 _FLOWSTBHPERIOD =       0xe6cd
1002
                    E6CE   1002 _GPIFTCB3       =       0xe6ce
1003
                    E6CF   1003 _GPIFTCB2       =       0xe6cf
1004
                    E6D0   1004 _GPIFTCB1       =       0xe6d0
1005
                    E6D1   1005 _GPIFTCB0       =       0xe6d1
1006
                    E6D2   1006 _EP2GPIFFLGSEL  =       0xe6d2
1007
                    E6D3   1007 _EP2GPIFPFSTOP  =       0xe6d3
1008
                    E6D4   1008 _EP2GPIFTRIG    =       0xe6d4
1009
                    E6DA   1009 _EP4GPIFFLGSEL  =       0xe6da
1010
                    E6DB   1010 _EP4GPIFPFSTOP  =       0xe6db
1011
                    E6DC   1011 _EP4GPIFTRIG    =       0xe6dc
1012
                    E6E2   1012 _EP6GPIFFLGSEL  =       0xe6e2
1013
                    E6E3   1013 _EP6GPIFPFSTOP  =       0xe6e3
1014
                    E6E4   1014 _EP6GPIFTRIG    =       0xe6e4
1015
                    E6EA   1015 _EP8GPIFFLGSEL  =       0xe6ea
1016
                    E6EB   1016 _EP8GPIFPFSTOP  =       0xe6eb
1017
                    E6EC   1017 _EP8GPIFTRIG    =       0xe6ec
1018
                    E6F0   1018 _XGPIFSGLDATH   =       0xe6f0
1019
                    E6F1   1019 _XGPIFSGLDATLX  =       0xe6f1
1020
                    E6F2   1020 _XGPIFSGLDATLNOX        =       0xe6f2
1021
                    E6F3   1021 _GPIFREADYCFG   =       0xe6f3
1022
                    E6F4   1022 _GPIFREADYSTAT  =       0xe6f4
1023
                    E6F5   1023 _GPIFABORT      =       0xe6f5
1024
                    E740   1024 _EP0BUF =       0xe740
1025
                    E780   1025 _EP1OUTBUF      =       0xe780
1026
                    E7C0   1026 _EP1INBUF       =       0xe7c0
1027
                    F000   1027 _EP2FIFOBUF     =       0xf000
1028
                    F400   1028 _EP4FIFOBUF     =       0xf400
1029
                    F800   1029 _EP6FIFOBUF     =       0xf800
1030
                    FC00   1030 _EP8FIFOBUF     =       0xfc00
1031
                    0003   1031 _INT0VEC_IE0    =       0x0003
1032
                    000B   1032 _INT1VEC_T0     =       0x000b
1033
                    0013   1033 _INT2VEC_IE1    =       0x0013
1034
                    001B   1034 _INT3VEC_T1     =       0x001b
1035
                    0023   1035 _INT4VEC_USART0 =       0x0023
1036
                    002B   1036 _INT5VEC_T2     =       0x002b
1037
                    0033   1037 _INT6VEC_RESUME =       0x0033
1038
                    003B   1038 _INT7VEC_USART1 =       0x003b
1039
                    0043   1039 _INT8VEC_USB    =       0x0043
1040
                    004B   1040 _INT9VEC_I2C    =       0x004b
1041
                    0053   1041 _INT10VEC_GPIF  =       0x0053
1042
                    005B   1042 _INT11VEC_IE5   =       0x005b
1043
                    0063   1043 _INT12VEC_IE6   =       0x0063
1044
                    0100   1044 _INTVEC_SUDAV   =       0x0100
1045
                    0104   1045 _INTVEC_SOF     =       0x0104
1046
                    0108   1046 _INTVEC_SUTOK   =       0x0108
1047
                    010C   1047 _INTVEC_SUSPEND =       0x010c
1048
                    0110   1048 _INTVEC_USBRESET        =       0x0110
1049
                    0114   1049 _INTVEC_HISPEED =       0x0114
1050
                    0118   1050 _INTVEC_EP0ACK  =       0x0118
1051
                    0120   1051 _INTVEC_EP0IN   =       0x0120
1052
                    0124   1052 _INTVEC_EP0OUT  =       0x0124
1053
                    0128   1053 _INTVEC_EP1IN   =       0x0128
1054
                    012C   1054 _INTVEC_EP1OUT  =       0x012c
1055
                    0130   1055 _INTVEC_EP2     =       0x0130
1056
                    0134   1056 _INTVEC_EP4     =       0x0134
1057
                    0138   1057 _INTVEC_EP6     =       0x0138
1058
                    013C   1058 _INTVEC_EP8     =       0x013c
1059
                    0140   1059 _INTVEC_IBN     =       0x0140
1060
                    0148   1060 _INTVEC_EP0PING =       0x0148
1061
                    014C   1061 _INTVEC_EP1PING =       0x014c
1062
                    0150   1062 _INTVEC_EP2PING =       0x0150
1063
                    0154   1063 _INTVEC_EP4PING =       0x0154
1064
                    0158   1064 _INTVEC_EP6PING =       0x0158
1065
                    015C   1065 _INTVEC_EP8PING =       0x015c
1066
                    0160   1066 _INTVEC_ERRLIMIT        =       0x0160
1067
                    0170   1067 _INTVEC_EP2ISOERR       =       0x0170
1068
                    0174   1068 _INTVEC_EP4ISOERR       =       0x0174
1069
                    0178   1069 _INTVEC_EP6ISOERR       =       0x0178
1070
                    017C   1070 _INTVEC_EP8ISOERR       =       0x017c
1071
                    0180   1071 _INTVEC_EP2PF   =       0x0180
1072
                    0184   1072 _INTVEC_EP4PF   =       0x0184
1073
                    0188   1073 _INTVEC_EP6PF   =       0x0188
1074
                    018C   1074 _INTVEC_EP8PF   =       0x018c
1075
                    0190   1075 _INTVEC_EP2EF   =       0x0190
1076
                    0194   1076 _INTVEC_EP4EF   =       0x0194
1077
                    0198   1077 _INTVEC_EP6EF   =       0x0198
1078
                    019C   1078 _INTVEC_EP8EF   =       0x019c
1079
                    01A0   1079 _INTVEC_EP2FF   =       0x01a0
1080
                    01A8   1080 _INTVEC_EP6FF   =       0x01a8
1081
                    01AC   1081 _INTVEC_EP8FF   =       0x01ac
1082
                    01B0   1082 _INTVEC_GPIFDONE        =       0x01b0
1083
                    01B4   1083 _INTVEC_GPIFWF  =       0x01b4
1084
   3A00                    1084 _eeprom_addr::
1085
   3A00                    1085         .ds 2
1086
   3A02                    1086 _eeprom_write_bytes::
1087
   3A02                    1087         .ds 2
1088
   3A04                    1088 _eeprom_write_checksum::
1089
   3A04                    1089         .ds 1
1090
   3A05                    1090 _mac_eeprom_addr::
1091
   3A05                    1091         .ds 1
1092
   3A06                    1092 _config_data_valid::
1093
   3A06                    1093         .ds 1
1094
   3A07                    1094 _flash_enabled::
1095
   3A07                    1095         .ds 1
1096
   3A08                    1096 _flash_sector_size::
1097
   3A08                    1097         .ds 2
1098
   3A0A                    1098 _flash_sectors::
1099
   3A0A                    1099         .ds 4
1100
   3A0E                    1100 _flash_ec::
1101
   3A0E                    1101         .ds 1
1102
   3A0F                    1102 _spi_vendor::
1103
   3A0F                    1103         .ds 1
1104
   3A10                    1104 _spi_device::
1105
   3A10                    1105         .ds 1
1106
   3A11                    1106 _spi_memtype::
1107
   3A11                    1107         .ds 1
1108
   3A12                    1108 _spi_erase_cmd::
1109
   3A12                    1109         .ds 1
1110
   3A13                    1110 _spi_last_cmd::
1111
   3A13                    1111         .ds 1
1112
   3A14                    1112 _spi_buffer::
1113
   3A14                    1113         .ds 4
1114
   3A18                    1114 _spi_write_addr_hi::
1115
   3A18                    1115         .ds 2
1116
   3A1A                    1116 _spi_write_addr_lo::
1117
   3A1A                    1117         .ds 1
1118
   3A1B                    1118 _spi_need_pp::
1119
   3A1B                    1119         .ds 1
1120
   3A1C                    1120 _spi_write_sector::
1121
   3A1C                    1121         .ds 2
1122
   3A1E                    1122 _ep0_read_mode::
1123
   3A1E                    1123         .ds 1
1124
   3A1F                    1124 _ep0_write_mode::
1125
   3A1F                    1125         .ds 1
1126
   3A20                    1126 _fpga_checksum::
1127
   3A20                    1127         .ds 1
1128
   3A21                    1128 _fpga_bytes::
1129
   3A21                    1129         .ds 4
1130
   3A25                    1130 _fpga_init_b::
1131
   3A25                    1131         .ds 1
1132
   3A26                    1132 _fpga_flash_result::
1133
   3A26                    1133         .ds 1
1134
   3A27                    1134 _fpga_conf_initialized::
1135
   3A27                    1135         .ds 1
1136
   3A28                    1136 _OOEA::
1137
   3A28                    1137         .ds 1
1138
   3A29                    1138 _fpga_first_free_sector_buf_1_1:
1139
   3A29                    1139         .ds 4
1140
   3A2D                    1140 _fpga_configure_from_flash_init_buf_1_1:
1141
   3A2D                    1141         .ds 4
1142
                    006C   1142 _ZTEX_DESCRIPTOR        =       0x006c
1143
                    006D   1143 _ZTEX_DESCRIPTOR_VERSION        =       0x006d
1144
                    006E   1144 _ZTEXID =       0x006e
1145
                    0072   1145 _PRODUCT_ID     =       0x0072
1146
                    0076   1146 _FW_VERSION     =       0x0076
1147
                    0077   1147 _INTERFACE_VERSION      =       0x0077
1148
                    0078   1148 _INTERFACE_CAPABILITIES =       0x0078
1149
                    007E   1149 _MODULE_RESERVED        =       0x007e
1150
                    008A   1150 _SN_STRING      =       0x008a
1151
   3A31                    1151 _mac_eeprom_init_buf_1_1:
1152
   3A31                    1152         .ds 5
1153
                           1153 ;--------------------------------------------------------
1154
                           1154 ; absolute external ram data
1155
                           1155 ;--------------------------------------------------------
1156
                           1156         .area XABS    (ABS,XDATA)
1157
                           1157 ;--------------------------------------------------------
1158
                           1158 ; external initialized ram data
1159
                           1159 ;--------------------------------------------------------
1160
                           1160         .area XISEG   (XDATA)
1161
   3A36                    1161 _ep0_payload_remaining::
1162
   3A36                    1162         .ds 2
1163
   3A38                    1163 _ep0_payload_transfer::
1164
   3A38                    1164         .ds 1
1165
   3A39                    1165 _ep0_prev_setup_request::
1166
   3A39                    1166         .ds 1
1167
   3A3A                    1167 _ep0_vendor_cmd_setup::
1168
   3A3A                    1168         .ds 1
1169
   3A3B                    1169 _ISOFRAME_COUNTER::
1170
   3A3B                    1170         .ds 8
1171
                           1171         .area HOME    (CODE)
1172
                           1172         .area GSINIT0 (CODE)
1173
                           1173         .area GSINIT1 (CODE)
1174
                           1174         .area GSINIT2 (CODE)
1175
                           1175         .area GSINIT3 (CODE)
1176
                           1176         .area GSINIT4 (CODE)
1177
                           1177         .area GSINIT5 (CODE)
1178
                           1178         .area GSINIT  (CODE)
1179
                           1179         .area GSFINAL (CODE)
1180
                           1180         .area CSEG    (CODE)
1181
                           1181 ;--------------------------------------------------------
1182
                           1182 ; interrupt vector
1183
                           1183 ;--------------------------------------------------------
1184
                           1184         .area HOME    (CODE)
1185
   0200                    1185 __interrupt_vect:
1186
   0200 02 02 08           1186         ljmp    __sdcc_gsinit_startup
1187
                           1187 ;--------------------------------------------------------
1188
                           1188 ; global & static initialisations
1189
                           1189 ;--------------------------------------------------------
1190
                           1190         .area HOME    (CODE)
1191
                           1191         .area GSINIT  (CODE)
1192
                           1192         .area GSFINAL (CODE)
1193
                           1193         .area GSINIT  (CODE)
1194
                           1194         .globl __sdcc_gsinit_startup
1195
                           1195         .globl __sdcc_program_startup
1196
                           1196         .globl __start__stack
1197
                           1197         .globl __mcs51_genXINIT
1198
                           1198         .globl __mcs51_genXRAMCLEAR
1199
                           1199         .globl __mcs51_genRAMCLEAR
1200
                           1200         .area GSFINAL (CODE)
1201
   0261 02 02 03           1201         ljmp    __sdcc_program_startup
1202
                           1202 ;--------------------------------------------------------
1203
                           1203 ; Home
1204
                           1204 ;--------------------------------------------------------
1205
                           1205         .area HOME    (CODE)
1206
                           1206         .area HOME    (CODE)
1207
   0203                    1207 __sdcc_program_startup:
1208
   0203 12 1E 39           1208         lcall   _main
1209
                           1209 ;       return from main will lock up
1210
   0206 80 FE              1210         sjmp .
1211
                           1211 ;--------------------------------------------------------
1212
                           1212 ; code
1213
                           1213 ;--------------------------------------------------------
1214
                           1214         .area CSEG    (CODE)
1215
                           1215 ;------------------------------------------------------------
1216
                           1216 ;Allocation info for local variables in function 'abscode_intvec'
1217
                           1217 ;------------------------------------------------------------
1218
                           1218 ;------------------------------------------------------------
1219
                           1219 ;       ../../include/ezintavecs.h:92: void abscode_intvec()// _naked
1220
                           1220 ;       -----------------------------------------
1221
                           1221 ;        function abscode_intvec
1222
                           1222 ;       -----------------------------------------
1223
   0264                    1223 _abscode_intvec:
1224
                    0002   1224         ar2 = 0x02
1225
                    0003   1225         ar3 = 0x03
1226
                    0004   1226         ar4 = 0x04
1227
                    0005   1227         ar5 = 0x05
1228
                    0006   1228         ar6 = 0x06
1229
                    0007   1229         ar7 = 0x07
1230
                    0000   1230         ar0 = 0x00
1231
                    0001   1231         ar1 = 0x01
1232
                           1232 ;       ../../include/ezintavecs.h:317: ERROR: no line number 317 in file ../../include/ezintavecs.h
1233
                           1233
1234
                           1234             .area ABSCODE (ABS,CODE)
1235
   0000                    1235             .org 0x0000
1236
   0000                    1236         ENTRY:
1237
   0000 02 02 00           1237          ljmp #0x0200
1238
                           1238 ;       # 94 "../../include/ezintavecs.h"
1239
   0003                    1239             .org 0x0003
1240
                           1240 ;       # 34 "../../include/ezintavecs.h"
1241
   0003 32                 1241          reti
1242
                           1242 ;       # 94 "../../include/ezintavecs.h"
1243
   000B                    1243             .org 0x000b
1244
                           1244 ;       # 35 "../../include/ezintavecs.h"
1245
   000B 32                 1245          reti
1246
                           1246 ;       # 94 "../../include/ezintavecs.h"
1247
   0013                    1247             .org 0x0013
1248
                           1248 ;       # 36 "../../include/ezintavecs.h"
1249
   0013 32                 1249          reti
1250
                           1250 ;       # 94 "../../include/ezintavecs.h"
1251
   001B                    1251             .org 0x001b
1252
                           1252 ;       # 37 "../../include/ezintavecs.h"
1253
   001B 32                 1253          reti
1254
                           1254 ;       # 94 "../../include/ezintavecs.h"
1255
   0023                    1255             .org 0x0023
1256
                           1256 ;       # 38 "../../include/ezintavecs.h"
1257
   0023 32                 1257          reti
1258
                           1258 ;       # 94 "../../include/ezintavecs.h"
1259
   002B                    1259             .org 0x002b
1260
                           1260 ;       # 39 "../../include/ezintavecs.h"
1261
   002B 32                 1261          reti
1262
                           1262 ;       # 94 "../../include/ezintavecs.h"
1263
   0033                    1263             .org 0x0033
1264
                           1264 ;       # 40 "../../include/ezintavecs.h"
1265
   0033 32                 1265          reti
1266
                           1266 ;       # 94 "../../include/ezintavecs.h"
1267
   003B                    1267             .org 0x003b
1268
                           1268 ;       # 41 "../../include/ezintavecs.h"
1269
   003B 32                 1269          reti
1270
                           1270 ;       # 94 "../../include/ezintavecs.h"
1271
   0043                    1271             .org 0x0043
1272
                           1272 ;       # 42 "../../include/ezintavecs.h"
1273
   0043 32                 1273          reti
1274
                           1274 ;       # 94 "../../include/ezintavecs.h"
1275
   004B                    1275             .org 0x004b
1276
                           1276 ;       # 43 "../../include/ezintavecs.h"
1277
   004B 32                 1277          reti
1278
                           1278 ;       # 94 "../../include/ezintavecs.h"
1279
   0053                    1279             .org 0x0053
1280
                           1280 ;       # 44 "../../include/ezintavecs.h"
1281
   0053 32                 1281          reti
1282
                           1282 ;       # 94 "../../include/ezintavecs.h"
1283
   005B                    1283             .org 0x005b
1284
                           1284 ;       # 45 "../../include/ezintavecs.h"
1285
   005B 32                 1285          reti
1286
                           1286 ;       # 94 "../../include/ezintavecs.h"
1287
   0063                    1287             .org 0x0063
1288
                           1288 ;       # 46 "../../include/ezintavecs.h"
1289
   0063 32                 1289          reti
1290
                           1290 ;       # 94 "../../include/ezintavecs.h"
1291
   0100                    1291             .org 0x0100
1292
                           1292 ;       # 47 "../../include/ezintavecs.h"
1293
   0100 32                 1293          reti
1294
                           1294 ;       # 94 "../../include/ezintavecs.h"
1295
   0104                    1295             .org 0x0104
1296
                           1296 ;       # 48 "../../include/ezintavecs.h"
1297
   0104 32                 1297          reti
1298
                           1298 ;       # 94 "../../include/ezintavecs.h"
1299
   0108                    1299             .org 0x0108
1300
                           1300 ;       # 49 "../../include/ezintavecs.h"
1301
   0108 32                 1301          reti
1302
                           1302 ;       # 94 "../../include/ezintavecs.h"
1303
   010C                    1303             .org 0x010C
1304
                           1304 ;       # 50 "../../include/ezintavecs.h"
1305
   010C 32                 1305          reti
1306
                           1306 ;       # 94 "../../include/ezintavecs.h"
1307
   0110                    1307             .org 0x0110
1308
                           1308 ;       # 51 "../../include/ezintavecs.h"
1309
   0110 32                 1309          reti
1310
                           1310 ;       # 94 "../../include/ezintavecs.h"
1311
   0114                    1311             .org 0x0114
1312
                           1312 ;       # 52 "../../include/ezintavecs.h"
1313
   0114 32                 1313          reti
1314
                           1314 ;       # 94 "../../include/ezintavecs.h"
1315
   0118                    1315             .org 0x0118
1316
                           1316 ;       # 53 "../../include/ezintavecs.h"
1317
   0118 32                 1317          reti
1318
                           1318 ;       # 94 "../../include/ezintavecs.h"
1319
   0120                    1319             .org 0x0120
1320
                           1320 ;       # 54 "../../include/ezintavecs.h"
1321
   0120 32                 1321          reti
1322
                           1322 ;       # 94 "../../include/ezintavecs.h"
1323
   0124                    1323             .org 0x0124
1324
                           1324 ;       # 55 "../../include/ezintavecs.h"
1325
   0124 32                 1325          reti
1326
                           1326 ;       # 94 "../../include/ezintavecs.h"
1327
   0128                    1327             .org 0x0128
1328
                           1328 ;       # 56 "../../include/ezintavecs.h"
1329
   0128 32                 1329          reti
1330
                           1330 ;       # 94 "../../include/ezintavecs.h"
1331
   012C                    1331             .org 0x012C
1332
                           1332 ;       # 57 "../../include/ezintavecs.h"
1333
   012C 32                 1333          reti
1334
                           1334 ;       # 94 "../../include/ezintavecs.h"
1335
   0130                    1335             .org 0x0130
1336
                           1336 ;       # 58 "../../include/ezintavecs.h"
1337
   0130 32                 1337          reti
1338
                           1338 ;       # 94 "../../include/ezintavecs.h"
1339
   0134                    1339             .org 0x0134
1340
                           1340 ;       # 59 "../../include/ezintavecs.h"
1341
   0134 32                 1341          reti
1342
                           1342 ;       # 94 "../../include/ezintavecs.h"
1343
   0138                    1343             .org 0x0138
1344
                           1344 ;       # 60 "../../include/ezintavecs.h"
1345
   0138 32                 1345          reti
1346
                           1346 ;       # 94 "../../include/ezintavecs.h"
1347
   013C                    1347             .org 0x013C
1348
                           1348 ;       # 61 "../../include/ezintavecs.h"
1349
   013C 32                 1349          reti
1350
                           1350 ;       # 94 "../../include/ezintavecs.h"
1351
   0140                    1351             .org 0x0140
1352
                           1352 ;       # 62 "../../include/ezintavecs.h"
1353
   0140 32                 1353          reti
1354
                           1354 ;       # 94 "../../include/ezintavecs.h"
1355
   0148                    1355             .org 0x0148
1356
                           1356 ;       # 63 "../../include/ezintavecs.h"
1357
   0148 32                 1357          reti
1358
                           1358 ;       # 94 "../../include/ezintavecs.h"
1359
   014C                    1359             .org 0x014C
1360
                           1360 ;       # 64 "../../include/ezintavecs.h"
1361
   014C 32                 1361          reti
1362
                           1362 ;       # 94 "../../include/ezintavecs.h"
1363
   0150                    1363             .org 0x0150
1364
                           1364 ;       # 65 "../../include/ezintavecs.h"
1365
   0150 32                 1365          reti
1366
                           1366 ;       # 94 "../../include/ezintavecs.h"
1367
   0154                    1367             .org 0x0154
1368
                           1368 ;       # 66 "../../include/ezintavecs.h"
1369
   0154 32                 1369          reti
1370
                           1370 ;       # 94 "../../include/ezintavecs.h"
1371
   0158                    1371             .org 0x0158
1372
                           1372 ;       # 67 "../../include/ezintavecs.h"
1373
   0158 32                 1373          reti
1374
                           1374 ;       # 94 "../../include/ezintavecs.h"
1375
   015C                    1375             .org 0x015C
1376
                           1376 ;       # 68 "../../include/ezintavecs.h"
1377
   015C 32                 1377          reti
1378
                           1378 ;       # 94 "../../include/ezintavecs.h"
1379
   0160                    1379             .org 0x0160
1380
                           1380 ;       # 69 "../../include/ezintavecs.h"
1381
   0160 32                 1381          reti
1382
                           1382 ;       # 94 "../../include/ezintavecs.h"
1383
   0170                    1383             .org 0x0170
1384
                           1384 ;       # 70 "../../include/ezintavecs.h"
1385
   0170 32                 1385          reti
1386
                           1386 ;       # 94 "../../include/ezintavecs.h"
1387
   0174                    1387             .org 0x0174
1388
                           1388 ;       # 71 "../../include/ezintavecs.h"
1389
   0174 32                 1389          reti
1390
                           1390 ;       # 94 "../../include/ezintavecs.h"
1391
   0178                    1391             .org 0x0178
1392
                           1392 ;       # 72 "../../include/ezintavecs.h"
1393
   0178 32                 1393          reti
1394
                           1394 ;       # 94 "../../include/ezintavecs.h"
1395
   017C                    1395             .org 0x017C
1396
                           1396 ;       # 73 "../../include/ezintavecs.h"
1397
   017C 32                 1397          reti
1398
                           1398 ;       # 94 "../../include/ezintavecs.h"
1399
   0180                    1399             .org 0x0180
1400
                           1400 ;       # 74 "../../include/ezintavecs.h"
1401
   0180 32                 1401          reti
1402
                           1402 ;       # 94 "../../include/ezintavecs.h"
1403
   0184                    1403             .org 0x0184
1404
                           1404 ;       # 75 "../../include/ezintavecs.h"
1405
   0184 32                 1405          reti
1406
                           1406 ;       # 94 "../../include/ezintavecs.h"
1407
   0188                    1407             .org 0x0188
1408
                           1408 ;       # 76 "../../include/ezintavecs.h"
1409
   0188 32                 1409          reti
1410
                           1410 ;       # 94 "../../include/ezintavecs.h"
1411
   018C                    1411             .org 0x018C
1412
                           1412 ;       # 77 "../../include/ezintavecs.h"
1413
   018C 32                 1413          reti
1414
                           1414 ;       # 94 "../../include/ezintavecs.h"
1415
   0190                    1415             .org 0x0190
1416
                           1416 ;       # 78 "../../include/ezintavecs.h"
1417
   0190 32                 1417          reti
1418
                           1418 ;       # 94 "../../include/ezintavecs.h"
1419
   0194                    1419             .org 0x0194
1420
                           1420 ;       # 79 "../../include/ezintavecs.h"
1421
   0194 32                 1421          reti
1422
                           1422 ;       # 94 "../../include/ezintavecs.h"
1423
   0198                    1423             .org 0x0198
1424
                           1424 ;       # 80 "../../include/ezintavecs.h"
1425
   0198 32                 1425          reti
1426
                           1426 ;       # 94 "../../include/ezintavecs.h"
1427
   019C                    1427             .org 0x019C
1428
                           1428 ;       # 81 "../../include/ezintavecs.h"
1429
   019C 32                 1429          reti
1430
                           1430 ;       # 94 "../../include/ezintavecs.h"
1431
   01A0                    1431             .org 0x01A0
1432
                           1432 ;       # 82 "../../include/ezintavecs.h"
1433
   01A0 32                 1433          reti
1434
                           1434 ;       # 94 "../../include/ezintavecs.h"
1435
   01A8                    1435             .org 0x01A8
1436
                           1436 ;       # 83 "../../include/ezintavecs.h"
1437
   01A8 32                 1437          reti
1438
                           1438 ;       # 94 "../../include/ezintavecs.h"
1439
   01AC                    1439             .org 0x01AC
1440
                           1440 ;       # 84 "../../include/ezintavecs.h"
1441
   01AC 32                 1441          reti
1442
                           1442 ;       # 94 "../../include/ezintavecs.h"
1443
   01B0                    1443             .org 0x01B0
1444
                           1444 ;       # 85 "../../include/ezintavecs.h"
1445
   01B0 32                 1445          reti
1446
                           1446 ;       # 94 "../../include/ezintavecs.h"
1447
   01B4                    1447             .org 0x01B4
1448
                           1448 ;       # 101 "../../include/ezintavecs.h"
1449
   01B4 32                 1449          reti
1450
   01B8                    1450             .org 0x01b8
1451
   01B8                    1451         INTVEC_DUMMY:
1452
   01B8 32                 1452                 reti
1453
                           1453             .area CSEG (CODE)
1454
                           1454
1455
   0264 22                 1455         ret
1456
                           1456 ;------------------------------------------------------------
1457
                           1457 ;Allocation info for local variables in function 'wait'
1458
                           1458 ;------------------------------------------------------------
1459
                           1459 ;ms                        Allocated to registers r2 r3
1460
                           1460 ;i                         Allocated to registers r6 r7
1461
                           1461 ;j                         Allocated to registers r4 r5
1462
                           1462 ;------------------------------------------------------------
1463
                           1463 ;       ../../include/ztex-utils.h:78: void wait(WORD short ms) {         // wait in ms
1464
                           1464 ;       -----------------------------------------
1465
                           1465 ;        function wait
1466
                           1466 ;       -----------------------------------------
1467
   0265                    1467 _wait:
1468
   0265 AA 82              1468         mov     r2,dpl
1469
   0267 AB 83              1469         mov     r3,dph
1470
                           1470 ;       ../../include/ztex-utils.h:80: for (j=0; j
1471
   0269 7C 00              1471         mov     r4,#0x00
1472
   026B 7D 00              1472         mov     r5,#0x00
1473
   026D                    1473 00104$:
1474
   026D C3                 1474         clr     c
1475
   026E EC                 1475         mov     a,r4
1476
   026F 9A                 1476         subb    a,r2
1477
   0270 ED                 1477         mov     a,r5
1478
   0271 9B                 1478         subb    a,r3
1479
   0272 50 14              1479         jnc     00108$
1480
                           1480 ;       ../../include/ztex-utils.h:81: for (i=0; i<1200; i++);
1481
   0274 7E B0              1481         mov     r6,#0xB0
1482
   0276 7F 04              1482         mov     r7,#0x04
1483
   0278                    1483 00103$:
1484
   0278 1E                 1484         dec     r6
1485
   0279 BE FF 01           1485         cjne    r6,#0xff,00117$
1486
   027C 1F                 1486         dec     r7
1487
   027D                    1487 00117$:
1488
   027D EE                 1488         mov     a,r6
1489
   027E 4F                 1489         orl     a,r7
1490
   027F 70 F7              1490         jnz     00103$
1491
                           1491 ;       ../../include/ztex-utils.h:80: for (j=0; j
1492
   0281 0C                 1492         inc     r4
1493
   0282 BC 00 E8           1493         cjne    r4,#0x00,00104$
1494
   0285 0D                 1494         inc     r5
1495
   0286 80 E5              1495         sjmp    00104$
1496
   0288                    1496 00108$:
1497
   0288 22                 1497         ret
1498
                           1498 ;------------------------------------------------------------
1499
                           1499 ;Allocation info for local variables in function 'uwait'
1500
                           1500 ;------------------------------------------------------------
1501
                           1501 ;us                        Allocated to registers r2 r3
1502
                           1502 ;i                         Allocated to registers r6 r7
1503
                           1503 ;j                         Allocated to registers r4 r5
1504
                           1504 ;------------------------------------------------------------
1505
                           1505 ;       ../../include/ztex-utils.h:88: void uwait(WORD short us) {        // wait in 10µs steps
1506
                           1506 ;       -----------------------------------------
1507
                           1507 ;        function uwait
1508
                           1508 ;       -----------------------------------------
1509
   0289                    1509 _uwait:
1510
   0289 AA 82              1510         mov     r2,dpl
1511
   028B AB 83              1511         mov     r3,dph
1512
                           1512 ;       ../../include/ztex-utils.h:90: for (j=0; j
1513
   028D 7C 00              1513         mov     r4,#0x00
1514
   028F 7D 00              1514         mov     r5,#0x00
1515
   0291                    1515 00104$:
1516
   0291 C3                 1516         clr     c
1517
   0292 EC                 1517         mov     a,r4
1518
   0293 9A                 1518         subb    a,r2
1519
   0294 ED                 1519         mov     a,r5
1520
   0295 9B                 1520         subb    a,r3
1521
   0296 50 14              1521         jnc     00108$
1522
                           1522 ;       ../../include/ztex-utils.h:91: for (i=0; i<10; i++);
1523
   0298 7E 0A              1523         mov     r6,#0x0A
1524
   029A 7F 00              1524         mov     r7,#0x00
1525
   029C                    1525 00103$:
1526
   029C 1E                 1526         dec     r6
1527
   029D BE FF 01           1527         cjne    r6,#0xff,00117$
1528
   02A0 1F                 1528         dec     r7
1529
   02A1                    1529 00117$:
1530
   02A1 EE                 1530         mov     a,r6
1531
   02A2 4F                 1531         orl     a,r7
1532
   02A3 70 F7              1532         jnz     00103$
1533
                           1533 ;       ../../include/ztex-utils.h:90: for (j=0; j
1534
   02A5 0C                 1534         inc     r4
1535
   02A6 BC 00 E8           1535         cjne    r4,#0x00,00104$
1536
   02A9 0D                 1536         inc     r5
1537
   02AA 80 E5              1537         sjmp    00104$
1538
   02AC                    1538 00108$:
1539
   02AC 22                 1539         ret
1540
                           1540 ;------------------------------------------------------------
1541
                           1541 ;Allocation info for local variables in function 'MEM_COPY1_int'
1542
                           1542 ;------------------------------------------------------------
1543
                           1543 ;------------------------------------------------------------
1544
                           1544 ;       ../../include/ztex-utils.h:99: void MEM_COPY1_int() // __naked
1545
                           1545 ;       -----------------------------------------
1546
                           1546 ;        function MEM_COPY1_int
1547
                           1547 ;       -----------------------------------------
1548
   02AD                    1548 _MEM_COPY1_int:
1549
                           1549 ;       ../../include/ztex-utils.h:110: __endasm;
1550
                           1550
1551
   02AD                    1551         020001$:
1552
   02AD 75 AF 07           1552              mov _AUTOPTRSETUP,#0x07
1553
   02B0 90 E6 7B           1553              mov dptr,#_XAUTODAT1
1554
   02B3 E0                 1554              movx a,@dptr
1555
   02B4 90 E6 7C           1555              mov dptr,#_XAUTODAT2
1556
   02B7 F0                 1556              movx @dptr,a
1557
   02B8 DA F3              1557              djnz r2, 020001$
1558
   02BA 22                 1558              ret
1559
                           1559
1560
   02BB 22                 1560         ret
1561
                           1561 ;------------------------------------------------------------
1562
                           1562 ;Allocation info for local variables in function 'i2c_waitWrite'
1563
                           1563 ;------------------------------------------------------------
1564
                           1564 ;i2csbuf                   Allocated to registers r2
1565
                           1565 ;toc                       Allocated to registers r2
1566
                           1566 ;------------------------------------------------------------
1567
                           1567 ;       ../../include/ztex-eeprom.h:41: BYTE i2c_waitWrite()
1568
                           1568 ;       -----------------------------------------
1569
                           1569 ;        function i2c_waitWrite
1570
                           1570 ;       -----------------------------------------
1571
   02BC                    1571 _i2c_waitWrite:
1572
                           1572 ;       ../../include/ztex-eeprom.h:44: for ( toc=0; toc<255 && !(I2CS & bmBIT0); toc++ );
1573
   02BC 7A 00              1573         mov     r2,#0x00
1574
   02BE                    1574 00105$:
1575
   02BE BA FF 00           1575         cjne    r2,#0xFF,00116$
1576
   02C1                    1576 00116$:
1577
   02C1 50 0B              1577         jnc     00108$
1578
   02C3 90 E6 78           1578         mov     dptr,#_I2CS
1579
   02C6 E0                 1579         movx    a,@dptr
1580
   02C7 FB                 1580         mov     r3,a
1581
   02C8 20 E0 03           1581         jb      acc.0,00108$
1582
   02CB 0A                 1582         inc     r2
1583
   02CC 80 F0              1583         sjmp    00105$
1584
   02CE                    1584 00108$:
1585
                           1585 ;       ../../include/ztex-eeprom.h:45: i2csbuf = I2CS;
1586
   02CE 90 E6 78           1586         mov     dptr,#_I2CS
1587
   02D1 E0                 1587         movx    a,@dptr
1588
                           1588 ;       ../../include/ztex-eeprom.h:46: if ( (i2csbuf & bmBIT2) || (!(i2csbuf & bmBIT1)) ) {
1589
   02D2 FA                 1589         mov     r2,a
1590
   02D3 20 E2 04           1590         jb      acc.2,00101$
1591
   02D6 EA                 1591         mov     a,r2
1592
   02D7 20 E1 0B           1592         jb      acc.1,00102$
1593
   02DA                    1593 00101$:
1594
                           1594 ;       ../../include/ztex-eeprom.h:47: I2CS |= bmBIT6;
1595
   02DA 90 E6 78           1595         mov     dptr,#_I2CS
1596
   02DD E0                 1596         movx    a,@dptr
1597
   02DE 44 40              1597         orl     a,#0x40
1598
   02E0 F0                 1598         movx    @dptr,a
1599
                           1599 ;       ../../include/ztex-eeprom.h:48: return 1;
1600
   02E1 75 82 01           1600         mov     dpl,#0x01
1601
                           1601 ;       ../../include/ztex-eeprom.h:50: return 0;
1602
   02E4 22                 1602         ret
1603
   02E5                    1603 00102$:
1604
   02E5 75 82 00           1604         mov     dpl,#0x00
1605
   02E8 22                 1605         ret
1606
                           1606 ;------------------------------------------------------------
1607
                           1607 ;Allocation info for local variables in function 'i2c_waitRead'
1608
                           1608 ;------------------------------------------------------------
1609
                           1609 ;i2csbuf                   Allocated to registers r2
1610
                           1610 ;toc                       Allocated to registers r2
1611
                           1611 ;------------------------------------------------------------
1612
                           1612 ;       ../../include/ztex-eeprom.h:57: BYTE i2c_waitRead(void)
1613
                           1613 ;       -----------------------------------------
1614
                           1614 ;        function i2c_waitRead
1615
                           1615 ;       -----------------------------------------
1616
   02E9                    1616 _i2c_waitRead:
1617
                           1617 ;       ../../include/ztex-eeprom.h:60: for ( toc=0; toc<255 && !(I2CS & bmBIT0); toc++ );
1618
   02E9 7A 00              1618         mov     r2,#0x00
1619
   02EB                    1619 00104$:
1620
   02EB BA FF 00           1620         cjne    r2,#0xFF,00115$
1621
   02EE                    1621 00115$:
1622
   02EE 50 0B              1622         jnc     00107$
1623
   02F0 90 E6 78           1623         mov     dptr,#_I2CS
1624
   02F3 E0                 1624         movx    a,@dptr
1625
   02F4 FB                 1625         mov     r3,a
1626
   02F5 20 E0 03           1626         jb      acc.0,00107$
1627
   02F8 0A                 1627         inc     r2
1628
   02F9 80 F0              1628         sjmp    00104$
1629
   02FB                    1629 00107$:
1630
                           1630 ;       ../../include/ztex-eeprom.h:61: i2csbuf = I2CS;
1631
   02FB 90 E6 78           1631         mov     dptr,#_I2CS
1632
   02FE E0                 1632         movx    a,@dptr
1633
                           1633 ;       ../../include/ztex-eeprom.h:62: if (i2csbuf & bmBIT2) {
1634
   02FF FA                 1634         mov     r2,a
1635
   0300 30 E2 0B           1635         jnb     acc.2,00102$
1636
                           1636 ;       ../../include/ztex-eeprom.h:63: I2CS |= bmBIT6;
1637
   0303 90 E6 78           1637         mov     dptr,#_I2CS
1638
   0306 E0                 1638         movx    a,@dptr
1639
   0307 44 40              1639         orl     a,#0x40
1640
   0309 F0                 1640         movx    @dptr,a
1641
                           1641 ;       ../../include/ztex-eeprom.h:64: return 1;
1642
   030A 75 82 01           1642         mov     dpl,#0x01
1643
                           1643 ;       ../../include/ztex-eeprom.h:66: return 0;
1644
   030D 22                 1644         ret
1645
   030E                    1645 00102$:
1646
   030E 75 82 00           1646         mov     dpl,#0x00
1647
   0311 22                 1647         ret
1648
                           1648 ;------------------------------------------------------------
1649
                           1649 ;Allocation info for local variables in function 'i2c_waitStart'
1650
                           1650 ;------------------------------------------------------------
1651
                           1651 ;toc                       Allocated to registers r2
1652
                           1652 ;------------------------------------------------------------
1653
                           1653 ;       ../../include/ztex-eeprom.h:73: BYTE i2c_waitStart()
1654
                           1654 ;       -----------------------------------------
1655
                           1655 ;        function i2c_waitStart
1656
                           1656 ;       -----------------------------------------
1657
   0312                    1657 _i2c_waitStart:
1658
                           1658 ;       ../../include/ztex-eeprom.h:76: for ( toc=0; toc<255; toc++ ) {
1659
   0312 7A 00              1659         mov     r2,#0x00
1660
   0314                    1660 00103$:
1661
   0314 BA FF 00           1661         cjne    r2,#0xFF,00112$
1662
   0317                    1662 00112$:
1663
   0317 50 0F              1663         jnc     00106$
1664
                           1664 ;       ../../include/ztex-eeprom.h:77: if ( ! (I2CS & bmBIT2) )
1665
   0319 90 E6 78           1665         mov     dptr,#_I2CS
1666
   031C E0                 1666         movx    a,@dptr
1667
   031D FB                 1667         mov     r3,a
1668
   031E 20 E2 04           1668         jb      acc.2,00105$
1669
                           1669 ;       ../../include/ztex-eeprom.h:78: return 0;
1670
   0321 75 82 00           1670         mov     dpl,#0x00
1671
   0324 22                 1671         ret
1672
   0325                    1672 00105$:
1673
                           1673 ;       ../../include/ztex-eeprom.h:76: for ( toc=0; toc<255; toc++ ) {
1674
   0325 0A                 1674         inc     r2
1675
   0326 80 EC              1675         sjmp    00103$
1676
   0328                    1676 00106$:
1677
                           1677 ;       ../../include/ztex-eeprom.h:80: return 1;
1678
   0328 75 82 01           1678         mov     dpl,#0x01
1679
   032B 22                 1679         ret
1680
                           1680 ;------------------------------------------------------------
1681
                           1681 ;Allocation info for local variables in function 'i2c_waitStop'
1682
                           1682 ;------------------------------------------------------------
1683
                           1683 ;toc                       Allocated to registers r2
1684
                           1684 ;------------------------------------------------------------
1685
                           1685 ;       ../../include/ztex-eeprom.h:87: BYTE i2c_waitStop()
1686
                           1686 ;       -----------------------------------------
1687
                           1687 ;        function i2c_waitStop
1688
                           1688 ;       -----------------------------------------
1689
   032C                    1689 _i2c_waitStop:
1690
                           1690 ;       ../../include/ztex-eeprom.h:90: for ( toc=0; toc<255; toc++ ) {
1691
   032C 7A 00              1691         mov     r2,#0x00
1692
   032E                    1692 00103$:
1693
   032E BA FF 00           1693         cjne    r2,#0xFF,00112$
1694
   0331                    1694 00112$:
1695
   0331 50 0F              1695         jnc     00106$
1696
                           1696 ;       ../../include/ztex-eeprom.h:91: if ( ! (I2CS & bmBIT6) )
1697
   0333 90 E6 78           1697         mov     dptr,#_I2CS
1698
   0336 E0                 1698         movx    a,@dptr
1699
   0337 FB                 1699         mov     r3,a
1700
   0338 20 E6 04           1700         jb      acc.6,00105$
1701
                           1701 ;       ../../include/ztex-eeprom.h:92: return 0;
1702
   033B 75 82 00           1702         mov     dpl,#0x00
1703
   033E 22                 1703         ret
1704
   033F                    1704 00105$:
1705
                           1705 ;       ../../include/ztex-eeprom.h:90: for ( toc=0; toc<255; toc++ ) {
1706
   033F 0A                 1706         inc     r2
1707
   0340 80 EC              1707         sjmp    00103$
1708
   0342                    1708 00106$:
1709
                           1709 ;       ../../include/ztex-eeprom.h:94: return 1;
1710
   0342 75 82 01           1710         mov     dpl,#0x01
1711
   0345 22                 1711         ret
1712
                           1712 ;------------------------------------------------------------
1713
                           1713 ;Allocation info for local variables in function 'eeprom_select'
1714
                           1714 ;------------------------------------------------------------
1715
                           1715 ;to                        Allocated with name '_eeprom_select_PARM_2'
1716
                           1716 ;stop                      Allocated with name '_eeprom_select_PARM_3'
1717
                           1717 ;addr                      Allocated to registers r2
1718
                           1718 ;toc                       Allocated to registers
1719
                           1719 ;------------------------------------------------------------
1720
                           1720 ;       ../../include/ztex-eeprom.h:103: BYTE eeprom_select (BYTE addr, BYTE to, BYTE stop ) {
1721
                           1721 ;       -----------------------------------------
1722
                           1722 ;        function eeprom_select
1723
                           1723 ;       -----------------------------------------
1724
   0346                    1724 _eeprom_select:
1725
   0346 AA 82              1725         mov     r2,dpl
1726
                           1726 ;       ../../include/ztex-eeprom.h:105: eeprom_select_start:
1727
   0348 C3                 1727         clr     c
1728
   0349 E4                 1728         clr     a
1729
   034A 95 08              1729         subb    a,_eeprom_select_PARM_2
1730
   034C E4                 1730         clr     a
1731
   034D 33                 1731         rlc     a
1732
   034E FB                 1732         mov     r3,a
1733
   034F                    1733 00101$:
1734
                           1734 ;       ../../include/ztex-eeprom.h:106: I2CS |= bmBIT7;                // start bit
1735
   034F 90 E6 78           1735         mov     dptr,#_I2CS
1736
   0352 E0                 1736         movx    a,@dptr
1737
   0353 44 80              1737         orl     a,#0x80
1738
   0355 F0                 1738         movx    @dptr,a
1739
                           1739 ;       ../../include/ztex-eeprom.h:107: i2c_waitStart();
1740
   0356 C0 02              1740         push    ar2
1741
   0358 C0 03              1741         push    ar3
1742
   035A 12 03 12           1742         lcall   _i2c_waitStart
1743
   035D D0 03              1743         pop     ar3
1744
   035F D0 02              1744         pop     ar2
1745
                           1745 ;       ../../include/ztex-eeprom.h:108: I2DAT = addr;          // select device for writing
1746
   0361 90 E6 79           1746         mov     dptr,#_I2DAT
1747
   0364 EA                 1747         mov     a,r2
1748
   0365 F0                 1748         movx    @dptr,a
1749
                           1749 ;       ../../include/ztex-eeprom.h:109: if ( ! i2c_waitWrite() ) {
1750
   0366 C0 02              1750         push    ar2
1751
   0368 C0 03              1751         push    ar3
1752
   036A 12 02 BC           1752         lcall   _i2c_waitWrite
1753
   036D E5 82              1753         mov     a,dpl
1754
   036F D0 03              1754         pop     ar3
1755
   0371 D0 02              1755         pop     ar2
1756
   0373 70 12              1756         jnz     00107$
1757
                           1757 ;       ../../include/ztex-eeprom.h:110: if ( stop ) {
1758
   0375 E5 09              1758         mov     a,_eeprom_select_PARM_3
1759
   0377 60 0A              1759         jz      00103$
1760
                           1760 ;       ../../include/ztex-eeprom.h:111: I2CS |= bmBIT6;
1761
   0379 90 E6 78           1761         mov     dptr,#_I2CS
1762
   037C E0                 1762         movx    a,@dptr
1763
   037D 44 40              1763         orl     a,#0x40
1764
   037F F0                 1764         movx    @dptr,a
1765
                           1765 ;       ../../include/ztex-eeprom.h:112: i2c_waitStop();
1766
   0380 12 03 2C           1766         lcall   _i2c_waitStop
1767
   0383                    1767 00103$:
1768
                           1768 ;       ../../include/ztex-eeprom.h:114: return 0;
1769
   0383 75 82 00           1769         mov     dpl,#0x00
1770
   0386 22                 1770         ret
1771
   0387                    1771 00107$:
1772
                           1772 ;       ../../include/ztex-eeprom.h:116: else if (toc
1773
   0387 EB                 1773         mov     a,r3
1774
   0388 60 10              1774         jz      00108$
1775
                           1775 ;       ../../include/ztex-eeprom.h:117: uwait(10);
1776
   038A 90 00 0A           1776         mov     dptr,#0x000A
1777
   038D C0 02              1777         push    ar2
1778
   038F C0 03              1778         push    ar3
1779
   0391 12 02 89           1779         lcall   _uwait
1780
   0394 D0 03              1780         pop     ar3
1781
   0396 D0 02              1781         pop     ar2
1782
                           1782 ;       ../../include/ztex-eeprom.h:118: goto eeprom_select_start;
1783
   0398 80 B5              1783         sjmp    00101$
1784
   039A                    1784 00108$:
1785
                           1785 ;       ../../include/ztex-eeprom.h:120: if ( stop ) {
1786
   039A E5 09              1786         mov     a,_eeprom_select_PARM_3
1787
   039C 60 08              1787         jz      00110$
1788
                           1788 ;       ../../include/ztex-eeprom.h:121: I2CS |= bmBIT6;
1789
   039E 90 E6 78           1789         mov     dptr,#_I2CS
1790
   03A1 E0                 1790         movx    a,@dptr
1791
   03A2 FA                 1791         mov     r2,a
1792
   03A3 44 40              1792         orl     a,#0x40
1793
   03A5 F0                 1793         movx    @dptr,a
1794
   03A6                    1794 00110$:
1795
                           1795 ;       ../../include/ztex-eeprom.h:123: return 1;
1796
   03A6 75 82 01           1796         mov     dpl,#0x01
1797
   03A9 22                 1797         ret
1798
                           1798 ;------------------------------------------------------------
1799
                           1799 ;Allocation info for local variables in function 'eeprom_read'
1800
                           1800 ;------------------------------------------------------------
1801
                           1801 ;addr                      Allocated with name '_eeprom_read_PARM_2'
1802
                           1802 ;length                    Allocated with name '_eeprom_read_PARM_3'
1803
                           1803 ;buf                       Allocated to registers r2 r3
1804
                           1804 ;bytes                     Allocated to registers r4
1805
                           1805 ;i                         Allocated to registers
1806
                           1806 ;------------------------------------------------------------
1807
                           1807 ;       ../../include/ztex-eeprom.h:131: BYTE eeprom_read ( __xdata BYTE *buf, WORD addr, BYTE length ) {
1808
                           1808 ;       -----------------------------------------
1809
                           1809 ;        function eeprom_read
1810
                           1810 ;       -----------------------------------------
1811
   03AA                    1811 _eeprom_read:
1812
   03AA AA 82              1812         mov     r2,dpl
1813
   03AC AB 83              1813         mov     r3,dph
1814
                           1814 ;       ../../include/ztex-eeprom.h:132: BYTE bytes = 0,i;
1815
   03AE 7C 00              1815         mov     r4,#0x00
1816
                           1816 ;       ../../include/ztex-eeprom.h:134: if ( length == 0 )
1817
   03B0 E5 0C              1817         mov     a,_eeprom_read_PARM_3
1818
                           1818 ;       ../../include/ztex-eeprom.h:135: return 0;
1819
   03B2 70 03              1819         jnz     00102$
1820
   03B4 F5 82              1820         mov     dpl,a
1821
   03B6 22                 1821         ret
1822
   03B7                    1822 00102$:
1823
                           1823 ;       ../../include/ztex-eeprom.h:137: if ( eeprom_select(EEPROM_ADDR, 100,0) )
1824
   03B7 75 08 64           1824         mov     _eeprom_select_PARM_2,#0x64
1825
   03BA 75 09 00           1825         mov     _eeprom_select_PARM_3,#0x00
1826
   03BD 75 82 A2           1826         mov     dpl,#0xA2
1827
   03C0 C0 02              1827         push    ar2
1828
   03C2 C0 03              1828         push    ar3
1829
   03C4 C0 04              1829         push    ar4
1830
   03C6 12 03 46           1830         lcall   _eeprom_select
1831
   03C9 E5 82              1831         mov     a,dpl
1832
   03CB D0 04              1832         pop     ar4
1833
   03CD D0 03              1833         pop     ar3
1834
   03CF D0 02              1834         pop     ar2
1835
   03D1 60 03              1835         jz      00134$
1836
   03D3 02 04 B0           1836         ljmp    00117$
1837
   03D6                    1837 00134$:
1838
                           1838 ;       ../../include/ztex-eeprom.h:140: I2DAT = HI(addr);              // write address
1839
   03D6 90 E6 79           1839         mov     dptr,#_I2DAT
1840
   03D9 E5 0B              1840         mov     a,(_eeprom_read_PARM_2 + 1)
1841
   03DB F0                 1841         movx    @dptr,a
1842
                           1842 ;       ../../include/ztex-eeprom.h:141: if ( i2c_waitWrite() ) goto eeprom_read_end;
1843
   03DC C0 02              1843         push    ar2
1844
   03DE C0 03              1844         push    ar3
1845
   03E0 C0 04              1845         push    ar4
1846
   03E2 12 02 BC           1846         lcall   _i2c_waitWrite
1847
   03E5 E5 82              1847         mov     a,dpl
1848
   03E7 D0 04              1848         pop     ar4
1849
   03E9 D0 03              1849         pop     ar3
1850
   03EB D0 02              1850         pop     ar2
1851
   03ED 60 03              1851         jz      00135$
1852
   03EF 02 04 B0           1852         ljmp    00117$
1853
   03F2                    1853 00135$:
1854
                           1854 ;       ../../include/ztex-eeprom.h:142: I2DAT = LO(addr);              // write address
1855
   03F2 90 E6 79           1855         mov     dptr,#_I2DAT
1856
   03F5 E5 0A              1856         mov     a,_eeprom_read_PARM_2
1857
   03F7 F0                 1857         movx    @dptr,a
1858
                           1858 ;       ../../include/ztex-eeprom.h:143: if ( i2c_waitWrite() ) goto eeprom_read_end;
1859
   03F8 C0 02              1859         push    ar2
1860
   03FA C0 03              1860         push    ar3
1861
   03FC C0 04              1861         push    ar4
1862
   03FE 12 02 BC           1862         lcall   _i2c_waitWrite
1863
   0401 E5 82              1863         mov     a,dpl
1864
   0403 D0 04              1864         pop     ar4
1865
   0405 D0 03              1865         pop     ar3
1866
   0407 D0 02              1866         pop     ar2
1867
   0409 60 03              1867         jz      00136$
1868
   040B 02 04 B0           1868         ljmp    00117$
1869
   040E                    1869 00136$:
1870
                           1870 ;       ../../include/ztex-eeprom.h:144: I2CS |= bmBIT6;
1871
   040E 90 E6 78           1871         mov     dptr,#_I2CS
1872
   0411 E0                 1872         movx    a,@dptr
1873
   0412 44 40              1873         orl     a,#0x40
1874
   0414 F0                 1874         movx    @dptr,a
1875
                           1875 ;       ../../include/ztex-eeprom.h:145: i2c_waitStop();
1876
   0415 C0 02              1876         push    ar2
1877
   0417 C0 03              1877         push    ar3
1878
   0419 C0 04              1878         push    ar4
1879
   041B 12 03 2C           1879         lcall   _i2c_waitStop
1880
                           1880 ;       ../../include/ztex-eeprom.h:147: I2CS |= bmBIT7;                // start bit
1881
   041E 90 E6 78           1881         mov     dptr,#_I2CS
1882
   0421 E0                 1882         movx    a,@dptr
1883
   0422 44 80              1883         orl     a,#0x80
1884
   0424 F0                 1884         movx    @dptr,a
1885
                           1885 ;       ../../include/ztex-eeprom.h:148: i2c_waitStart();
1886
   0425 12 03 12           1886         lcall   _i2c_waitStart
1887
                           1887 ;       ../../include/ztex-eeprom.h:149: I2DAT = EEPROM_ADDR | 1;       // select device for reading
1888
   0428 90 E6 79           1888         mov     dptr,#_I2DAT
1889
   042B 74 A3              1889         mov     a,#0xA3
1890
   042D F0                 1890         movx    @dptr,a
1891
                           1891 ;       ../../include/ztex-eeprom.h:150: if ( i2c_waitWrite() ) goto eeprom_read_end;
1892
   042E 12 02 BC           1892         lcall   _i2c_waitWrite
1893
   0431 E5 82              1893         mov     a,dpl
1894
   0433 D0 04              1894         pop     ar4
1895
   0435 D0 03              1895         pop     ar3
1896
   0437 D0 02              1896         pop     ar2
1897
   0439 70 75              1897         jnz     00117$
1898
                           1898 ;       ../../include/ztex-eeprom.h:152: *buf = I2DAT;          // dummy read
1899
   043B 90 E6 79           1899         mov     dptr,#_I2DAT
1900
   043E E0                 1900         movx    a,@dptr
1901
   043F 8A 82              1901         mov     dpl,r2
1902
   0441 8B 83              1902         mov     dph,r3
1903
   0443 F0                 1903         movx    @dptr,a
1904
                           1904 ;       ../../include/ztex-eeprom.h:153: if ( i2c_waitRead()) goto eeprom_read_end;
1905
   0444 C0 02              1905         push    ar2
1906
   0446 C0 03              1906         push    ar3
1907
   0448 C0 04              1907         push    ar4
1908
   044A 12 02 E9           1908         lcall   _i2c_waitRead
1909
   044D E5 82              1909         mov     a,dpl
1910
   044F D0 04              1910         pop     ar4
1911
   0451 D0 03              1911         pop     ar3
1912
   0453 D0 02              1912         pop     ar2
1913
   0455 70 59              1913         jnz     00117$
1914
   0457 FD                 1914         mov     r5,a
1915
   0458                    1915 00118$:
1916
                           1916 ;       ../../include/ztex-eeprom.h:154: for (; bytes
1917
   0458 C3                 1917         clr     c
1918
   0459 ED                 1918         mov     a,r5
1919
   045A 95 0C              1919         subb    a,_eeprom_read_PARM_3
1920
   045C 50 2A              1920         jnc     00121$
1921
                           1921 ;       ../../include/ztex-eeprom.h:155: *buf = I2DAT;          // read data
1922
   045E 90 E6 79           1922         mov     dptr,#_I2DAT
1923
   0461 E0                 1923         movx    a,@dptr
1924
   0462 8A 82              1924         mov     dpl,r2
1925
   0464 8B 83              1925         mov     dph,r3
1926
   0466 F0                 1926         movx    @dptr,a
1927
   0467 A3                 1927         inc     dptr
1928
   0468 AA 82              1928         mov     r2,dpl
1929
   046A AB 83              1929         mov     r3,dph
1930
                           1930 ;       ../../include/ztex-eeprom.h:156: buf++;
1931
                           1931 ;       ../../include/ztex-eeprom.h:157: if ( i2c_waitRead()) goto eeprom_read_end;
1932
   046C C0 02              1932         push    ar2
1933
   046E C0 03              1933         push    ar3
1934
   0470 C0 04              1934         push    ar4
1935
   0472 C0 05              1935         push    ar5
1936
   0474 12 02 E9           1936         lcall   _i2c_waitRead
1937
   0477 E5 82              1937         mov     a,dpl
1938
   0479 D0 05              1938         pop     ar5
1939
   047B D0 04              1939         pop     ar4
1940
   047D D0 03              1940         pop     ar3
1941
   047F D0 02              1941         pop     ar2
1942
   0481 70 2D              1942         jnz     00117$
1943
                           1943 ;       ../../include/ztex-eeprom.h:154: for (; bytes
1944
   0483 0D                 1944         inc     r5
1945
   0484 8D 04              1945         mov     ar4,r5
1946
   0486 80 D0              1946         sjmp    00118$
1947
   0488                    1947 00121$:
1948
                           1948 ;       ../../include/ztex-eeprom.h:160: I2CS |= bmBIT5;                // no ACK
1949
   0488 90 E6 78           1949         mov     dptr,#_I2CS
1950
   048B E0                 1950         movx    a,@dptr
1951
   048C 44 20              1951         orl     a,#0x20
1952
   048E F0                 1952         movx    @dptr,a
1953
                           1953 ;       ../../include/ztex-eeprom.h:161: i = I2DAT;                     // dummy read
1954
   048F 90 E6 79           1954         mov     dptr,#_I2DAT
1955
   0492 E0                 1955         movx    a,@dptr
1956
                           1956 ;       ../../include/ztex-eeprom.h:162: if ( i2c_waitRead()) goto eeprom_read_end;
1957
   0493 C0 04              1957         push    ar4
1958
   0495 12 02 E9           1958         lcall   _i2c_waitRead
1959
   0498 E5 82              1959         mov     a,dpl
1960
   049A D0 04              1960         pop     ar4
1961
   049C 70 12              1961         jnz     00117$
1962
                           1962 ;       ../../include/ztex-eeprom.h:164: I2CS |= bmBIT6;                // stop bit
1963
   049E 90 E6 78           1963         mov     dptr,#_I2CS
1964
   04A1 E0                 1964         movx    a,@dptr
1965
   04A2 44 40              1965         orl     a,#0x40
1966
   04A4 F0                 1966         movx    @dptr,a
1967
                           1967 ;       ../../include/ztex-eeprom.h:165: i = I2DAT;                     // dummy read
1968
   04A5 90 E6 79           1968         mov     dptr,#_I2DAT
1969
   04A8 E0                 1969         movx    a,@dptr
1970
                           1970 ;       ../../include/ztex-eeprom.h:166: i2c_waitStop();
1971
   04A9 C0 04              1971         push    ar4
1972
   04AB 12 03 2C           1972         lcall   _i2c_waitStop
1973
   04AE D0 04              1973         pop     ar4
1974
                           1974 ;       ../../include/ztex-eeprom.h:168: eeprom_read_end:
1975
   04B0                    1975 00117$:
1976
                           1976 ;       ../../include/ztex-eeprom.h:169: return bytes;
1977
   04B0 8C 82              1977         mov     dpl,r4
1978
   04B2 22                 1978         ret
1979
                           1979 ;------------------------------------------------------------
1980
                           1980 ;Allocation info for local variables in function 'eeprom_write'
1981
                           1981 ;------------------------------------------------------------
1982
                           1982 ;addr                      Allocated with name '_eeprom_write_PARM_2'
1983
                           1983 ;length                    Allocated with name '_eeprom_write_PARM_3'
1984
                           1984 ;buf                       Allocated to registers r2 r3
1985
                           1985 ;bytes                     Allocated to registers r4
1986
                           1986 ;------------------------------------------------------------
1987
                           1987 ;       ../../include/ztex-eeprom.h:178: BYTE eeprom_write ( __xdata BYTE *buf, WORD addr, BYTE length ) {
1988
                           1988 ;       -----------------------------------------
1989
                           1989 ;        function eeprom_write
1990
                           1990 ;       -----------------------------------------
1991
   04B3                    1991 _eeprom_write:
1992
   04B3 AA 82              1992         mov     r2,dpl
1993
   04B5 AB 83              1993         mov     r3,dph
1994
                           1994 ;       ../../include/ztex-eeprom.h:179: BYTE bytes = 0;
1995
   04B7 7C 00              1995         mov     r4,#0x00
1996
                           1996 ;       ../../include/ztex-eeprom.h:181: if ( length == 0 )
1997
   04B9 E5 0F              1997         mov     a,_eeprom_write_PARM_3
1998
                           1998 ;       ../../include/ztex-eeprom.h:182: return 0;
1999
   04BB 70 03              1999         jnz     00102$
2000
   04BD F5 82              2000         mov     dpl,a
2001
   04BF 22                 2001         ret
2002
   04C0                    2002 00102$:
2003
                           2003 ;       ../../include/ztex-eeprom.h:184: if ( eeprom_select(EEPROM_ADDR, 100,0) )
2004
   04C0 75 08 64           2004         mov     _eeprom_select_PARM_2,#0x64
2005
   04C3 75 09 00           2005         mov     _eeprom_select_PARM_3,#0x00
2006
   04C6 75 82 A2           2006         mov     dpl,#0xA2
2007
   04C9 C0 02              2007         push    ar2
2008
   04CB C0 03              2008         push    ar3
2009
   04CD C0 04              2009         push    ar4
2010
   04CF 12 03 46           2010         lcall   _eeprom_select
2011
   04D2 E5 82              2011         mov     a,dpl
2012
   04D4 D0 04              2012         pop     ar4
2013
   04D6 D0 03              2013         pop     ar3
2014
   04D8 D0 02              2014         pop     ar2
2015
   04DA 60 03              2015         jz      00125$
2016
   04DC 02 05 70           2016         ljmp    00111$
2017
   04DF                    2017 00125$:
2018
                           2018 ;       ../../include/ztex-eeprom.h:187: I2DAT = HI(addr);              // write address
2019
   04DF 90 E6 79           2019         mov     dptr,#_I2DAT
2020
   04E2 E5 0E              2020         mov     a,(_eeprom_write_PARM_2 + 1)
2021
   04E4 F0                 2021         movx    @dptr,a
2022
                           2022 ;       ../../include/ztex-eeprom.h:188: if ( i2c_waitWrite() ) goto eeprom_write_end;
2023
   04E5 C0 02              2023         push    ar2
2024
   04E7 C0 03              2024         push    ar3
2025
   04E9 C0 04              2025         push    ar4
2026
   04EB 12 02 BC           2026         lcall   _i2c_waitWrite
2027
   04EE E5 82              2027         mov     a,dpl
2028
   04F0 D0 04              2028         pop     ar4
2029
   04F2 D0 03              2029         pop     ar3
2030
   04F4 D0 02              2030         pop     ar2
2031
   04F6 60 03              2031         jz      00126$
2032
   04F8 02 05 70           2032         ljmp    00111$
2033
   04FB                    2033 00126$:
2034
                           2034 ;       ../../include/ztex-eeprom.h:189: I2DAT = LO(addr);              // write address
2035
   04FB 90 E6 79           2035         mov     dptr,#_I2DAT
2036
   04FE E5 0D              2036         mov     a,_eeprom_write_PARM_2
2037
   0500 F0                 2037         movx    @dptr,a
2038
                           2038 ;       ../../include/ztex-eeprom.h:190: if ( i2c_waitWrite() ) goto eeprom_write_end;
2039
   0501 C0 02              2039         push    ar2
2040
   0503 C0 03              2040         push    ar3
2041
   0505 C0 04              2041         push    ar4
2042
   0507 12 02 BC           2042         lcall   _i2c_waitWrite
2043
   050A E5 82              2043         mov     a,dpl
2044
   050C D0 04              2044         pop     ar4
2045
   050E D0 03              2045         pop     ar3
2046
   0510 D0 02              2046         pop     ar2
2047
   0512 70 5C              2047         jnz     00111$
2048
   0514 FD                 2048         mov     r5,a
2049
   0515                    2049 00112$:
2050
                           2050 ;       ../../include/ztex-eeprom.h:192: for (; bytes
2051
   0515 C3                 2051         clr     c
2052
   0516 ED                 2052         mov     a,r5
2053
   0517 95 0F              2053         subb    a,_eeprom_write_PARM_3
2054
   0519 50 47              2054         jnc     00115$
2055
                           2055 ;       ../../include/ztex-eeprom.h:193: I2DAT = *buf;          // write data
2056
   051B 8A 82              2056         mov     dpl,r2
2057
   051D 8B 83              2057         mov     dph,r3
2058
   051F E0                 2058         movx    a,@dptr
2059
   0520 FE                 2059         mov     r6,a
2060
   0521 A3                 2060         inc     dptr
2061
   0522 AA 82              2061         mov     r2,dpl
2062
   0524 AB 83              2062         mov     r3,dph
2063
   0526 90 E6 79           2063         mov     dptr,#_I2DAT
2064
   0529 EE                 2064         mov     a,r6
2065
   052A F0                 2065         movx    @dptr,a
2066
                           2066 ;       ../../include/ztex-eeprom.h:194: eeprom_write_checksum += *buf;
2067
   052B 90 3A 04           2067         mov     dptr,#_eeprom_write_checksum
2068
   052E E0                 2068         movx    a,@dptr
2069
   052F FF                 2069         mov     r7,a
2070
   0530 EE                 2070         mov     a,r6
2071
   0531 2F                 2071         add     a,r7
2072
   0532 F0                 2072         movx    @dptr,a
2073
                           2073 ;       ../../include/ztex-eeprom.h:195: buf++;
2074
                           2074 ;       ../../include/ztex-eeprom.h:196: eeprom_write_bytes+=1;
2075
   0533 90 3A 02           2075         mov     dptr,#_eeprom_write_bytes
2076
   0536 E0                 2076         movx    a,@dptr
2077
   0537 FE                 2077         mov     r6,a
2078
   0538 A3                 2078         inc     dptr
2079
   0539 E0                 2079         movx    a,@dptr
2080
   053A FF                 2080         mov     r7,a
2081
   053B 90 3A 02           2081         mov     dptr,#_eeprom_write_bytes
2082
   053E 74 01              2082         mov     a,#0x01
2083
   0540 2E                 2083         add     a,r6
2084
   0541 F0                 2084         movx    @dptr,a
2085
   0542 E4                 2085         clr     a
2086
   0543 3F                 2086         addc    a,r7
2087
   0544 A3                 2087         inc     dptr
2088
   0545 F0                 2088         movx    @dptr,a
2089
                           2089 ;       ../../include/ztex-eeprom.h:197: if ( i2c_waitWrite() ) goto eeprom_write_end;
2090
   0546 C0 02              2090         push    ar2
2091
   0548 C0 03              2091         push    ar3
2092
   054A C0 04              2092         push    ar4
2093
   054C C0 05              2093         push    ar5
2094
   054E 12 02 BC           2094         lcall   _i2c_waitWrite
2095
   0551 E5 82              2095         mov     a,dpl
2096
   0553 D0 05              2096         pop     ar5
2097
   0555 D0 04              2097         pop     ar4
2098
   0557 D0 03              2098         pop     ar3
2099
   0559 D0 02              2099         pop     ar2
2100
   055B 70 13              2100         jnz     00111$
2101
                           2101 ;       ../../include/ztex-eeprom.h:192: for (; bytes
2102
   055D 0D                 2102         inc     r5
2103
   055E 8D 04              2103         mov     ar4,r5
2104
   0560 80 B3              2104         sjmp    00112$
2105
   0562                    2105 00115$:
2106
                           2106 ;       ../../include/ztex-eeprom.h:199: I2CS |= bmBIT6;                // stop bit
2107
   0562 90 E6 78           2107         mov     dptr,#_I2CS
2108
   0565 E0                 2108         movx    a,@dptr
2109
   0566 44 40              2109         orl     a,#0x40
2110
   0568 F0                 2110         movx    @dptr,a
2111
                           2111 ;       ../../include/ztex-eeprom.h:200: i2c_waitStop();
2112
   0569 C0 04              2112         push    ar4
2113
   056B 12 03 2C           2113         lcall   _i2c_waitStop
2114
   056E D0 04              2114         pop     ar4
2115
                           2115 ;       ../../include/ztex-eeprom.h:202: eeprom_write_end:
2116
   0570                    2116 00111$:
2117
                           2117 ;       ../../include/ztex-eeprom.h:203: return bytes;
2118
   0570 8C 82              2118         mov     dpl,r4
2119
   0572 22                 2119         ret
2120
                           2120 ;------------------------------------------------------------
2121
                           2121 ;Allocation info for local variables in function 'eeprom_read_ep0'
2122
                           2122 ;------------------------------------------------------------
2123
                           2123 ;i                         Allocated to registers r3
2124
                           2124 ;b                         Allocated to registers r2
2125
                           2125 ;------------------------------------------------------------
2126
                           2126 ;       ../../include/ztex-eeprom.h:209: BYTE eeprom_read_ep0 () {
2127
                           2127 ;       -----------------------------------------
2128
                           2128 ;        function eeprom_read_ep0
2129
                           2129 ;       -----------------------------------------
2130
   0573                    2130 _eeprom_read_ep0:
2131
                           2131 ;       ../../include/ztex-eeprom.h:211: b = ep0_payload_transfer;
2132
   0573 90 3A 38           2132         mov     dptr,#_ep0_payload_transfer
2133
   0576 E0                 2133         movx    a,@dptr
2134
   0577 FA                 2134         mov     r2,a
2135
                           2135 ;       ../../include/ztex-eeprom.h:212: i = eeprom_read(EP0BUF, eeprom_addr, b);
2136
   0578 90 3A 00           2136         mov     dptr,#_eeprom_addr
2137
   057B E0                 2137         movx    a,@dptr
2138
   057C F5 0A              2138         mov     _eeprom_read_PARM_2,a
2139
   057E A3                 2139         inc     dptr
2140
   057F E0                 2140         movx    a,@dptr
2141
   0580 F5 0B              2141         mov     (_eeprom_read_PARM_2 + 1),a
2142
   0582 8A 0C              2142         mov     _eeprom_read_PARM_3,r2
2143
   0584 90 E7 40           2143         mov     dptr,#_EP0BUF
2144
   0587 C0 02              2144         push    ar2
2145
   0589 12 03 AA           2145         lcall   _eeprom_read
2146
   058C AB 82              2146         mov     r3,dpl
2147
   058E D0 02              2147         pop     ar2
2148
                           2148 ;       ../../include/ztex-eeprom.h:213: eeprom_addr += b;
2149
   0590 7C 00              2149         mov     r4,#0x00
2150
   0592 90 3A 00           2150         mov     dptr,#_eeprom_addr
2151
   0595 E0                 2151         movx    a,@dptr
2152
   0596 FD                 2152         mov     r5,a
2153
   0597 A3                 2153         inc     dptr
2154
   0598 E0                 2154         movx    a,@dptr
2155
   0599 FE                 2155         mov     r6,a
2156
   059A 90 3A 00           2156         mov     dptr,#_eeprom_addr
2157
   059D EA                 2157         mov     a,r2
2158
   059E 2D                 2158         add     a,r5
2159
   059F F0                 2159         movx    @dptr,a
2160
   05A0 EC                 2160         mov     a,r4
2161
   05A1 3E                 2161         addc    a,r6
2162
   05A2 A3                 2162         inc     dptr
2163
   05A3 F0                 2163         movx    @dptr,a
2164
                           2164 ;       ../../include/ztex-eeprom.h:214: return i;
2165
   05A4 8B 82              2165         mov     dpl,r3
2166
   05A6 22                 2166         ret
2167
                           2167 ;------------------------------------------------------------
2168
                           2168 ;Allocation info for local variables in function 'eeprom_write_ep0'
2169
                           2169 ;------------------------------------------------------------
2170
                           2170 ;length                    Allocated to registers r2
2171
                           2171 ;------------------------------------------------------------
2172
                           2172 ;       ../../include/ztex-eeprom.h:230: void eeprom_write_ep0 ( BYTE length ) {
2173
                           2173 ;       -----------------------------------------
2174
                           2174 ;        function eeprom_write_ep0
2175
                           2175 ;       -----------------------------------------
2176
   05A7                    2176 _eeprom_write_ep0:
2177
   05A7 AA 82              2177         mov     r2,dpl
2178
                           2178 ;       ../../include/ztex-eeprom.h:231: eeprom_write(EP0BUF, eeprom_addr, length);
2179
   05A9 90 3A 00           2179         mov     dptr,#_eeprom_addr
2180
   05AC E0                 2180         movx    a,@dptr
2181
   05AD F5 0D              2181         mov     _eeprom_write_PARM_2,a
2182
   05AF A3                 2182         inc     dptr
2183
   05B0 E0                 2183         movx    a,@dptr
2184
   05B1 F5 0E              2184         mov     (_eeprom_write_PARM_2 + 1),a
2185
   05B3 8A 0F              2185         mov     _eeprom_write_PARM_3,r2
2186
   05B5 90 E7 40           2186         mov     dptr,#_EP0BUF
2187
   05B8 C0 02              2187         push    ar2
2188
   05BA 12 04 B3           2188         lcall   _eeprom_write
2189
   05BD D0 02              2189         pop     ar2
2190
                           2190 ;       ../../include/ztex-eeprom.h:232: eeprom_addr += length;
2191
   05BF 7B 00              2191         mov     r3,#0x00
2192
   05C1 90 3A 00           2192         mov     dptr,#_eeprom_addr
2193
   05C4 E0                 2193         movx    a,@dptr
2194
   05C5 FC                 2194         mov     r4,a
2195
   05C6 A3                 2195         inc     dptr
2196
   05C7 E0                 2196         movx    a,@dptr
2197
   05C8 FD                 2197         mov     r5,a
2198
   05C9 90 3A 00           2198         mov     dptr,#_eeprom_addr
2199
   05CC EA                 2199         mov     a,r2
2200
   05CD 2C                 2200         add     a,r4
2201
   05CE F0                 2201         movx    @dptr,a
2202
   05CF EB                 2202         mov     a,r3
2203
   05D0 3D                 2203         addc    a,r5
2204
   05D1 A3                 2204         inc     dptr
2205
   05D2 F0                 2205         movx    @dptr,a
2206
   05D3 22                 2206         ret
2207
                           2207 ;------------------------------------------------------------
2208
                           2208 ;Allocation info for local variables in function 'mac_eeprom_read'
2209
                           2209 ;------------------------------------------------------------
2210
                           2210 ;addr                      Allocated with name '_mac_eeprom_read_PARM_2'
2211
                           2211 ;length                    Allocated with name '_mac_eeprom_read_PARM_3'
2212
                           2212 ;buf                       Allocated to registers r2 r3
2213
                           2213 ;bytes                     Allocated to registers r4
2214
                           2214 ;i                         Allocated to registers
2215
                           2215 ;------------------------------------------------------------
2216
                           2216 ;       ../../include/ztex-eeprom.h:272: BYTE mac_eeprom_read ( __xdata BYTE *buf, BYTE addr, BYTE length ) {
2217
                           2217 ;       -----------------------------------------
2218
                           2218 ;        function mac_eeprom_read
2219
                           2219 ;       -----------------------------------------
2220
   05D4                    2220 _mac_eeprom_read:
2221
   05D4 AA 82              2221         mov     r2,dpl
2222
   05D6 AB 83              2222         mov     r3,dph
2223
                           2223 ;       ../../include/ztex-eeprom.h:273: BYTE bytes = 0,i;
2224
   05D8 7C 00              2224         mov     r4,#0x00
2225
                           2225 ;       ../../include/ztex-eeprom.h:275: if ( length == 0 )
2226
   05DA E5 11              2226         mov     a,_mac_eeprom_read_PARM_3
2227
                           2227 ;       ../../include/ztex-eeprom.h:276: return 0;
2228
   05DC 70 03              2228         jnz     00102$
2229
   05DE F5 82              2229         mov     dpl,a
2230
   05E0 22                 2230         ret
2231
   05E1                    2231 00102$:
2232
                           2232 ;       ../../include/ztex-eeprom.h:278: if ( eeprom_select(EEPROM_MAC_ADDR, 100,0) )
2233
   05E1 75 08 64           2233         mov     _eeprom_select_PARM_2,#0x64
2234
   05E4 75 09 00           2234         mov     _eeprom_select_PARM_3,#0x00
2235
   05E7 75 82 A6           2235         mov     dpl,#0xA6
2236
   05EA C0 02              2236         push    ar2
2237
   05EC C0 03              2237         push    ar3
2238
   05EE C0 04              2238         push    ar4
2239
   05F0 12 03 46           2239         lcall   _eeprom_select
2240
   05F3 E5 82              2240         mov     a,dpl
2241
   05F5 D0 04              2241         pop     ar4
2242
   05F7 D0 03              2242         pop     ar3
2243
   05F9 D0 02              2243         pop     ar2
2244
   05FB 60 03              2244         jz      00131$
2245
   05FD 02 06 BE           2245         ljmp    00115$
2246
   0600                    2246 00131$:
2247
                           2247 ;       ../../include/ztex-eeprom.h:281: I2DAT = addr;          // write address
2248
   0600 90 E6 79           2248         mov     dptr,#_I2DAT
2249
   0603 E5 10              2249         mov     a,_mac_eeprom_read_PARM_2
2250
   0605 F0                 2250         movx    @dptr,a
2251
                           2251 ;       ../../include/ztex-eeprom.h:282: if ( i2c_waitWrite() ) goto mac_eeprom_read_end;
2252
   0606 C0 02              2252         push    ar2
2253
   0608 C0 03              2253         push    ar3
2254
   060A C0 04              2254         push    ar4
2255
   060C 12 02 BC           2255         lcall   _i2c_waitWrite
2256
   060F E5 82              2256         mov     a,dpl
2257
   0611 D0 04              2257         pop     ar4
2258
   0613 D0 03              2258         pop     ar3
2259
   0615 D0 02              2259         pop     ar2
2260
   0617 60 03              2260         jz      00132$
2261
   0619 02 06 BE           2261         ljmp    00115$
2262
   061C                    2262 00132$:
2263
                           2263 ;       ../../include/ztex-eeprom.h:283: I2CS |= bmBIT6;
2264
   061C 90 E6 78           2264         mov     dptr,#_I2CS
2265
   061F E0                 2265         movx    a,@dptr
2266
   0620 44 40              2266         orl     a,#0x40
2267
   0622 F0                 2267         movx    @dptr,a
2268
                           2268 ;       ../../include/ztex-eeprom.h:284: i2c_waitStop();
2269
   0623 C0 02              2269         push    ar2
2270
   0625 C0 03              2270         push    ar3
2271
   0627 C0 04              2271         push    ar4
2272
   0629 12 03 2C           2272         lcall   _i2c_waitStop
2273
                           2273 ;       ../../include/ztex-eeprom.h:286: I2CS |= bmBIT7;                // start bit
2274
   062C 90 E6 78           2274         mov     dptr,#_I2CS
2275
   062F E0                 2275         movx    a,@dptr
2276
   0630 44 80              2276         orl     a,#0x80
2277
   0632 F0                 2277         movx    @dptr,a
2278
                           2278 ;       ../../include/ztex-eeprom.h:287: i2c_waitStart();
2279
   0633 12 03 12           2279         lcall   _i2c_waitStart
2280
                           2280 ;       ../../include/ztex-eeprom.h:288: I2DAT = EEPROM_MAC_ADDR | 1;  // select device for reading
2281
   0636 90 E6 79           2281         mov     dptr,#_I2DAT
2282
   0639 74 A7              2282         mov     a,#0xA7
2283
   063B F0                 2283         movx    @dptr,a
2284
                           2284 ;       ../../include/ztex-eeprom.h:289: if ( i2c_waitWrite() ) goto mac_eeprom_read_end;
2285
   063C 12 02 BC           2285         lcall   _i2c_waitWrite
2286
   063F E5 82              2286         mov     a,dpl
2287
   0641 D0 04              2287         pop     ar4
2288
   0643 D0 03              2288         pop     ar3
2289
   0645 D0 02              2289         pop     ar2
2290
   0647 70 75              2290         jnz     00115$
2291
                           2291 ;       ../../include/ztex-eeprom.h:291: *buf = I2DAT;          // dummy read
2292
   0649 90 E6 79           2292         mov     dptr,#_I2DAT
2293
   064C E0                 2293         movx    a,@dptr
2294
   064D 8A 82              2294         mov     dpl,r2
2295
   064F 8B 83              2295         mov     dph,r3
2296
   0651 F0                 2296         movx    @dptr,a
2297
                           2297 ;       ../../include/ztex-eeprom.h:292: if ( i2c_waitRead()) goto mac_eeprom_read_end;
2298
   0652 C0 02              2298         push    ar2
2299
   0654 C0 03              2299         push    ar3
2300
   0656 C0 04              2300         push    ar4
2301
   0658 12 02 E9           2301         lcall   _i2c_waitRead
2302
   065B E5 82              2302         mov     a,dpl
2303
   065D D0 04              2303         pop     ar4
2304
   065F D0 03              2304         pop     ar3
2305
   0661 D0 02              2305         pop     ar2
2306
   0663 70 59              2306         jnz     00115$
2307
   0665 FD                 2307         mov     r5,a
2308
   0666                    2308 00116$:
2309
                           2309 ;       ../../include/ztex-eeprom.h:293: for (; bytes
2310
   0666 C3                 2310         clr     c
2311
   0667 ED                 2311         mov     a,r5
2312
   0668 95 11              2312         subb    a,_mac_eeprom_read_PARM_3
2313
   066A 50 2A              2313         jnc     00119$
2314
                           2314 ;       ../../include/ztex-eeprom.h:294: *buf = I2DAT;          // read data
2315
   066C 90 E6 79           2315         mov     dptr,#_I2DAT
2316
   066F E0                 2316         movx    a,@dptr
2317
   0670 8A 82              2317         mov     dpl,r2
2318
   0672 8B 83              2318         mov     dph,r3
2319
   0674 F0                 2319         movx    @dptr,a
2320
   0675 A3                 2320         inc     dptr
2321
   0676 AA 82              2321         mov     r2,dpl
2322
   0678 AB 83              2322         mov     r3,dph
2323
                           2323 ;       ../../include/ztex-eeprom.h:295: buf++;
2324
                           2324 ;       ../../include/ztex-eeprom.h:296: if ( i2c_waitRead()) goto mac_eeprom_read_end;
2325
   067A C0 02              2325         push    ar2
2326
   067C C0 03              2326         push    ar3
2327
   067E C0 04              2327         push    ar4
2328
   0680 C0 05              2328         push    ar5
2329
   0682 12 02 E9           2329         lcall   _i2c_waitRead
2330
   0685 E5 82              2330         mov     a,dpl
2331
   0687 D0 05              2331         pop     ar5
2332
   0689 D0 04              2332         pop     ar4
2333
   068B D0 03              2333         pop     ar3
2334
   068D D0 02              2334         pop     ar2
2335
   068F 70 2D              2335         jnz     00115$
2336
                           2336 ;       ../../include/ztex-eeprom.h:293: for (; bytes
2337
   0691 0D                 2337         inc     r5
2338
   0692 8D 04              2338         mov     ar4,r5
2339
   0694 80 D0              2339         sjmp    00116$
2340
   0696                    2340 00119$:
2341
                           2341 ;       ../../include/ztex-eeprom.h:299: I2CS |= bmBIT5;                // no ACK
2342
   0696 90 E6 78           2342         mov     dptr,#_I2CS
2343
   0699 E0                 2343         movx    a,@dptr
2344
   069A 44 20              2344         orl     a,#0x20
2345
   069C F0                 2345         movx    @dptr,a
2346
                           2346 ;       ../../include/ztex-eeprom.h:300: i = I2DAT;                     // dummy read
2347
   069D 90 E6 79           2347         mov     dptr,#_I2DAT
2348
   06A0 E0                 2348         movx    a,@dptr
2349
                           2349 ;       ../../include/ztex-eeprom.h:301: if ( i2c_waitRead()) goto mac_eeprom_read_end;
2350
   06A1 C0 04              2350         push    ar4
2351
   06A3 12 02 E9           2351         lcall   _i2c_waitRead
2352
   06A6 E5 82              2352         mov     a,dpl
2353
   06A8 D0 04              2353         pop     ar4
2354
   06AA 70 12              2354         jnz     00115$
2355
                           2355 ;       ../../include/ztex-eeprom.h:303: I2CS |= bmBIT6;                // stop bit
2356
   06AC 90 E6 78           2356         mov     dptr,#_I2CS
2357
   06AF E0                 2357         movx    a,@dptr
2358
   06B0 44 40              2358         orl     a,#0x40
2359
   06B2 F0                 2359         movx    @dptr,a
2360
                           2360 ;       ../../include/ztex-eeprom.h:304: i = I2DAT;                     // dummy read
2361
   06B3 90 E6 79           2361         mov     dptr,#_I2DAT
2362
   06B6 E0                 2362         movx    a,@dptr
2363
                           2363 ;       ../../include/ztex-eeprom.h:305: i2c_waitStop();
2364
   06B7 C0 04              2364         push    ar4
2365
   06B9 12 03 2C           2365         lcall   _i2c_waitStop
2366
   06BC D0 04              2366         pop     ar4
2367
                           2367 ;       ../../include/ztex-eeprom.h:307: mac_eeprom_read_end:
2368
   06BE                    2368 00115$:
2369
                           2369 ;       ../../include/ztex-eeprom.h:308: return bytes;
2370
   06BE 8C 82              2370         mov     dpl,r4
2371
   06C0 22                 2371         ret
2372
                           2372 ;------------------------------------------------------------
2373
                           2373 ;Allocation info for local variables in function 'mac_eeprom_write'
2374
                           2374 ;------------------------------------------------------------
2375
                           2375 ;addr                      Allocated with name '_mac_eeprom_write_PARM_2'
2376
                           2376 ;length                    Allocated with name '_mac_eeprom_write_PARM_3'
2377
                           2377 ;buf                       Allocated to registers r2 r3
2378
                           2378 ;bytes                     Allocated to registers r4
2379
                           2379 ;------------------------------------------------------------
2380
                           2380 ;       ../../include/ztex-eeprom.h:317: BYTE mac_eeprom_write ( __xdata BYTE *buf, BYTE addr, BYTE length ) {
2381
                           2381 ;       -----------------------------------------
2382
                           2382 ;        function mac_eeprom_write
2383
                           2383 ;       -----------------------------------------
2384
   06C1                    2384 _mac_eeprom_write:
2385
   06C1 AA 82              2385         mov     r2,dpl
2386
   06C3 AB 83              2386         mov     r3,dph
2387
                           2387 ;       ../../include/ztex-eeprom.h:318: BYTE bytes = 0;
2388
   06C5 7C 00              2388         mov     r4,#0x00
2389
                           2389 ;       ../../include/ztex-eeprom.h:320: if ( length == 0 )
2390
   06C7 E5 13              2390         mov     a,_mac_eeprom_write_PARM_3
2391
                           2391 ;       ../../include/ztex-eeprom.h:321: return 0;
2392
   06C9 70 03              2392         jnz     00102$
2393
   06CB F5 82              2393         mov     dpl,a
2394
   06CD 22                 2394         ret
2395
   06CE                    2395 00102$:
2396
                           2396 ;       ../../include/ztex-eeprom.h:323: if ( eeprom_select(EEPROM_MAC_ADDR, 100,0) )
2397
   06CE 75 08 64           2397         mov     _eeprom_select_PARM_2,#0x64
2398
   06D1 75 09 00           2398         mov     _eeprom_select_PARM_3,#0x00
2399
   06D4 75 82 A6           2399         mov     dpl,#0xA6
2400
   06D7 C0 02              2400         push    ar2
2401
   06D9 C0 03              2401         push    ar3
2402
   06DB C0 04              2402         push    ar4
2403
   06DD 12 03 46           2403         lcall   _eeprom_select
2404
   06E0 E5 82              2404         mov     a,dpl
2405
   06E2 D0 04              2405         pop     ar4
2406
   06E4 D0 03              2406         pop     ar3
2407
   06E6 D0 02              2407         pop     ar2
2408
   06E8 60 03              2408         jz      00132$
2409
   06EA 02 07 B0           2409         ljmp    00119$
2410
   06ED                    2410 00132$:
2411
                           2411 ;       ../../include/ztex-eeprom.h:326: I2DAT = addr;                  // write address
2412
   06ED 90 E6 79           2412         mov     dptr,#_I2DAT
2413
   06F0 E5 12              2413         mov     a,_mac_eeprom_write_PARM_2
2414
   06F2 F0                 2414         movx    @dptr,a
2415
                           2415 ;       ../../include/ztex-eeprom.h:327: if ( i2c_waitWrite() ) goto mac_eeprom_write_end;
2416
   06F3 C0 02              2416         push    ar2
2417
   06F5 C0 03              2417         push    ar3
2418
   06F7 C0 04              2418         push    ar4
2419
   06F9 12 02 BC           2419         lcall   _i2c_waitWrite
2420
   06FC E5 82              2420         mov     a,dpl
2421
   06FE D0 04              2421         pop     ar4
2422
   0700 D0 03              2422         pop     ar3
2423
   0702 D0 02              2423         pop     ar2
2424
   0704 60 03              2424         jz      00133$
2425
   0706 02 07 B0           2425         ljmp    00119$
2426
   0709                    2426 00133$:
2427
                           2427 ;       ../../include/ztex-eeprom.h:329: while ( bytes
2428
   0709 AD 12              2428         mov     r5,_mac_eeprom_write_PARM_2
2429
   070B 7E 00              2429         mov     r6,#0x00
2430
   070D                    2430 00116$:
2431
   070D C3                 2431         clr     c
2432
   070E EE                 2432         mov     a,r6
2433
   070F 95 13              2433         subb    a,_mac_eeprom_write_PARM_3
2434
   0711 40 03              2434         jc      00134$
2435
   0713 02 07 A2           2435         ljmp    00118$
2436
   0716                    2436 00134$:
2437
                           2437 ;       ../../include/ztex-eeprom.h:330: I2DAT = *buf;          // write data
2438
   0716 8A 82              2438         mov     dpl,r2
2439
   0718 8B 83              2439         mov     dph,r3
2440
   071A E0                 2440         movx    a,@dptr
2441
   071B FF                 2441         mov     r7,a
2442
   071C A3                 2442         inc     dptr
2443
   071D AA 82              2443         mov     r2,dpl
2444
   071F AB 83              2444         mov     r3,dph
2445
   0721 90 E6 79           2445         mov     dptr,#_I2DAT
2446
   0724 EF                 2446         mov     a,r7
2447
   0725 F0                 2447         movx    @dptr,a
2448
                           2448 ;       ../../include/ztex-eeprom.h:331: buf++;
2449
                           2449 ;       ../../include/ztex-eeprom.h:332: if ( i2c_waitWrite() ) goto mac_eeprom_write_end;
2450
   0726 C0 02              2450         push    ar2
2451
   0728 C0 03              2451         push    ar3
2452
   072A C0 04              2452         push    ar4
2453
   072C C0 05              2453         push    ar5
2454
   072E C0 06              2454         push    ar6
2455
   0730 12 02 BC           2455         lcall   _i2c_waitWrite
2456
   0733 E5 82              2456         mov     a,dpl
2457
   0735 D0 06              2457         pop     ar6
2458
   0737 D0 05              2458         pop     ar5
2459
   0739 D0 04              2459         pop     ar4
2460
   073B D0 03              2460         pop     ar3
2461
   073D D0 02              2461         pop     ar2
2462
   073F 70 6F              2462         jnz     00119$
2463
                           2463 ;       ../../include/ztex-eeprom.h:334: addr++;
2464
   0741 0D                 2464         inc     r5
2465
   0742 8D 12              2465         mov     _mac_eeprom_write_PARM_2,r5
2466
                           2466 ;       ../../include/ztex-eeprom.h:335: bytes++;
2467
   0744 0E                 2467         inc     r6
2468
   0745 8E 04              2468         mov     ar4,r6
2469
                           2469 ;       ../../include/ztex-eeprom.h:336: if ( ( (addr & 8) == 0 ) && ( bytes
2470
   0747 ED                 2470         mov     a,r5
2471
   0748 20 E3 C2           2471         jb      acc.3,00116$
2472
   074B C3                 2472         clr     c
2473
   074C EE                 2473         mov     a,r6
2474
   074D 95 13              2474         subb    a,_mac_eeprom_write_PARM_3
2475
   074F 50 BC              2475         jnc     00116$
2476
                           2476 ;       ../../include/ztex-eeprom.h:337: I2CS |= bmBIT6;                // stop bit
2477
   0751 90 E6 78           2477         mov     dptr,#_I2CS
2478
   0754 E0                 2478         movx    a,@dptr
2479
   0755 44 40              2479         orl     a,#0x40
2480
   0757 F0                 2480         movx    @dptr,a
2481
                           2481 ;       ../../include/ztex-eeprom.h:338: i2c_waitStop();
2482
   0758 C0 02              2482         push    ar2
2483
   075A C0 03              2483         push    ar3
2484
   075C C0 04              2484         push    ar4
2485
   075E C0 05              2485         push    ar5
2486
   0760 C0 06              2486         push    ar6
2487
   0762 12 03 2C           2487         lcall   _i2c_waitStop
2488
                           2488 ;       ../../include/ztex-eeprom.h:340: if ( eeprom_select(EEPROM_MAC_ADDR, 100,0) )
2489
   0765 75 08 64           2489         mov     _eeprom_select_PARM_2,#0x64
2490
   0768 75 09 00           2490         mov     _eeprom_select_PARM_3,#0x00
2491
   076B 75 82 A6           2491         mov     dpl,#0xA6
2492
   076E 12 03 46           2492         lcall   _eeprom_select
2493
   0771 E5 82              2493         mov     a,dpl
2494
   0773 D0 06              2494         pop     ar6
2495
   0775 D0 05              2495         pop     ar5
2496
   0777 D0 04              2496         pop     ar4
2497
   0779 D0 03              2497         pop     ar3
2498
   077B D0 02              2498         pop     ar2
2499
   077D 70 31              2499         jnz     00119$
2500
                           2500 ;       ../../include/ztex-eeprom.h:343: I2DAT = addr;                  // write address
2501
   077F 90 E6 79           2501         mov     dptr,#_I2DAT
2502
   0782 ED                 2502         mov     a,r5
2503
   0783 F0                 2503         movx    @dptr,a
2504
                           2504 ;       ../../include/ztex-eeprom.h:344: if ( i2c_waitWrite() ) goto mac_eeprom_write_end;
2505
   0784 C0 02              2505         push    ar2
2506
   0786 C0 03              2506         push    ar3
2507
   0788 C0 04              2507         push    ar4
2508
   078A C0 05              2508         push    ar5
2509
   078C C0 06              2509         push    ar6
2510
   078E 12 02 BC           2510         lcall   _i2c_waitWrite
2511
   0791 E5 82              2511         mov     a,dpl
2512
   0793 D0 06              2512         pop     ar6
2513
   0795 D0 05              2513         pop     ar5
2514
   0797 D0 04              2514         pop     ar4
2515
   0799 D0 03              2515         pop     ar3
2516
   079B D0 02              2516         pop     ar2
2517
   079D 70 11              2517         jnz     00119$
2518
   079F 02 07 0D           2518         ljmp    00116$
2519
   07A2                    2519 00118$:
2520
                           2520 ;       ../../include/ztex-eeprom.h:347: I2CS |= bmBIT6;                // stop bit
2521
   07A2 90 E6 78           2521         mov     dptr,#_I2CS
2522
   07A5 E0                 2522         movx    a,@dptr
2523
   07A6 44 40              2523         orl     a,#0x40
2524
   07A8 F0                 2524         movx    @dptr,a
2525
                           2525 ;       ../../include/ztex-eeprom.h:348: i2c_waitStop();
2526
   07A9 C0 04              2526         push    ar4
2527
   07AB 12 03 2C           2527         lcall   _i2c_waitStop
2528
   07AE D0 04              2528         pop     ar4
2529
                           2529 ;       ../../include/ztex-eeprom.h:350: mac_eeprom_write_end:
2530
   07B0                    2530 00119$:
2531
                           2531 ;       ../../include/ztex-eeprom.h:351: mac_eeprom_addr = addr;
2532
   07B0 90 3A 05           2532         mov     dptr,#_mac_eeprom_addr
2533
   07B3 E5 12              2533         mov     a,_mac_eeprom_write_PARM_2
2534
   07B5 F0                 2534         movx    @dptr,a
2535
                           2535 ;       ../../include/ztex-eeprom.h:352: return bytes;
2536
   07B6 8C 82              2536         mov     dpl,r4
2537
   07B8 22                 2537         ret
2538
                           2538 ;------------------------------------------------------------
2539
                           2539 ;Allocation info for local variables in function 'mac_eeprom_read_ep0'
2540
                           2540 ;------------------------------------------------------------
2541
                           2541 ;i                         Allocated to registers r3
2542
                           2542 ;b                         Allocated to registers r2
2543
                           2543 ;------------------------------------------------------------
2544
                           2544 ;       ../../include/ztex-eeprom.h:358: BYTE mac_eeprom_read_ep0 () {
2545
                           2545 ;       -----------------------------------------
2546
                           2546 ;        function mac_eeprom_read_ep0
2547
                           2547 ;       -----------------------------------------
2548
   07B9                    2548 _mac_eeprom_read_ep0:
2549
                           2549 ;       ../../include/ztex-eeprom.h:360: b = ep0_payload_transfer;
2550
   07B9 90 3A 38           2550         mov     dptr,#_ep0_payload_transfer
2551
   07BC E0                 2551         movx    a,@dptr
2552
   07BD FA                 2552         mov     r2,a
2553
                           2553 ;       ../../include/ztex-eeprom.h:361: i = mac_eeprom_read(EP0BUF, mac_eeprom_addr, b);
2554
   07BE 90 3A 05           2554         mov     dptr,#_mac_eeprom_addr
2555
   07C1 E0                 2555         movx    a,@dptr
2556
   07C2 F5 10              2556         mov     _mac_eeprom_read_PARM_2,a
2557
   07C4 8A 11              2557         mov     _mac_eeprom_read_PARM_3,r2
2558
   07C6 90 E7 40           2558         mov     dptr,#_EP0BUF
2559
   07C9 C0 02              2559         push    ar2
2560
   07CB 12 05 D4           2560         lcall   _mac_eeprom_read
2561
   07CE AB 82              2561         mov     r3,dpl
2562
   07D0 D0 02              2562         pop     ar2
2563
                           2563 ;       ../../include/ztex-eeprom.h:362: mac_eeprom_addr += b;
2564
   07D2 90 3A 05           2564         mov     dptr,#_mac_eeprom_addr
2565
   07D5 E0                 2565         movx    a,@dptr
2566
   07D6 FC                 2566         mov     r4,a
2567
   07D7 EA                 2567         mov     a,r2
2568
   07D8 2C                 2568         add     a,r4
2569
   07D9 F0                 2569         movx    @dptr,a
2570
                           2570 ;       ../../include/ztex-eeprom.h:363: return i;
2571
   07DA 8B 82              2571         mov     dpl,r3
2572
   07DC 22                 2572         ret
2573
                           2573 ;------------------------------------------------------------
2574
                           2574 ;Allocation info for local variables in function 'spi_clocks'
2575
                           2575 ;------------------------------------------------------------
2576
                           2576 ;c                         Allocated to registers
2577
                           2577 ;------------------------------------------------------------
2578
                           2578 ;       ../../include/ztex-flash2.h:98: void spi_clocks (BYTE c) {
2579
                           2579 ;       -----------------------------------------
2580
                           2580 ;        function spi_clocks
2581
                           2581 ;       -----------------------------------------
2582
   07DD                    2582 _spi_clocks:
2583
                           2583 ;       ../../include/ztex-flash2.h:110: }
2584
                           2584
2585
   07DD AA 82              2585          mov r2,dpl
2586
   07DF                    2586         010014$:
2587
   07DF D2 80              2587                 setb _IOA0
2588
   07E1 00                 2588                 nop
2589
   07E2 00                 2589                 nop
2590
   07E3 00                 2590                 nop
2591
   07E4 C2 80              2591                 clr _IOA0
2592
   07E6 DA F7              2592          djnz r2,010014$
2593
                           2593 ;       # 109 "../../include/ztex-flash2.h"
2594
   07E8 22                 2594         ret
2595
                           2595 ;------------------------------------------------------------
2596
                           2596 ;Allocation info for local variables in function 'flash_read_byte'
2597
                           2597 ;------------------------------------------------------------
2598
                           2598 ;------------------------------------------------------------
2599
                           2599 ;       ../../include/ztex-flash2.h:118: __asm
2600
                           2600 ;       -----------------------------------------
2601
                           2601 ;        function flash_read_byte
2602
                           2602 ;       -----------------------------------------
2603
   07E9                    2603 _flash_read_byte:
2604
                           2604 ;       ../../include/ztex-flash2.h:169: void flash_read(__xdata BYTE *buf, BYTE len) {
2605
                           2605
2606
                           2606
2607
   07E9 A2 A0              2607          mov c,_IOC0
2608
                           2608 ;       # 121 "../../include/ztex-flash2.h"
2609
   07EB D2 80              2609                 setb _IOA0
2610
   07ED 33                 2610                 rlc a
2611
   07EE C2 80              2611                 clr _IOA0
2612
                           2612
2613
   07F0 A2 A0              2613                 mov c,_IOC0
2614
                           2614 ;       # 126 "../../include/ztex-flash2.h"
2615
   07F2 D2 80              2615                 setb _IOA0
2616
   07F4 33                 2616                 rlc a
2617
   07F5 C2 80              2617                 clr _IOA0
2618
                           2618
2619
   07F7 A2 A0              2619                 mov c,_IOC0
2620
                           2620 ;       # 131 "../../include/ztex-flash2.h"
2621
   07F9 D2 80              2621                 setb _IOA0
2622
   07FB 33                 2622                 rlc a
2623
   07FC C2 80              2623                 clr _IOA0
2624
                           2624
2625
   07FE A2 A0              2625                 mov c,_IOC0
2626
                           2626 ;       # 136 "../../include/ztex-flash2.h"
2627
   0800 D2 80              2627                 setb _IOA0
2628
   0802 33                 2628                 rlc a
2629
   0803 C2 80              2629                 clr _IOA0
2630
                           2630
2631
   0805 A2 A0              2631                 mov c,_IOC0
2632
                           2632 ;       # 141 "../../include/ztex-flash2.h"
2633
   0807 D2 80              2633                 setb _IOA0
2634
   0809 33                 2634                 rlc a
2635
   080A C2 80              2635                 clr _IOA0
2636
                           2636
2637
   080C A2 A0              2637                 mov c,_IOC0
2638
                           2638 ;       # 146 "../../include/ztex-flash2.h"
2639
   080E D2 80              2639                 setb _IOA0
2640
   0810 33                 2640                 rlc a
2641
   0811 C2 80              2641                 clr _IOA0
2642
                           2642
2643
   0813 A2 A0              2643                 mov c,_IOC0
2644
                           2644 ;       # 151 "../../include/ztex-flash2.h"
2645
   0815 D2 80              2645                 setb _IOA0
2646
   0817 33                 2646                 rlc a
2647
   0818 C2 80              2647                 clr _IOA0
2648
                           2648
2649
   081A A2 A0              2649                 mov c,_IOC0
2650
                           2650 ;       # 156 "../../include/ztex-flash2.h"
2651
   081C D2 80              2651                 setb _IOA0
2652
   081E 33                 2652                 rlc a
2653
   081F C2 80              2653                 clr _IOA0
2654
   0821 F5 82              2654                 mov dpl,a
2655
   0823 22                 2655                 ret
2656
                           2656 ;       ../../include/ztex-flash2.h:170: *buf;                                  // this avoids stupid warnings
2657
   0824 75 82 00           2657         mov     dpl,#0x00
2658
   0827 22                 2658         ret
2659
                           2659 ;------------------------------------------------------------
2660
                           2660 ;Allocation info for local variables in function 'flash_read'
2661
                           2661 ;------------------------------------------------------------
2662
                           2662 ;len                       Allocated with name '_flash_read_PARM_2'
2663
                           2663 ;buf                       Allocated to registers
2664
                           2664 ;------------------------------------------------------------
2665
                           2665 ;       ../../include/ztex-flash2.h:169: void flash_read(__xdata BYTE *buf, BYTE len) {
2666
                           2666 ;       -----------------------------------------
2667
                           2667 ;        function flash_read
2668
                           2668 ;       -----------------------------------------
2669
   0828                    2669 _flash_read:
2670
                           2670 ;       ../../include/ztex-flash2.h:228: __asm
2671
                           2671
2672
                           2672 ;       # 173 "../../include/ztex-flash2.h"
2673
   0828 AA 16              2673          mov r2,_flash_read_PARM_2
2674
   082A                    2674         010012$:
2675
                           2675
2676
   082A A2 A0              2676          mov c,_IOC0
2677
                           2677 ;       # 177 "../../include/ztex-flash2.h"
2678
   082C D2 80              2678                 setb _IOA0
2679
   082E 33                 2679                 rlc a
2680
   082F C2 80              2680                 clr _IOA0
2681
                           2681
2682
   0831 A2 A0              2682                 mov c,_IOC0
2683
                           2683 ;       # 182 "../../include/ztex-flash2.h"
2684
   0833 D2 80              2684                 setb _IOA0
2685
   0835 33                 2685                 rlc a
2686
   0836 C2 80              2686                 clr _IOA0
2687
                           2687
2688
   0838 A2 A0              2688                 mov c,_IOC0
2689
                           2689 ;       # 187 "../../include/ztex-flash2.h"
2690
   083A D2 80              2690                 setb _IOA0
2691
   083C 33                 2691                 rlc a
2692
   083D C2 80              2692                 clr _IOA0
2693
                           2693
2694
   083F A2 A0              2694                 mov c,_IOC0
2695
                           2695 ;       # 192 "../../include/ztex-flash2.h"
2696
   0841 D2 80              2696                 setb _IOA0
2697
   0843 33                 2697                 rlc a
2698
   0844 C2 80              2698                 clr _IOA0
2699
                           2699
2700
   0846 A2 A0              2700                 mov c,_IOC0
2701
                           2701 ;       # 197 "../../include/ztex-flash2.h"
2702
   0848 D2 80              2702                 setb _IOA0
2703
   084A 33                 2703                 rlc a
2704
   084B C2 80              2704                 clr _IOA0
2705
                           2705
2706
   084D A2 A0              2706                 mov c,_IOC0
2707
                           2707 ;       # 202 "../../include/ztex-flash2.h"
2708
   084F D2 80              2708                 setb _IOA0
2709
   0851 33                 2709                 rlc a
2710
   0852 C2 80              2710                 clr _IOA0
2711
                           2711
2712
   0854 A2 A0              2712                 mov c,_IOC0
2713
                           2713 ;       # 207 "../../include/ztex-flash2.h"
2714
   0856 D2 80              2714                 setb _IOA0
2715
   0858 33                 2715                 rlc a
2716
   0859 C2 80              2716                 clr _IOA0
2717
                           2717
2718
   085B A2 A0              2718                 mov c,_IOC0
2719
                           2719 ;       # 212 "../../include/ztex-flash2.h"
2720
   085D D2 80              2720                 setb _IOA0
2721
   085F 33                 2721                 rlc a
2722
   0860 C2 80              2722                 clr _IOA0
2723
                           2723
2724
   0862 F0                 2724          movx @dptr,a
2725
   0863 A3                 2725          inc dptr
2726
   0864 DA C4              2726          djnz r2,010012$
2727
   0866 22                 2727         ret
2728
                           2728 ;------------------------------------------------------------
2729
                           2729 ;Allocation info for local variables in function 'spi_write_byte'
2730
                           2730 ;------------------------------------------------------------
2731
                           2731 ;b                         Allocated to registers
2732
                           2732 ;------------------------------------------------------------
2733
                           2733 ;       ../../include/ztex-flash2.h:235: rlc    a               // 6
2734
                           2734 ;       -----------------------------------------
2735
                           2735 ;        function spi_write_byte
2736
                           2736 ;       -----------------------------------------
2737
   0867                    2737 _spi_write_byte:
2738
                           2738 ;       ../../include/ztex-flash2.h:280: *buf;                                  // this avoids stupid warnings
2739
                           2739
2740
                           2740 ;       # 230 "../../include/ztex-flash2.h"
2741
   0867 E5 82              2741          mov a,dpl
2742
   0869 33                 2742          rlc a
2743
                           2743 ;       # 232 "../../include/ztex-flash2.h"
2744
                           2744
2745
   086A 92 81              2745          mov _IOA1,c
2746
   086C D2 80              2746                 setb _IOA0
2747
   086E 33                 2747          rlc a
2748
                           2748 ;       # 236 "../../include/ztex-flash2.h"
2749
   086F C2 80              2749                 clr _IOA0
2750
                           2750
2751
   0871 92 81              2751          mov _IOA1,c
2752
   0873 D2 80              2752                 setb _IOA0
2753
   0875 33                 2753          rlc a
2754
                           2754 ;       # 241 "../../include/ztex-flash2.h"
2755
   0876 C2 80              2755                 clr _IOA0
2756
                           2756
2757
   0878 92 81              2757          mov _IOA1,c
2758
   087A D2 80              2758                 setb _IOA0
2759
   087C 33                 2759          rlc a
2760
                           2760 ;       # 246 "../../include/ztex-flash2.h"
2761
   087D C2 80              2761                 clr _IOA0
2762
                           2762
2763
   087F 92 81              2763          mov _IOA1,c
2764
   0881 D2 80              2764                 setb _IOA0
2765
   0883 33                 2765          rlc a
2766
                           2766 ;       # 251 "../../include/ztex-flash2.h"
2767
   0884 C2 80              2767                 clr _IOA0
2768
                           2768
2769
   0886 92 81              2769          mov _IOA1,c
2770
   0888 D2 80              2770                 setb _IOA0
2771
   088A 33                 2771          rlc a
2772
                           2772 ;       # 256 "../../include/ztex-flash2.h"
2773
   088B C2 80              2773                 clr _IOA0
2774
                           2774
2775
   088D 92 81              2775          mov _IOA1,c
2776
   088F D2 80              2776                 setb _IOA0
2777
   0891 33                 2777          rlc a
2778
                           2778 ;       # 261 "../../include/ztex-flash2.h"
2779
   0892 C2 80              2779                 clr _IOA0
2780
                           2780
2781
   0894 92 81              2781          mov _IOA1,c
2782
   0896 D2 80              2782                 setb _IOA0
2783
   0898 33                 2783          rlc a
2784
                           2784 ;       # 266 "../../include/ztex-flash2.h"
2785
   0899 C2 80              2785                 clr _IOA0
2786
                           2786
2787
   089B 92 81              2787          mov _IOA1,c
2788
   089D D2 80              2788                 setb _IOA0
2789
   089F 00                 2789          nop
2790
   08A0 C2 80              2790                 clr _IOA0
2791
   08A2 22                 2791         ret
2792
                           2792 ;------------------------------------------------------------
2793
                           2793 ;Allocation info for local variables in function 'spi_write'
2794
                           2794 ;------------------------------------------------------------
2795
                           2795 ;len                       Allocated with name '_spi_write_PARM_2'
2796
                           2796 ;buf                       Allocated to registers
2797
                           2797 ;------------------------------------------------------------
2798
                           2798 ;       ../../include/ztex-flash2.h:279: void spi_write(__xdata BYTE *buf, BYTE len) {
2799
                           2799 ;       -----------------------------------------
2800
                           2800 ;        function spi_write
2801
                           2801 ;       -----------------------------------------
2802
   08A3                    2802 _spi_write:
2803
                           2803 ;       ../../include/ztex-flash2.h:339: void spi_select() {
2804
                           2804
2805
                           2805 ;       # 283 "../../include/ztex-flash2.h"
2806
   08A3 AA 16              2806          mov r2,_flash_read_PARM_2
2807
   08A5                    2807         010013$:
2808
                           2808 ;       # 286 "../../include/ztex-flash2.h"
2809
   08A5 E0                 2809          movx a,@dptr
2810
   08A6 33                 2810          rlc a
2811
                           2811 ;       # 288 "../../include/ztex-flash2.h"
2812
                           2812
2813
   08A7 92 81              2813          mov _IOA1,c
2814
   08A9 D2 80              2814                 setb _IOA0
2815
   08AB 33                 2815          rlc a
2816
                           2816 ;       # 292 "../../include/ztex-flash2.h"
2817
   08AC C2 80              2817                 clr _IOA0
2818
                           2818
2819
   08AE 92 81              2819          mov _IOA1,c
2820
   08B0 D2 80              2820                 setb _IOA0
2821
   08B2 33                 2821          rlc a
2822
                           2822 ;       # 297 "../../include/ztex-flash2.h"
2823
   08B3 C2 80              2823                 clr _IOA0
2824
                           2824
2825
   08B5 92 81              2825          mov _IOA1,c
2826
   08B7 D2 80              2826                 setb _IOA0
2827
   08B9 33                 2827          rlc a
2828
                           2828 ;       # 302 "../../include/ztex-flash2.h"
2829
   08BA C2 80              2829                 clr _IOA0
2830
                           2830
2831
   08BC 92 81              2831          mov _IOA1,c
2832
   08BE D2 80              2832                 setb _IOA0
2833
   08C0 33                 2833          rlc a
2834
                           2834 ;       # 307 "../../include/ztex-flash2.h"
2835
   08C1 C2 80              2835                 clr _IOA0
2836
                           2836
2837
   08C3 92 81              2837          mov _IOA1,c
2838
   08C5 D2 80              2838                 setb _IOA0
2839
   08C7 33                 2839          rlc a
2840
                           2840 ;       # 312 "../../include/ztex-flash2.h"
2841
   08C8 C2 80              2841                 clr _IOA0
2842
                           2842
2843
   08CA 92 81              2843          mov _IOA1,c
2844
   08CC D2 80              2844                 setb _IOA0
2845
   08CE 33                 2845          rlc a
2846
                           2846 ;       # 317 "../../include/ztex-flash2.h"
2847
   08CF C2 80              2847                 clr _IOA0
2848
                           2848
2849
   08D1 92 81              2849          mov _IOA1,c
2850
   08D3 D2 80              2850                 setb _IOA0
2851
   08D5 33                 2851          rlc a
2852
                           2852 ;       # 322 "../../include/ztex-flash2.h"
2853
   08D6 C2 80              2853                 clr _IOA0
2854
                           2854
2855
   08D8 92 81              2855          mov _IOA1,c
2856
   08DA D2 80              2856                 setb _IOA0
2857
   08DC A3                 2857          inc dptr
2858
   08DD C2 80              2858                 clr _IOA0
2859
                           2859
2860
   08DF DA C4              2860          djnz r2,010013$
2861
   08E1 22                 2861         ret
2862
                           2862 ;------------------------------------------------------------
2863
                           2863 ;Allocation info for local variables in function 'spi_select'
2864
                           2864 ;------------------------------------------------------------
2865
                           2865 ;------------------------------------------------------------
2866
                           2866 ;       ../../include/ztex-flash2.h:348: // de-select the flash (CS)
2867
                           2867 ;       -----------------------------------------
2868
                           2868 ;        function spi_select
2869
                           2869 ;       -----------------------------------------
2870
   08E2                    2870 _spi_select:
2871
                           2871 ;       ../../include/ztex-flash2.h:349: void spi_deselect() {
2872
   08E2 D2 83              2872         setb    _IOA3
2873
                           2873 ;       ../../include/ztex-flash2.h:350: SPI_CS = 1;                                    // CS = 1;
2874
   08E4 75 82 08           2874         mov     dpl,#0x08
2875
   08E7 12 07 DD           2875         lcall   _spi_clocks
2876
                           2876 ;       ../../include/ztex-flash2.h:342: SPI_CS = 0;
2877
   08EA C2 83              2877         clr     _IOA3
2878
   08EC 22                 2878         ret
2879
                           2879 ;------------------------------------------------------------
2880
                           2880 ;Allocation info for local variables in function 'spi_deselect'
2881
                           2881 ;------------------------------------------------------------
2882
                           2882 ;------------------------------------------------------------
2883
                           2883 ;       ../../include/ztex-flash2.h:349: void spi_deselect() {
2884
                           2884 ;       -----------------------------------------
2885
                           2885 ;        function spi_deselect
2886
                           2886 ;       -----------------------------------------
2887
   08ED                    2887 _spi_deselect:
2888
                           2888 ;       ../../include/ztex-flash2.h:350: SPI_CS = 1;                                    // CS = 1;
2889
   08ED D2 83              2889         setb    _IOA3
2890
                           2890 ;       ../../include/ztex-flash2.h:351: spi_clocks(8);                         // 8 dummy clocks to finish a previous command
2891
   08EF 75 82 08           2891         mov     dpl,#0x08
2892
   08F2 02 07 DD           2892         ljmp    _spi_clocks
2893
                           2893 ;------------------------------------------------------------
2894
                           2894 ;Allocation info for local variables in function 'spi_wait'
2895
                           2895 ;------------------------------------------------------------
2896
                           2896 ;i                         Allocated to registers r2 r3
2897
                           2897 ;------------------------------------------------------------
2898
                           2898 ;       ../../include/ztex-flash2.h:371: BYTE spi_wait() {
2899
                           2899 ;       -----------------------------------------
2900
                           2900 ;        function spi_wait
2901
                           2901 ;       -----------------------------------------
2902
   08F5                    2902 _spi_wait:
2903
                           2903 ;       ../../include/ztex-flash2.h:359: spi_last_cmd = $0;
2904
   08F5 90 3A 13           2904         mov     dptr,#_spi_last_cmd
2905
   08F8 74 05              2905         mov     a,#0x05
2906
   08FA F0                 2906         movx    @dptr,a
2907
                           2907 ;       ../../include/ztex-flash2.h:360: spi_select();                          // select
2908
   08FB 12 08 E2           2908         lcall   _spi_select
2909
                           2909 ;       ../../include/ztex-flash2.h:361: spi_write_byte($0);                            // CMD 90h
2910
   08FE 75 82 05           2910         mov     dpl,#0x05
2911
   0901 12 08 67           2911         lcall   _spi_write_byte
2912
                           2912 ;       ../../include/ztex-flash2.h:375: for (i=0; (flash_read_byte() & bmBIT0) && i<65535; i++ ) {
2913
   0904 7A 00              2913         mov     r2,#0x00
2914
   0906 7B 00              2914         mov     r3,#0x00
2915
   0908                    2915 00102$:
2916
   0908 C0 02              2916         push    ar2
2917
   090A C0 03              2917         push    ar3
2918
   090C 12 07 E9           2918         lcall   _flash_read_byte
2919
   090F E5 82              2919         mov     a,dpl
2920
   0911 D0 03              2920         pop     ar3
2921
   0913 D0 02              2921         pop     ar2
2922
   0915 30 E0 2E           2922         jnb     acc.0,00105$
2923
   0918 8A 04              2923         mov     ar4,r2
2924
   091A 8B 05              2924         mov     ar5,r3
2925
   091C 7E 00              2925         mov     r6,#0x00
2926
   091E 7F 00              2926         mov     r7,#0x00
2927
   0920 C3                 2927         clr     c
2928
   0921 EC                 2928         mov     a,r4
2929
   0922 94 FF              2929         subb    a,#0xFF
2930
   0924 ED                 2930         mov     a,r5
2931
   0925 94 FF              2931         subb    a,#0xFF
2932
   0927 EE                 2932         mov     a,r6
2933
   0928 94 00              2933         subb    a,#0x00
2934
   092A EF                 2934         mov     a,r7
2935
   092B 64 80              2935         xrl     a,#0x80
2936
   092D 94 80              2936         subb    a,#0x80
2937
   092F 50 15              2937         jnc     00105$
2938
                           2938 ;       ../../include/ztex-flash2.h:376: spi_clocks(0);                         // 256 dummy clocks
2939
   0931 75 82 00           2939         mov     dpl,#0x00
2940
   0934 C0 02              2940         push    ar2
2941
   0936 C0 03              2941         push    ar3
2942
   0938 12 07 DD           2942         lcall   _spi_clocks
2943
   093B D0 03              2943         pop     ar3
2944
   093D D0 02              2944         pop     ar2
2945
                           2945 ;       ../../include/ztex-flash2.h:375: for (i=0; (flash_read_byte() & bmBIT0) && i<65535; i++ ) {
2946
   093F 0A                 2946         inc     r2
2947
   0940 BA 00 C5           2947         cjne    r2,#0x00,00102$
2948
   0943 0B                 2948         inc     r3
2949
   0944 80 C2              2949         sjmp    00102$
2950
   0946                    2950 00105$:
2951
                           2951 ;       ../../include/ztex-flash2.h:379: flash_ec = flash_read_byte() & bmBIT0 ? FLASH_EC_TIMEOUT : 0;
2952
   0946 12 07 E9           2952         lcall   _flash_read_byte
2953
   0949 E5 82              2953         mov     a,dpl
2954
   094B 30 E0 04           2954         jnb     acc.0,00108$
2955
   094E 7A 02              2955         mov     r2,#0x02
2956
   0950 80 02              2956         sjmp    00109$
2957
   0952                    2957 00108$:
2958
   0952 7A 00              2958         mov     r2,#0x00
2959
   0954                    2959 00109$:
2960
   0954 90 3A 0E           2960         mov     dptr,#_flash_ec
2961
   0957 EA                 2961         mov     a,r2
2962
   0958 F0                 2962         movx    @dptr,a
2963
                           2963 ;       ../../include/ztex-flash2.h:380: spi_deselect();
2964
   0959 12 08 ED           2964         lcall   _spi_deselect
2965
                           2965 ;       ../../include/ztex-flash2.h:381: return flash_ec;
2966
   095C 90 3A 0E           2966         mov     dptr,#_flash_ec
2967
   095F E0                 2967         movx    a,@dptr
2968
   0960 F5 82              2968         mov     dpl,a
2969
   0962 22                 2969         ret
2970
                           2970 ;------------------------------------------------------------
2971
                           2971 ;Allocation info for local variables in function 'flash_read_init'
2972
                           2972 ;------------------------------------------------------------
2973
                           2973 ;s                         Allocated to registers r2 r3
2974
                           2974 ;------------------------------------------------------------
2975
                           2975 ;       ../../include/ztex-flash2.h:391: BYTE flash_read_init(WORD s) {
2976
                           2976 ;       -----------------------------------------
2977
                           2977 ;        function flash_read_init
2978
                           2978 ;       -----------------------------------------
2979
   0963                    2979 _flash_read_init:
2980
   0963 AA 82              2980         mov     r2,dpl
2981
   0965 AB 83              2981         mov     r3,dph
2982
                           2982 ;       ../../include/ztex-flash2.h:396: OESPI_OPORT &= ~bmBITSPI_BIT_DO;
2983
   0967 20 83 0A           2983         jb      _IOA3,00102$
2984
                           2984 ;       ../../include/ztex-flash2.h:393: flash_ec = FLASH_EC_PENDING;
2985
   096A 90 3A 0E           2985         mov     dptr,#_flash_ec
2986
   096D 74 04              2986         mov     a,#0x04
2987
   096F F0                 2987         movx    @dptr,a
2988
                           2988 ;       ../../include/ztex-flash2.h:394: return FLASH_EC_PENDING;               // we interrupted a pending Flash operation
2989
   0970 75 82 04           2989         mov     dpl,#0x04
2990
   0973 22                 2990         ret
2991
   0974                    2991 00102$:
2992
                           2992 ;       ../../include/ztex-flash2.h:396: OESPI_OPORT &= ~bmBITSPI_BIT_DO;
2993
   0974 53 B4 FE           2993         anl     _OEC,#0xFE
2994
                           2994 ;       ../../include/ztex-flash2.h:397: OESPI_PORT |= bmBITSPI_BIT_CS | bmBITSPI_BIT_DI | bmBITSPI_BIT_CLK;
2995
   0977 43 B2 0B           2995         orl     _OEA,#0x0B
2996
                           2996 ;       ../../include/ztex-flash2.h:398: if ( spi_wait() ) {
2997
   097A C0 02              2997         push    ar2
2998
   097C C0 03              2998         push    ar3
2999
   097E 12 08 F5           2999         lcall   _spi_wait
3000
   0981 E5 82              3000         mov     a,dpl
3001
   0983 D0 03              3001         pop     ar3
3002
   0985 D0 02              3002         pop     ar2
3003
   0987 60 07              3003         jz      00104$
3004
                           3004 ;       ../../include/ztex-flash2.h:399: return flash_ec;
3005
   0989 90 3A 0E           3005         mov     dptr,#_flash_ec
3006
   098C E0                 3006         movx    a,@dptr
3007
   098D F5 82              3007         mov     dpl,a
3008
   098F 22                 3008         ret
3009
   0990                    3009 00104$:
3010
                           3010 ;       ../../include/ztex-flash2.h:402: s = s << ((BYTE)flash_sector_size - 8);
3011
   0990 90 3A 08           3011         mov     dptr,#_flash_sector_size
3012
   0993 E0                 3012         movx    a,@dptr
3013
   0994 FC                 3013         mov     r4,a
3014
   0995 A3                 3014         inc     dptr
3015
   0996 E0                 3015         movx    a,@dptr
3016
   0997 7D 00              3016         mov     r5,#0x00
3017
   0999 EC                 3017         mov     a,r4
3018
   099A 24 F8              3018         add     a,#0xf8
3019
   099C FC                 3019         mov     r4,a
3020
   099D ED                 3020         mov     a,r5
3021
   099E 34 FF              3021         addc    a,#0xff
3022
   09A0 FD                 3022         mov     r5,a
3023
   09A1 8C F0              3023         mov     b,r4
3024
   09A3 05 F0              3024         inc     b
3025
   09A5 80 06              3025         sjmp    00112$
3026
   09A7                    3026 00111$:
3027
   09A7 EA                 3027         mov     a,r2
3028
   09A8 2A                 3028         add     a,r2
3029
   09A9 FA                 3029         mov     r2,a
3030
   09AA EB                 3030         mov     a,r3
3031
   09AB 33                 3031         rlc     a
3032
   09AC FB                 3032         mov     r3,a
3033
   09AD                    3033 00112$:
3034
   09AD D5 F0 F7           3034         djnz    b,00111$
3035
                           3035 ;       ../../include/ztex-flash2.h:359: spi_last_cmd = $0;
3036
   09B0 90 3A 13           3036         mov     dptr,#_spi_last_cmd
3037
   09B3 74 0B              3037         mov     a,#0x0B
3038
   09B5 F0                 3038         movx    @dptr,a
3039
                           3039 ;       ../../include/ztex-flash2.h:360: spi_select();                          // select
3040
   09B6 C0 02              3040         push    ar2
3041
   09B8 C0 03              3041         push    ar3
3042
   09BA 12 08 E2           3042         lcall   _spi_select
3043
                           3043 ;       ../../include/ztex-flash2.h:361: spi_write_byte($0);                            // CMD 90h
3044
   09BD 75 82 0B           3044         mov     dpl,#0x0B
3045
   09C0 12 08 67           3045         lcall   _spi_write_byte
3046
   09C3 D0 03              3046         pop     ar3
3047
                           3047 ;       ../../include/ztex-flash2.h:363:
3048
   09C5 8B 82              3048         mov     dpl,r3
3049
   09C7 C0 03              3049         push    ar3
3050
   09C9 12 08 67           3050         lcall   _spi_write_byte
3051
   09CC D0 03              3051         pop     ar3
3052
   09CE D0 02              3052         pop     ar2
3053
                           3053 ;       ../../include/ztex-flash2.h:405: spi_write_byte(s & 255);
3054
   09D0 8A 82              3054         mov     dpl,r2
3055
   09D2 12 08 67           3055         lcall   _spi_write_byte
3056
                           3056 ;       ../../include/ztex-flash2.h:406: spi_write_byte(0);
3057
   09D5 75 82 00           3057         mov     dpl,#0x00
3058
   09D8 12 08 67           3058         lcall   _spi_write_byte
3059
                           3059 ;       ../../include/ztex-flash2.h:407: spi_clocks(8);                         // 8 dummy clocks
3060
   09DB 75 82 08           3060         mov     dpl,#0x08
3061
   09DE 12 07 DD           3061         lcall   _spi_clocks
3062
                           3062 ;       ../../include/ztex-flash2.h:408: return 0;
3063
   09E1 75 82 00           3063         mov     dpl,#0x00
3064
   09E4 22                 3064         ret
3065
                           3065 ;------------------------------------------------------------
3066
                           3066 ;Allocation info for local variables in function 'flash_read_next'
3067
                           3067 ;------------------------------------------------------------
3068
                           3068 ;------------------------------------------------------------
3069
                           3069 ;       ../../include/ztex-flash2.h:417: BYTE flash_read_next() {
3070
                           3070 ;       -----------------------------------------
3071
                           3071 ;        function flash_read_next
3072
                           3072 ;       -----------------------------------------
3073
   09E5                    3073 _flash_read_next:
3074
                           3074 ;       ../../include/ztex-flash2.h:418: return 0;
3075
   09E5 75 82 00           3075         mov     dpl,#0x00
3076
   09E8 22                 3076         ret
3077
                           3077 ;------------------------------------------------------------
3078
                           3078 ;Allocation info for local variables in function 'flash_read_finish'
3079
                           3079 ;------------------------------------------------------------
3080
                           3080 ;n                         Allocated to registers
3081
                           3081 ;------------------------------------------------------------
3082
                           3082 ;       ../../include/ztex-flash2.h:428: void flash_read_finish(WORD n) {
3083
                           3083 ;       -----------------------------------------
3084
                           3084 ;        function flash_read_finish
3085
                           3085 ;       -----------------------------------------
3086
   09E9                    3086 _flash_read_finish:
3087
                           3087 ;       ../../include/ztex-flash2.h:430: spi_deselect();
3088
   09E9 02 08 ED           3088         ljmp    _spi_deselect
3089
                           3089 ;------------------------------------------------------------
3090
                           3090 ;Allocation info for local variables in function 'spi_pp'
3091
                           3091 ;------------------------------------------------------------
3092
                           3092 ;------------------------------------------------------------
3093
                           3093 ;       ../../include/ztex-flash2.h:437: BYTE spi_pp () {
3094
                           3094 ;       -----------------------------------------
3095
                           3095 ;        function spi_pp
3096
                           3096 ;       -----------------------------------------
3097
   09EC                    3097 _spi_pp:
3098
                           3098 ;       ../../include/ztex-flash2.h:438: spi_deselect();                                // finish previous write cmd
3099
   09EC 12 08 ED           3099         lcall   _spi_deselect
3100
                           3100 ;       ../../include/ztex-flash2.h:440: spi_need_pp = 0;
3101
   09EF 90 3A 1B           3101         mov     dptr,#_spi_need_pp
3102
   09F2 E4                 3102         clr     a
3103
   09F3 F0                 3103         movx    @dptr,a
3104
                           3104 ;       ../../include/ztex-flash2.h:442: if ( spi_wait() ) {
3105
   09F4 12 08 F5           3105         lcall   _spi_wait
3106
   09F7 E5 82              3106         mov     a,dpl
3107
   09F9 60 07              3107         jz      00102$
3108
                           3108 ;       ../../include/ztex-flash2.h:443: return flash_ec;
3109
   09FB 90 3A 0E           3109         mov     dptr,#_flash_ec
3110
   09FE E0                 3110         movx    a,@dptr
3111
   09FF F5 82              3111         mov     dpl,a
3112
   0A01 22                 3112         ret
3113
   0A02                    3113 00102$:
3114
                           3114 ;       ../../include/ztex-flash2.h:359: spi_last_cmd = $0;
3115
   0A02 90 3A 13           3115         mov     dptr,#_spi_last_cmd
3116
   0A05 74 06              3116         mov     a,#0x06
3117
   0A07 F0                 3117         movx    @dptr,a
3118
                           3118 ;       ../../include/ztex-flash2.h:360: spi_select();                          // select
3119
   0A08 12 08 E2           3119         lcall   _spi_select
3120
                           3120 ;       ../../include/ztex-flash2.h:361: spi_write_byte($0);                            // CMD 90h
3121
   0A0B 75 82 06           3121         mov     dpl,#0x06
3122
   0A0E 12 08 67           3122         lcall   _spi_write_byte
3123
                           3123 ;       ../../include/ztex-flash2.h:446: spi_deselect();
3124
   0A11 12 08 ED           3124         lcall   _spi_deselect
3125
                           3125 ;       ../../include/ztex-flash2.h:359: spi_last_cmd = $0;
3126
   0A14 90 3A 13           3126         mov     dptr,#_spi_last_cmd
3127
   0A17 74 02              3127         mov     a,#0x02
3128
   0A19 F0                 3128         movx    @dptr,a
3129
                           3129 ;       ../../include/ztex-flash2.h:360: spi_select();                          // select
3130
   0A1A 12 08 E2           3130         lcall   _spi_select
3131
                           3131 ;       ../../include/ztex-flash2.h:361: spi_write_byte($0);                            // CMD 90h
3132
   0A1D 75 82 02           3132         mov     dpl,#0x02
3133
   0A20 12 08 67           3133         lcall   _spi_write_byte
3134
                           3134 ;       ../../include/ztex-flash2.h:363:
3135
   0A23 90 3A 18           3135         mov     dptr,#_spi_write_addr_hi
3136
   0A26 E0                 3136         movx    a,@dptr
3137
   0A27 A3                 3137         inc     dptr
3138
   0A28 E0                 3138         movx    a,@dptr
3139
   0A29 F5 82              3139         mov     dpl,a
3140
   0A2B 12 08 67           3140         lcall   _spi_write_byte
3141
                           3141 ;       ../../include/ztex-flash2.h:450: spi_write_byte(spi_write_addr_hi & 255);
3142
   0A2E 90 3A 18           3142         mov     dptr,#_spi_write_addr_hi
3143
   0A31 E0                 3143         movx    a,@dptr
3144
   0A32 FA                 3144         mov     r2,a
3145
   0A33 A3                 3145         inc     dptr
3146
   0A34 E0                 3146         movx    a,@dptr
3147
   0A35 8A 82              3147         mov     dpl,r2
3148
   0A37 12 08 67           3148         lcall   _spi_write_byte
3149
                           3149 ;       ../../include/ztex-flash2.h:451: spi_write_byte(0);
3150
   0A3A 75 82 00           3150         mov     dpl,#0x00
3151
   0A3D 12 08 67           3151         lcall   _spi_write_byte
3152
                           3152 ;       ../../include/ztex-flash2.h:452: return 0;
3153
   0A40 75 82 00           3153         mov     dpl,#0x00
3154
   0A43 22                 3154         ret
3155
                           3155 ;------------------------------------------------------------
3156
                           3156 ;Allocation info for local variables in function 'flash_write_byte'
3157
                           3157 ;------------------------------------------------------------
3158
                           3158 ;b                         Allocated to registers r2
3159
                           3159 ;------------------------------------------------------------
3160
                           3160 ;       ../../include/ztex-flash2.h:459: BYTE flash_write_byte (BYTE b) {
3161
                           3161 ;       -----------------------------------------
3162
                           3162 ;        function flash_write_byte
3163
                           3163 ;       -----------------------------------------
3164
   0A44                    3164 _flash_write_byte:
3165
   0A44 AA 82              3165         mov     r2,dpl
3166
                           3166 ;       ../../include/ztex-flash2.h:460: if ( spi_need_pp && spi_pp() ) return flash_ec;
3167
   0A46 90 3A 1B           3167         mov     dptr,#_spi_need_pp
3168
   0A49 E0                 3168         movx    a,@dptr
3169
   0A4A FB                 3169         mov     r3,a
3170
   0A4B 60 12              3170         jz      00102$
3171
   0A4D C0 02              3171         push    ar2
3172
   0A4F 12 09 EC           3172         lcall   _spi_pp
3173
   0A52 E5 82              3173         mov     a,dpl
3174
   0A54 D0 02              3174         pop     ar2
3175
   0A56 60 07              3175         jz      00102$
3176
   0A58 90 3A 0E           3176         mov     dptr,#_flash_ec
3177
   0A5B E0                 3177         movx    a,@dptr
3178
   0A5C F5 82              3178         mov     dpl,a
3179
   0A5E 22                 3179         ret
3180
   0A5F                    3180 00102$:
3181
                           3181 ;       ../../include/ztex-flash2.h:461: spi_write_byte(b);
3182
   0A5F 8A 82              3182         mov     dpl,r2
3183
   0A61 12 08 67           3183         lcall   _spi_write_byte
3184
                           3184 ;       ../../include/ztex-flash2.h:462: spi_write_addr_lo++;
3185
   0A64 90 3A 1A           3185         mov     dptr,#_spi_write_addr_lo
3186
   0A67 E0                 3186         movx    a,@dptr
3187
   0A68 90 3A 1A           3187         mov     dptr,#_spi_write_addr_lo
3188
   0A6B 04                 3188         inc     a
3189
   0A6C F0                 3189         movx    @dptr,a
3190
                           3190 ;       ../../include/ztex-flash2.h:463: if ( spi_write_addr_lo == 0 ) {
3191
   0A6D 90 3A 1A           3191         mov     dptr,#_spi_write_addr_lo
3192
   0A70 E0                 3192         movx    a,@dptr
3193
   0A71 FA                 3193         mov     r2,a
3194
   0A72 70 1C              3194         jnz     00105$
3195
                           3195 ;       ../../include/ztex-flash2.h:464: spi_write_addr_hi++;
3196
   0A74 90 3A 18           3196         mov     dptr,#_spi_write_addr_hi
3197
   0A77 E0                 3197         movx    a,@dptr
3198
   0A78 FA                 3198         mov     r2,a
3199
   0A79 A3                 3199         inc     dptr
3200
   0A7A E0                 3200         movx    a,@dptr
3201
   0A7B FB                 3201         mov     r3,a
3202
   0A7C 90 3A 18           3202         mov     dptr,#_spi_write_addr_hi
3203
   0A7F 74 01              3203         mov     a,#0x01
3204
   0A81 2A                 3204         add     a,r2
3205
   0A82 F0                 3205         movx    @dptr,a
3206
   0A83 E4                 3206         clr     a
3207
   0A84 3B                 3207         addc    a,r3
3208
   0A85 A3                 3208         inc     dptr
3209
   0A86 F0                 3209         movx    @dptr,a
3210
                           3210 ;       ../../include/ztex-flash2.h:465: spi_deselect();                                // finish write cmd
3211
   0A87 12 08 ED           3211         lcall   _spi_deselect
3212
                           3212 ;       ../../include/ztex-flash2.h:466: spi_need_pp = 1;
3213
   0A8A 90 3A 1B           3213         mov     dptr,#_spi_need_pp
3214
   0A8D 74 01              3214         mov     a,#0x01
3215
   0A8F F0                 3215         movx    @dptr,a
3216
   0A90                    3216 00105$:
3217
                           3217 ;       ../../include/ztex-flash2.h:468: return 0;
3218
   0A90 75 82 00           3218         mov     dpl,#0x00
3219
   0A93 22                 3219         ret
3220
                           3220 ;------------------------------------------------------------
3221
                           3221 ;Allocation info for local variables in function 'flash_write'
3222
                           3222 ;------------------------------------------------------------
3223
                           3223 ;len                       Allocated with name '_flash_write_PARM_2'
3224
                           3224 ;buf                       Allocated to registers r2 r3
3225
                           3225 ;b                         Allocated to registers r4
3226
                           3226 ;------------------------------------------------------------
3227
                           3227 ;       ../../include/ztex-flash2.h:476: BYTE flash_write(__xdata BYTE *buf, BYTE len) {
3228
                           3228 ;       -----------------------------------------
3229
                           3229 ;        function flash_write
3230
                           3230 ;       -----------------------------------------
3231
   0A94                    3231 _flash_write:
3232
   0A94 AA 82              3232         mov     r2,dpl
3233
   0A96 AB 83              3233         mov     r3,dph
3234
                           3234 ;       ../../include/ztex-flash2.h:478: if ( spi_need_pp && spi_pp() ) return flash_ec;
3235
   0A98 90 3A 1B           3235         mov     dptr,#_spi_need_pp
3236
   0A9B E0                 3236         movx    a,@dptr
3237
   0A9C FC                 3237         mov     r4,a
3238
   0A9D 60 16              3238         jz      00102$
3239
   0A9F C0 02              3239         push    ar2
3240
   0AA1 C0 03              3240         push    ar3
3241
   0AA3 12 09 EC           3241         lcall   _spi_pp
3242
   0AA6 E5 82              3242         mov     a,dpl
3243
   0AA8 D0 03              3243         pop     ar3
3244
   0AAA D0 02              3244         pop     ar2
3245
   0AAC 60 07              3245         jz      00102$
3246
   0AAE 90 3A 0E           3246         mov     dptr,#_flash_ec
3247
   0AB1 E0                 3247         movx    a,@dptr
3248
   0AB2 F5 82              3248         mov     dpl,a
3249
   0AB4 22                 3249         ret
3250
   0AB5                    3250 00102$:
3251
                           3251 ;       ../../include/ztex-flash2.h:480: if ( spi_write_addr_lo == 0 ) {
3252
   0AB5 90 3A 1A           3252         mov     dptr,#_spi_write_addr_lo
3253
   0AB8 E0                 3253         movx    a,@dptr
3254
   0AB9 FC                 3254         mov     r4,a
3255
   0ABA 70 0C              3255         jnz     00110$
3256
                           3256 ;       ../../include/ztex-flash2.h:481: spi_write(buf,len);
3257
   0ABC 85 14 16           3257         mov     _spi_write_PARM_2,_flash_write_PARM_2
3258
   0ABF 8A 82              3258         mov     dpl,r2
3259
   0AC1 8B 83              3259         mov     dph,r3
3260
   0AC3 12 08 A3           3260         lcall   _spi_write
3261
   0AC6 80 67              3261         sjmp    00111$
3262
   0AC8                    3262 00110$:
3263
                           3263 ;       ../../include/ztex-flash2.h:484: b = (~spi_write_addr_lo) + 1;
3264
   0AC8 EC                 3264         mov     a,r4
3265
   0AC9 F4                 3265         cpl     a
3266
   0ACA FC                 3266         mov     r4,a
3267
   0ACB 0C                 3267         inc     r4
3268
                           3268 ;       ../../include/ztex-flash2.h:485: if ( len==0 || len>b ) {
3269
   0ACC E5 14              3269         mov     a,_flash_write_PARM_2
3270
   0ACE 60 06              3270         jz      00106$
3271
   0AD0 C3                 3271         clr     c
3272
   0AD1 EC                 3272         mov     a,r4
3273
   0AD2 95 14              3273         subb    a,_flash_write_PARM_2
3274
   0AD4 50 4F              3274         jnc     00107$
3275
   0AD6                    3275 00106$:
3276
                           3276 ;       ../../include/ztex-flash2.h:486: spi_write(buf,b);
3277
   0AD6 8C 16              3277         mov     _spi_write_PARM_2,r4
3278
   0AD8 8A 82              3278         mov     dpl,r2
3279
   0ADA 8B 83              3279         mov     dph,r3
3280
   0ADC C0 02              3280         push    ar2
3281
   0ADE C0 03              3281         push    ar3
3282
   0AE0 C0 04              3282         push    ar4
3283
   0AE2 12 08 A3           3283         lcall   _spi_write
3284
   0AE5 D0 04              3284         pop     ar4
3285
   0AE7 D0 03              3285         pop     ar3
3286
   0AE9 D0 02              3286         pop     ar2
3287
                           3287 ;       ../../include/ztex-flash2.h:487: len-=b;
3288
   0AEB E5 14              3288         mov     a,_flash_write_PARM_2
3289
   0AED C3                 3289         clr     c
3290
   0AEE 9C                 3290         subb    a,r4
3291
   0AEF F5 14              3291         mov     _flash_write_PARM_2,a
3292
                           3292 ;       ../../include/ztex-flash2.h:488: spi_write_addr_hi++;
3293
   0AF1 90 3A 18           3293         mov     dptr,#_spi_write_addr_hi
3294
   0AF4 E0                 3294         movx    a,@dptr
3295
   0AF5 FD                 3295         mov     r5,a
3296
   0AF6 A3                 3296         inc     dptr
3297
   0AF7 E0                 3297         movx    a,@dptr
3298
   0AF8 FE                 3298         mov     r6,a
3299
   0AF9 90 3A 18           3299         mov     dptr,#_spi_write_addr_hi
3300
   0AFC 74 01              3300         mov     a,#0x01
3301
   0AFE 2D                 3301         add     a,r5
3302
   0AFF F0                 3302         movx    @dptr,a
3303
   0B00 E4                 3303         clr     a
3304
   0B01 3E                 3304         addc    a,r6
3305
   0B02 A3                 3305         inc     dptr
3306
   0B03 F0                 3306         movx    @dptr,a
3307
                           3307 ;       ../../include/ztex-flash2.h:489: spi_write_addr_lo=0;
3308
   0B04 90 3A 1A           3308         mov     dptr,#_spi_write_addr_lo
3309
   0B07 E4                 3309         clr     a
3310
   0B08 F0                 3310         movx    @dptr,a
3311
                           3311 ;       ../../include/ztex-flash2.h:490: buf+=b;
3312
   0B09 EC                 3312         mov     a,r4
3313
   0B0A 2A                 3313         add     a,r2
3314
   0B0B FA                 3314         mov     r2,a
3315
   0B0C E4                 3315         clr     a
3316
   0B0D 3B                 3316         addc    a,r3
3317
   0B0E FB                 3317         mov     r3,a
3318
                           3318 ;       ../../include/ztex-flash2.h:491: if ( spi_pp() ) return flash_ec;
3319
   0B0F C0 02              3319         push    ar2
3320
   0B11 C0 03              3320         push    ar3
3321
   0B13 12 09 EC           3321         lcall   _spi_pp
3322
   0B16 E5 82              3322         mov     a,dpl
3323
   0B18 D0 03              3323         pop     ar3
3324
   0B1A D0 02              3324         pop     ar2
3325
   0B1C 60 07              3325         jz      00107$
3326
   0B1E 90 3A 0E           3326         mov     dptr,#_flash_ec
3327
   0B21 E0                 3327         movx    a,@dptr
3328
   0B22 F5 82              3328         mov     dpl,a
3329
   0B24 22                 3329         ret
3330
   0B25                    3330 00107$:
3331
                           3331 ;       ../../include/ztex-flash2.h:493: spi_write(buf,len);
3332
   0B25 85 14 16           3332         mov     _spi_write_PARM_2,_flash_write_PARM_2
3333
   0B28 8A 82              3333         mov     dpl,r2
3334
   0B2A 8B 83              3334         mov     dph,r3
3335
   0B2C 12 08 A3           3335         lcall   _spi_write
3336
   0B2F                    3336 00111$:
3337
                           3337 ;       ../../include/ztex-flash2.h:496: spi_write_addr_lo+=len;
3338
   0B2F 90 3A 1A           3338         mov     dptr,#_spi_write_addr_lo
3339
   0B32 E0                 3339         movx    a,@dptr
3340
   0B33 FA                 3340         mov     r2,a
3341
   0B34 E5 14              3341         mov     a,_flash_write_PARM_2
3342
   0B36 2A                 3342         add     a,r2
3343
   0B37 F0                 3343         movx    @dptr,a
3344
                           3344 ;       ../../include/ztex-flash2.h:498: if ( spi_write_addr_lo == 0 ) {
3345
   0B38 90 3A 1A           3345         mov     dptr,#_spi_write_addr_lo
3346
   0B3B E0                 3346         movx    a,@dptr
3347
   0B3C FA                 3347         mov     r2,a
3348
   0B3D 70 1C              3348         jnz     00113$
3349
                           3349 ;       ../../include/ztex-flash2.h:499: spi_write_addr_hi++;
3350
   0B3F 90 3A 18           3350         mov     dptr,#_spi_write_addr_hi
3351
   0B42 E0                 3351         movx    a,@dptr
3352
   0B43 FA                 3352         mov     r2,a
3353
   0B44 A3                 3353         inc     dptr
3354
   0B45 E0                 3354         movx    a,@dptr
3355
   0B46 FB                 3355         mov     r3,a
3356
   0B47 90 3A 18           3356         mov     dptr,#_spi_write_addr_hi
3357
   0B4A 74 01              3357         mov     a,#0x01
3358
   0B4C 2A                 3358         add     a,r2
3359
   0B4D F0                 3359         movx    @dptr,a
3360
   0B4E E4                 3360         clr     a
3361
   0B4F 3B                 3361         addc    a,r3
3362
   0B50 A3                 3362         inc     dptr
3363
   0B51 F0                 3363         movx    @dptr,a
3364
                           3364 ;       ../../include/ztex-flash2.h:500: spi_deselect();                                // finish write cmd
3365
   0B52 12 08 ED           3365         lcall   _spi_deselect
3366
                           3366 ;       ../../include/ztex-flash2.h:501: spi_need_pp = 1;
3367
   0B55 90 3A 1B           3367         mov     dptr,#_spi_need_pp
3368
   0B58 74 01              3368         mov     a,#0x01
3369
   0B5A F0                 3369         movx    @dptr,a
3370
   0B5B                    3370 00113$:
3371
                           3371 ;       ../../include/ztex-flash2.h:504: return 0;
3372
   0B5B 75 82 00           3372         mov     dpl,#0x00
3373
   0B5E 22                 3373         ret
3374
                           3374 ;------------------------------------------------------------
3375
                           3375 ;Allocation info for local variables in function 'flash_write_init'
3376
                           3376 ;------------------------------------------------------------
3377
                           3377 ;s                         Allocated to registers r2 r3
3378
                           3378 ;------------------------------------------------------------
3379
                           3379 ;       ../../include/ztex-flash2.h:516: BYTE flash_write_init(WORD s) {
3380
                           3380 ;       -----------------------------------------
3381
                           3381 ;        function flash_write_init
3382
                           3382 ;       -----------------------------------------
3383
   0B5F                    3383 _flash_write_init:
3384
   0B5F AA 82              3384         mov     r2,dpl
3385
   0B61 AB 83              3385         mov     r3,dph
3386
                           3386 ;       ../../include/ztex-flash2.h:517: if ( !SPI_CS ) {
3387
   0B63 20 83 0A           3387         jb      _IOA3,00102$
3388
                           3388 ;       ../../include/ztex-flash2.h:518: flash_ec = FLASH_EC_PENDING;
3389
   0B66 90 3A 0E           3389         mov     dptr,#_flash_ec
3390
   0B69 74 04              3390         mov     a,#0x04
3391
   0B6B F0                 3391         movx    @dptr,a
3392
                           3392 ;       ../../include/ztex-flash2.h:519: return FLASH_EC_PENDING;               // we interrupted a pending Flash operation
3393
   0B6C 75 82 04           3393         mov     dpl,#0x04
3394
   0B6F 22                 3394         ret
3395
   0B70                    3395 00102$:
3396
                           3396 ;       ../../include/ztex-flash2.h:521: OESPI_OPORT &= ~bmBITSPI_BIT_DO;
3397
   0B70 53 B4 FE           3397         anl     _OEC,#0xFE
3398
                           3398 ;       ../../include/ztex-flash2.h:522: OESPI_PORT |= bmBITSPI_BIT_CS | bmBITSPI_BIT_DI | bmBITSPI_BIT_CLK;
3399
   0B73 43 B2 0B           3399         orl     _OEA,#0x0B
3400
                           3400 ;       ../../include/ztex-flash2.h:523: if ( spi_wait() ) {
3401
   0B76 C0 02              3401         push    ar2
3402
   0B78 C0 03              3402         push    ar3
3403
   0B7A 12 08 F5           3403         lcall   _spi_wait
3404
   0B7D E5 82              3404         mov     a,dpl
3405
   0B7F D0 03              3405         pop     ar3
3406
   0B81 D0 02              3406         pop     ar2
3407
   0B83 60 07              3407         jz      00104$
3408
                           3408 ;       ../../include/ztex-flash2.h:524: return flash_ec;
3409
   0B85 90 3A 0E           3409         mov     dptr,#_flash_ec
3410
   0B88 E0                 3410         movx    a,@dptr
3411
   0B89 F5 82              3411         mov     dpl,a
3412
   0B8B 22                 3412         ret
3413
   0B8C                    3413 00104$:
3414
                           3414 ;       ../../include/ztex-flash2.h:526: spi_write_sector = s;
3415
   0B8C 90 3A 1C           3415         mov     dptr,#_spi_write_sector
3416
   0B8F EA                 3416         mov     a,r2
3417
   0B90 F0                 3417         movx    @dptr,a
3418
   0B91 A3                 3418         inc     dptr
3419
   0B92 EB                 3419         mov     a,r3
3420
   0B93 F0                 3420         movx    @dptr,a
3421
                           3421 ;       ../../include/ztex-flash2.h:527: s = s << ((BYTE)flash_sector_size - 8);
3422
   0B94 90 3A 08           3422         mov     dptr,#_flash_sector_size
3423
   0B97 E0                 3423         movx    a,@dptr
3424
   0B98 FC                 3424         mov     r4,a
3425
   0B99 A3                 3425         inc     dptr
3426
   0B9A E0                 3426         movx    a,@dptr
3427
   0B9B 7D 00              3427         mov     r5,#0x00
3428
   0B9D EC                 3428         mov     a,r4
3429
   0B9E 24 F8              3429         add     a,#0xf8
3430
   0BA0 FC                 3430         mov     r4,a
3431
   0BA1 ED                 3431         mov     a,r5
3432
   0BA2 34 FF              3432         addc    a,#0xff
3433
   0BA4 FD                 3433         mov     r5,a
3434
   0BA5 8C F0              3434         mov     b,r4
3435
   0BA7 05 F0              3435         inc     b
3436
   0BA9 80 06              3436         sjmp    00112$
3437
   0BAB                    3437 00111$:
3438
   0BAB EA                 3438         mov     a,r2
3439
   0BAC 2A                 3439         add     a,r2
3440
   0BAD FA                 3440         mov     r2,a
3441
   0BAE EB                 3441         mov     a,r3
3442
   0BAF 33                 3442         rlc     a
3443
   0BB0 FB                 3443         mov     r3,a
3444
   0BB1                    3444 00112$:
3445
   0BB1 D5 F0 F7           3445         djnz    b,00111$
3446
                           3446 ;       ../../include/ztex-flash2.h:528: spi_write_addr_hi = s;
3447
   0BB4 90 3A 18           3447         mov     dptr,#_spi_write_addr_hi
3448
   0BB7 EA                 3448         mov     a,r2
3449
   0BB8 F0                 3449         movx    @dptr,a
3450
   0BB9 A3                 3450         inc     dptr
3451
   0BBA EB                 3451         mov     a,r3
3452
   0BBB F0                 3452         movx    @dptr,a
3453
                           3453 ;       ../../include/ztex-flash2.h:529: spi_write_addr_lo = 0;
3454
   0BBC 90 3A 1A           3454         mov     dptr,#_spi_write_addr_lo
3455
   0BBF E4                 3455         clr     a
3456
   0BC0 F0                 3456         movx    @dptr,a
3457
                           3457 ;       ../../include/ztex-flash2.h:359: spi_last_cmd = $0;
3458
   0BC1 90 3A 13           3458         mov     dptr,#_spi_last_cmd
3459
   0BC4 74 06              3459         mov     a,#0x06
3460
   0BC6 F0                 3460         movx    @dptr,a
3461
                           3461 ;       ../../include/ztex-flash2.h:360: spi_select();                          // select
3462
   0BC7 C0 02              3462         push    ar2
3463
   0BC9 C0 03              3463         push    ar3
3464
   0BCB 12 08 E2           3464         lcall   _spi_select
3465
                           3465 ;       ../../include/ztex-flash2.h:361: spi_write_byte($0);                            // CMD 90h
3466
   0BCE 75 82 06           3466         mov     dpl,#0x06
3467
   0BD1 12 08 67           3467         lcall   _spi_write_byte
3468
                           3468 ;       ../../include/ztex-flash2.h:532: spi_deselect();
3469
   0BD4 12 08 ED           3469         lcall   _spi_deselect
3470
                           3470 ;       ../../include/ztex-flash2.h:359: spi_last_cmd = $0;
3471
   0BD7 90 3A 12           3471         mov     dptr,#_spi_erase_cmd
3472
   0BDA E0                 3472         movx    a,@dptr
3473
   0BDB 90 3A 13           3473         mov     dptr,#_spi_last_cmd
3474
   0BDE F0                 3474         movx    @dptr,a
3475
                           3475 ;       ../../include/ztex-flash2.h:360: spi_select();                          // select
3476
   0BDF 12 08 E2           3476         lcall   _spi_select
3477
                           3477 ;       ../../include/ztex-flash2.h:361: spi_write_byte($0);                            // CMD 90h
3478
   0BE2 90 3A 12           3478         mov     dptr,#_spi_erase_cmd
3479
   0BE5 E0                 3479         movx    a,@dptr
3480
   0BE6 F5 82              3480         mov     dpl,a
3481
   0BE8 12 08 67           3481         lcall   _spi_write_byte
3482
   0BEB D0 03              3482         pop     ar3
3483
                           3483 ;       ../../include/ztex-flash2.h:363:
3484
   0BED 8B 82              3484         mov     dpl,r3
3485
   0BEF C0 03              3485         push    ar3
3486
   0BF1 12 08 67           3486         lcall   _spi_write_byte
3487
   0BF4 D0 03              3487         pop     ar3
3488
   0BF6 D0 02              3488         pop     ar2
3489
                           3489 ;       ../../include/ztex-flash2.h:536: spi_write_byte(s & 255);
3490
   0BF8 8A 82              3490         mov     dpl,r2
3491
   0BFA 12 08 67           3491         lcall   _spi_write_byte
3492
                           3492 ;       ../../include/ztex-flash2.h:537: spi_write_byte(0);
3493
   0BFD 75 82 00           3493         mov     dpl,#0x00
3494
   0C00 12 08 67           3494         lcall   _spi_write_byte
3495
                           3495 ;       ../../include/ztex-flash2.h:538: spi_deselect();
3496
   0C03 12 08 ED           3496         lcall   _spi_deselect
3497
                           3497 ;       ../../include/ztex-flash2.h:540: spi_need_pp = 1;
3498
   0C06 90 3A 1B           3498         mov     dptr,#_spi_need_pp
3499
   0C09 74 01              3499         mov     a,#0x01
3500
   0C0B F0                 3500         movx    @dptr,a
3501
                           3501 ;       ../../include/ztex-flash2.h:541: return 0;
3502
   0C0C 75 82 00           3502         mov     dpl,#0x00
3503
   0C0F 22                 3503         ret
3504
                           3504 ;------------------------------------------------------------
3505
                           3505 ;Allocation info for local variables in function 'flash_write_finish_sector'
3506
                           3506 ;------------------------------------------------------------
3507
                           3507 ;n                         Allocated to registers
3508
                           3508 ;------------------------------------------------------------
3509
                           3509 ;       ../../include/ztex-flash2.h:551: BYTE flash_write_finish_sector (WORD n) {
3510
                           3510 ;       -----------------------------------------
3511
                           3511 ;        function flash_write_finish_sector
3512
                           3512 ;       -----------------------------------------
3513
   0C10                    3513 _flash_write_finish_sector:
3514
                           3514 ;       ../../include/ztex-flash2.h:553: spi_deselect();
3515
   0C10 12 08 ED           3515         lcall   _spi_deselect
3516
                           3516 ;       ../../include/ztex-flash2.h:554: return 0;
3517
   0C13 75 82 00           3517         mov     dpl,#0x00
3518
   0C16 22                 3518         ret
3519
                           3519 ;------------------------------------------------------------
3520
                           3520 ;Allocation info for local variables in function 'flash_write_finish'
3521
                           3521 ;------------------------------------------------------------
3522
                           3522 ;------------------------------------------------------------
3523
                           3523 ;       ../../include/ztex-flash2.h:564: void flash_write_finish () {
3524
                           3524 ;       -----------------------------------------
3525
                           3525 ;        function flash_write_finish
3526
                           3526 ;       -----------------------------------------
3527
   0C17                    3527 _flash_write_finish:
3528
                           3528 ;       ../../include/ztex-flash2.h:565: spi_deselect();
3529
   0C17 02 08 ED           3529         ljmp    _spi_deselect
3530
                           3530 ;------------------------------------------------------------
3531
                           3531 ;Allocation info for local variables in function 'flash_write_next'
3532
                           3532 ;------------------------------------------------------------
3533
                           3533 ;------------------------------------------------------------
3534
                           3534 ;       ../../include/ztex-flash2.h:575: BYTE flash_write_next () {
3535
                           3535 ;       -----------------------------------------
3536
                           3536 ;        function flash_write_next
3537
                           3537 ;       -----------------------------------------
3538
   0C1A                    3538 _flash_write_next:
3539
                           3539 ;       ../../include/ztex-flash2.h:576: spi_deselect();
3540
   0C1A 12 08 ED           3540         lcall   _spi_deselect
3541
                           3541 ;       ../../include/ztex-flash2.h:577: return flash_write_init(spi_write_sector+1);
3542
   0C1D 90 3A 1C           3542         mov     dptr,#_spi_write_sector
3543
   0C20 E0                 3543         movx    a,@dptr
3544
   0C21 FA                 3544         mov     r2,a
3545
   0C22 A3                 3545         inc     dptr
3546
   0C23 E0                 3546         movx    a,@dptr
3547
   0C24 FB                 3547         mov     r3,a
3548
   0C25 8A 82              3548         mov     dpl,r2
3549
   0C27 8B 83              3549         mov     dph,r3
3550
   0C29 A3                 3550         inc     dptr
3551
   0C2A 02 0B 5F           3551         ljmp    _flash_write_init
3552
                           3552 ;------------------------------------------------------------
3553
                           3553 ;Allocation info for local variables in function 'flash_init'
3554
                           3554 ;------------------------------------------------------------
3555
                           3555 ;i                         Allocated to registers r2
3556
                           3556 ;------------------------------------------------------------
3557
                           3557 ;       ../../include/ztex-flash2.h:585: void flash_init() {
3558
                           3558 ;       -----------------------------------------
3559
                           3559 ;        function flash_init
3560
                           3560 ;       -----------------------------------------
3561
   0C2D                    3561 _flash_init:
3562
                           3562 ;       ../../include/ztex-flash2.h:588: PORTCCFG = 0;
3563
   0C2D 90 E6 71           3563         mov     dptr,#_PORTCCFG
3564
   0C30 E4                 3564         clr     a
3565
   0C31 F0                 3565         movx    @dptr,a
3566
                           3566 ;       ../../include/ztex-flash2.h:590: flash_enabled = 1;
3567
   0C32 90 3A 07           3567         mov     dptr,#_flash_enabled
3568
   0C35 74 01              3568         mov     a,#0x01
3569
   0C37 F0                 3569         movx    @dptr,a
3570
                           3570 ;       ../../include/ztex-flash2.h:591: flash_ec = 0;
3571
   0C38 90 3A 0E           3571         mov     dptr,#_flash_ec
3572
   0C3B E4                 3572         clr     a
3573
   0C3C F0                 3573         movx    @dptr,a
3574
                           3574 ;       ../../include/ztex-flash2.h:592: flash_sector_size = 0x8010;  // 64 KByte
3575
   0C3D 90 3A 08           3575         mov     dptr,#_flash_sector_size
3576
   0C40 74 10              3576         mov     a,#0x10
3577
   0C42 F0                 3577         movx    @dptr,a
3578
   0C43 A3                 3578         inc     dptr
3579
   0C44 74 80              3579         mov     a,#0x80
3580
   0C46 F0                 3580         movx    @dptr,a
3581
                           3581 ;       ../../include/ztex-flash2.h:593: spi_erase_cmd = 0xd8;
3582
   0C47 90 3A 12           3582         mov     dptr,#_spi_erase_cmd
3583
   0C4A 74 D8              3583         mov     a,#0xD8
3584
   0C4C F0                 3584         movx    @dptr,a
3585
                           3585 ;       ../../include/ztex-flash2.h:595: OESPI_OPORT &= ~bmBITSPI_BIT_DO;
3586
   0C4D 53 B4 FE           3586         anl     _OEC,#0xFE
3587
                           3587 ;       ../../include/ztex-flash2.h:596: OESPI_PORT |= bmBITSPI_BIT_CS | bmBITSPI_BIT_DI | bmBITSPI_BIT_CLK;
3588
   0C50 43 B2 0B           3588         orl     _OEA,#0x0B
3589
                           3589 ;       ../../include/ztex-flash2.h:597: SPI_CS = 1;
3590
   0C53 D2 83              3590         setb    _IOA3
3591
                           3591 ;       ../../include/ztex-flash2.h:598: spi_clocks(0);                         // 256 clocks
3592
   0C55 75 82 00           3592         mov     dpl,#0x00
3593
   0C58 12 07 DD           3593         lcall   _spi_clocks
3594
                           3594 ;       ../../include/ztex-flash2.h:359: spi_last_cmd = $0;
3595
   0C5B 90 3A 13           3595         mov     dptr,#_spi_last_cmd
3596
   0C5E 74 90              3596         mov     a,#0x90
3597
   0C60 F0                 3597         movx    @dptr,a
3598
                           3598 ;       ../../include/ztex-flash2.h:360: spi_select();                          // select
3599
   0C61 12 08 E2           3599         lcall   _spi_select
3600
                           3600 ;       ../../include/ztex-flash2.h:361: spi_write_byte($0);                            // CMD 90h
3601
   0C64 75 82 90           3601         mov     dpl,#0x90
3602
   0C67 12 08 67           3602         lcall   _spi_write_byte
3603
                           3603 ;       ../../include/ztex-flash2.h:363:
3604
   0C6A 75 82 18           3604         mov     dpl,#0x18
3605
   0C6D 12 07 DD           3605         lcall   _spi_clocks
3606
                           3606 ;       ../../include/ztex-flash2.h:602: spi_device = flash_read_byte();
3607
   0C70 12 07 E9           3607         lcall   _flash_read_byte
3608
   0C73 E5 82              3608         mov     a,dpl
3609
   0C75 90 3A 10           3609         mov     dptr,#_spi_device
3610
   0C78 F0                 3610         movx    @dptr,a
3611
                           3611 ;       ../../include/ztex-flash2.h:603: spi_deselect();                                // deselect
3612
   0C79 12 08 ED           3612         lcall   _spi_deselect
3613
                           3613 ;       ../../include/ztex-flash2.h:359: spi_last_cmd = $0;
3614
   0C7C 90 3A 13           3614         mov     dptr,#_spi_last_cmd
3615
   0C7F 74 9F              3615         mov     a,#0x9F
3616
   0C81 F0                 3616         movx    @dptr,a
3617
                           3617 ;       ../../include/ztex-flash2.h:360: spi_select();                          // select
3618
   0C82 12 08 E2           3618         lcall   _spi_select
3619
                           3619 ;       ../../include/ztex-flash2.h:361: spi_write_byte($0);                            // CMD 90h
3620
   0C85 75 82 9F           3620         mov     dpl,#0x9F
3621
   0C88 12 08 67           3621         lcall   _spi_write_byte
3622
                           3622 ;       ../../include/ztex-flash2.h:363:
3623
   0C8B 75 16 03           3623         mov     _flash_read_PARM_2,#0x03
3624
   0C8E 90 3A 14           3624         mov     dptr,#_spi_buffer
3625
   0C91 12 08 28           3625         lcall   _flash_read
3626
                           3626 ;       ../../include/ztex-flash2.h:364: /* *********************************************************************
3627
   0C94 12 08 ED           3627         lcall   _spi_deselect
3628
                           3628 ;       ../../include/ztex-flash2.h:608: if ( spi_buffer[2]<16 || spi_buffer[2]>24 ) {
3629
   0C97 90 3A 16           3629         mov     dptr,#(_spi_buffer + 0x0002)
3630
   0C9A E0                 3630         movx    a,@dptr
3631
   0C9B FA                 3631         mov     r2,a
3632
   0C9C BA 10 00           3632         cjne    r2,#0x10,00109$
3633
   0C9F                    3633 00109$:
3634
   0C9F 40 3D              3634         jc      00104$
3635
   0CA1 EA                 3635         mov     a,r2
3636
   0CA2 24 E7              3636         add     a,#0xff - 0x18
3637
   0CA4 40 38              3637         jc      00104$
3638
                           3638 ;       ../../include/ztex-flash2.h:611: spi_vendor = spi_buffer[0];
3639
   0CA6 90 3A 14           3639         mov     dptr,#_spi_buffer
3640
   0CA9 E0                 3640         movx    a,@dptr
3641
   0CAA 90 3A 0F           3641         mov     dptr,#_spi_vendor
3642
   0CAD F0                 3642         movx    @dptr,a
3643
                           3643 ;       ../../include/ztex-flash2.h:612: spi_memtype = spi_buffer[1];
3644
   0CAE 90 3A 15           3644         mov     dptr,#(_spi_buffer + 0x0001)
3645
   0CB1 E0                 3645         movx    a,@dptr
3646
   0CB2 90 3A 11           3646         mov     dptr,#_spi_memtype
3647
   0CB5 F0                 3647         movx    @dptr,a
3648
                           3648 ;       ../../include/ztex-flash2.h:628: i=spi_buffer[2]-16;
3649
   0CB6 EA                 3649         mov     a,r2
3650
   0CB7 24 F0              3650         add     a,#0xf0
3651
   0CB9 FA                 3651         mov     r2,a
3652
                           3652 ;       ../../include/ztex-flash2.h:630: flash_sectors = 1 << i;
3653
   0CBA 8A F0              3653         mov     b,r2
3654
   0CBC 05 F0              3654         inc     b
3655
   0CBE 7A 01              3655         mov     r2,#0x01
3656
   0CC0 7B 00              3656         mov     r3,#0x00
3657
   0CC2 80 06              3657         sjmp    00113$
3658
   0CC4                    3658 00112$:
3659
   0CC4 EA                 3659         mov     a,r2
3660
   0CC5 2A                 3660         add     a,r2
3661
   0CC6 FA                 3661         mov     r2,a
3662
   0CC7 EB                 3662         mov     a,r3
3663
   0CC8 33                 3663         rlc     a
3664
   0CC9 FB                 3664         mov     r3,a
3665
   0CCA                    3665 00113$:
3666
   0CCA D5 F0 F7           3666         djnz    b,00112$
3667
   0CCD 90 3A 0A           3667         mov     dptr,#_flash_sectors
3668
   0CD0 EA                 3668         mov     a,r2
3669
   0CD1 F0                 3669         movx    @dptr,a
3670
   0CD2 A3                 3670         inc     dptr
3671
   0CD3 EB                 3671         mov     a,r3
3672
   0CD4 F0                 3672         movx    @dptr,a
3673
   0CD5 EB                 3673         mov     a,r3
3674
   0CD6 33                 3674         rlc     a
3675
   0CD7 95 E0              3675         subb    a,acc
3676
   0CD9 A3                 3676         inc     dptr
3677
   0CDA F0                 3677         movx    @dptr,a
3678
   0CDB A3                 3678         inc     dptr
3679
   0CDC F0                 3679         movx    @dptr,a
3680
                           3680 ;       ../../include/ztex-flash2.h:632: return;
3681
                           3681 ;       ../../include/ztex-flash2.h:634: disable:
3682
   0CDD 22                 3682         ret
3683
   0CDE                    3683 00104$:
3684
                           3684 ;       ../../include/ztex-flash2.h:635: flash_enabled = 0;
3685
   0CDE 90 3A 07           3685         mov     dptr,#_flash_enabled
3686
   0CE1 E4                 3686         clr     a
3687
   0CE2 F0                 3687         movx    @dptr,a
3688
                           3688 ;       ../../include/ztex-flash2.h:636: flash_ec = FLASH_EC_NOTSUPPORTED;
3689
   0CE3 90 3A 0E           3689         mov     dptr,#_flash_ec
3690
   0CE6 74 07              3690         mov     a,#0x07
3691
   0CE8 F0                 3691         movx    @dptr,a
3692
                           3692 ;       ../../include/ztex-flash2.h:637: OESPI_PORT &= ~( bmBITSPI_BIT_CS | bmBITSPI_BIT_DI | bmBITSPI_BIT_CLK );
3693
   0CE9 53 B2 F4           3693         anl     _OEA,#0xF4
3694
   0CEC 22                 3694         ret
3695
                           3695 ;------------------------------------------------------------
3696
                           3696 ;Allocation info for local variables in function 'spi_read_ep0'
3697
                           3697 ;------------------------------------------------------------
3698
                           3698 ;------------------------------------------------------------
3699
                           3699 ;       ../../include/ztex-flash2.h:663: void spi_read_ep0 () {
3700
                           3700 ;       -----------------------------------------
3701
                           3701 ;        function spi_read_ep0
3702
                           3702 ;       -----------------------------------------
3703
   0CED                    3703 _spi_read_ep0:
3704
                           3704 ;       ../../include/ztex-flash2.h:664: flash_read(EP0BUF, ep0_payload_transfer);
3705
   0CED 90 3A 38           3705         mov     dptr,#_ep0_payload_transfer
3706
   0CF0 E0                 3706         movx    a,@dptr
3707
   0CF1 F5 16              3707         mov     _flash_read_PARM_2,a
3708
   0CF3 90 E7 40           3708         mov     dptr,#_EP0BUF
3709
   0CF6 12 08 28           3709         lcall   _flash_read
3710
                           3710 ;       ../../include/ztex-flash2.h:665: if ( ep0_read_mode==2 && ep0_payload_remaining==0 ) {
3711
   0CF9 90 3A 1E           3711         mov     dptr,#_ep0_read_mode
3712
   0CFC E0                 3712         movx    a,@dptr
3713
   0CFD FA                 3713         mov     r2,a
3714
   0CFE BA 02 0E           3714         cjne    r2,#0x02,00104$
3715
   0D01 90 3A 36           3715         mov     dptr,#_ep0_payload_remaining
3716
   0D04 E0                 3716         movx    a,@dptr
3717
   0D05 FA                 3717         mov     r2,a
3718
   0D06 A3                 3718         inc     dptr
3719
   0D07 E0                 3719         movx    a,@dptr
3720
   0D08 FB                 3720         mov     r3,a
3721
   0D09 4A                 3721         orl     a,r2
3722
   0D0A 70 03              3722         jnz     00104$
3723
                           3723 ;       ../../include/ztex-flash2.h:666: spi_deselect();
3724
   0D0C 02 08 ED           3724         ljmp    _spi_deselect
3725
   0D0F                    3725 00104$:
3726
   0D0F 22                 3726         ret
3727
                           3727 ;------------------------------------------------------------
3728
                           3728 ;Allocation info for local variables in function 'spi_send_ep0'
3729
                           3729 ;------------------------------------------------------------
3730
                           3730 ;------------------------------------------------------------
3731
                           3731 ;       ../../include/ztex-flash2.h:690: void spi_send_ep0 () {
3732
                           3732 ;       -----------------------------------------
3733
                           3733 ;        function spi_send_ep0
3734
                           3734 ;       -----------------------------------------
3735
   0D10                    3735 _spi_send_ep0:
3736
                           3736 ;       ../../include/ztex-flash2.h:691: flash_write(EP0BUF, ep0_payload_transfer);
3737
   0D10 90 3A 38           3737         mov     dptr,#_ep0_payload_transfer
3738
   0D13 E0                 3738         movx    a,@dptr
3739
   0D14 F5 14              3739         mov     _flash_write_PARM_2,a
3740
   0D16 90 E7 40           3740         mov     dptr,#_EP0BUF
3741
   0D19 12 0A 94           3741         lcall   _flash_write
3742
                           3742 ;       ../../include/ztex-flash2.h:692: if ( ep0_write_mode==2 && ep0_payload_remaining==0 ) {
3743
   0D1C 90 3A 1F           3743         mov     dptr,#_ep0_write_mode
3744
   0D1F E0                 3744         movx    a,@dptr
3745
   0D20 FA                 3745         mov     r2,a
3746
   0D21 BA 02 0E           3746         cjne    r2,#0x02,00104$
3747
   0D24 90 3A 36           3747         mov     dptr,#_ep0_payload_remaining
3748
   0D27 E0                 3748         movx    a,@dptr
3749
   0D28 FA                 3749         mov     r2,a
3750
   0D29 A3                 3750         inc     dptr
3751
   0D2A E0                 3751         movx    a,@dptr
3752
   0D2B FB                 3752         mov     r3,a
3753
   0D2C 4A                 3753         orl     a,r2
3754
   0D2D 70 03              3754         jnz     00104$
3755
                           3755 ;       ../../include/ztex-flash2.h:693: spi_deselect();
3756
   0D2F 02 08 ED           3756         ljmp    _spi_deselect
3757
   0D32                    3757 00104$:
3758
   0D32 22                 3758         ret
3759
                           3759 ;------------------------------------------------------------
3760
                           3760 ;Allocation info for local variables in function 'reset_fpga'
3761
                           3761 ;------------------------------------------------------------
3762
                           3762 ;------------------------------------------------------------
3763
                           3763 ;       ../../include/ztex-fpga7.h:39: static void reset_fpga () {
3764
                           3764 ;       -----------------------------------------
3765
                           3765 ;        function reset_fpga
3766
                           3766 ;       -----------------------------------------
3767
   0D33                    3767 _reset_fpga:
3768
                           3768 ;       ../../include/ztex-fpga7.h:40: OEE = (OEE & ~bmBIT6) | bmBIT7;
3769
   0D33 AA B6              3769         mov     r2,_OEE
3770
   0D35 74 BF              3770         mov     a,#0xBF
3771
   0D37 5A                 3771         anl     a,r2
3772
   0D38 F5 F0              3772         mov     b,a
3773
   0D3A 74 80              3773         mov     a,#0x80
3774
   0D3C 45 F0              3774         orl     a,b
3775
   0D3E F5 B6              3775         mov     _OEE,a
3776
                           3776 ;       ../../include/ztex-fpga7.h:41: IOE = IOE & ~bmBIT7;
3777
   0D40 53 B1 7F           3777         anl     _IOE,#0x7F
3778
                           3778 ;       ../../include/ztex-fpga7.h:42: wait(1);
3779
   0D43 90 00 01           3779         mov     dptr,#0x0001
3780
   0D46 12 02 65           3780         lcall   _wait
3781
                           3781 ;       ../../include/ztex-fpga7.h:43: IOE = IOE | bmBIT7;
3782
   0D49 43 B1 80           3782         orl     _IOE,#0x80
3783
                           3783 ;       ../../include/ztex-fpga7.h:44: fpga_conf_initialized = 0;
3784
   0D4C 90 3A 27           3784         mov     dptr,#_fpga_conf_initialized
3785
   0D4F E4                 3785         clr     a
3786
   0D50 F0                 3786         movx    @dptr,a
3787
   0D51 22                 3787         ret
3788
                           3788 ;------------------------------------------------------------
3789
                           3789 ;Allocation info for local variables in function 'init_fpga'
3790
                           3790 ;------------------------------------------------------------
3791
                           3791 ;------------------------------------------------------------
3792
                           3792 ;       ../../include/ztex-fpga7.h:50: static void init_fpga () {
3793
                           3793 ;       -----------------------------------------
3794
                           3794 ;        function init_fpga
3795
                           3795 ;       -----------------------------------------
3796
   0D52                    3796 _init_fpga:
3797
                           3797 ;       ../../include/ztex-fpga7.h:51: IOE = IOE | bmBIT7;
3798
   0D52 43 B1 80           3798         orl     _IOE,#0x80
3799
                           3799 ;       ../../include/ztex-fpga7.h:52: OEE = (OEE & ~bmBIT6) | bmBIT7;
3800
   0D55 AA B6              3800         mov     r2,_OEE
3801
   0D57 74 BF              3801         mov     a,#0xBF
3802
   0D59 5A                 3802         anl     a,r2
3803
   0D5A F5 F0              3803         mov     b,a
3804
   0D5C 74 80              3804         mov     a,#0x80
3805
   0D5E 45 F0              3805         orl     a,b
3806
   0D60 F5 B6              3806         mov     _OEE,a
3807
                           3807 ;       ../../include/ztex-fpga7.h:53: if ( ! (IOE & bmBIT6) ) {
3808
   0D62 E5 B1              3808         mov     a,_IOE
3809
   0D64 20 E6 24           3809         jb      acc.6,00102$
3810
                           3810 ;       ../../include/ztex-fpga7.h:55: IOE = IOE & ~bmBIT7;                      // PROG_B = 0
3811
   0D67 53 B1 7F           3811         anl     _IOE,#0x7F
3812
                           3812 ;       ../../include/ztex-fpga7.h:56: OEA = (OEA & bmBIT2 ) | bmBIT4 | bmBIT5 | bmBIT6;
3813
   0D6A 74 04              3813         mov     a,#0x04
3814
   0D6C 55 B2              3814         anl     a,_OEA
3815
   0D6E F5 F0              3815         mov     b,a
3816
   0D70 74 70              3816         mov     a,#0x70
3817
   0D72 45 F0              3817         orl     a,b
3818
   0D74 F5 B2              3818         mov     _OEA,a
3819
                           3819 ;       ../../include/ztex-fpga7.h:57: IOA = (IOA & bmBIT2 ) | bmBIT5;
3820
   0D76 74 04              3820         mov     a,#0x04
3821
   0D78 55 80              3821         anl     a,_IOA
3822
   0D7A F5 F0              3822         mov     b,a
3823
   0D7C 74 20              3823         mov     a,#0x20
3824
   0D7E 45 F0              3824         orl     a,b
3825
   0D80 F5 80              3825         mov     _IOA,a
3826
                           3826 ;       ../../include/ztex-fpga7.h:58: wait(1);
3827
   0D82 90 00 01           3827         mov     dptr,#0x0001
3828
   0D85 12 02 65           3828         lcall   _wait
3829
                           3829 ;       ../../include/ztex-fpga7.h:59: IOE = IOE | bmBIT7;                      // PROG_B = 1
3830
   0D88 43 B1 80           3830         orl     _IOE,#0x80
3831
   0D8B                    3831 00102$:
3832
                           3832 ;       ../../include/ztex-fpga7.h:62: fpga_conf_initialized = 0;
3833
   0D8B 90 3A 27           3833         mov     dptr,#_fpga_conf_initialized
3834
   0D8E E4                 3834         clr     a
3835
   0D8F F0                 3835         movx    @dptr,a
3836
   0D90 22                 3836         ret
3837
                           3837 ;------------------------------------------------------------
3838
                           3838 ;Allocation info for local variables in function 'init_fpga_configuration'
3839
                           3839 ;------------------------------------------------------------
3840
                           3840 ;k                         Allocated to registers r2 r3
3841
                           3841 ;------------------------------------------------------------
3842
                           3842 ;       ../../include/ztex-fpga7.h:68: static void init_fpga_configuration () {
3843
                           3843 ;       -----------------------------------------
3844
                           3844 ;        function init_fpga_configuration
3845
                           3845 ;       -----------------------------------------
3846
   0D91                    3846 _init_fpga_configuration:
3847
                           3847 ;       ../../include/ztex-fpga7.h:75: IFCONFIG = bmBIT7;
3848
   0D91 90 E6 01           3848         mov     dptr,#_IFCONFIG
3849
   0D94 74 80              3849         mov     a,#0x80
3850
   0D96 F0                 3850         movx    @dptr,a
3851
                           3851 ;       ../../include/ezregs.h:46: __endasm;
3852
                           3852
3853
   0D97 00                 3853          nop
3854
   0D98 00                 3854          nop
3855
   0D99 00                 3855          nop
3856
   0D9A 00                 3856          nop
3857
                           3857
3858
                           3858 ;       ../../include/ztex-fpga7.h:77: PORTACFG = 0;
3859
   0D9B 90 E6 70           3859         mov     dptr,#_PORTACFG
3860
                           3860 ;       ../../include/ztex-fpga7.h:78: PORTCCFG = 0;
3861
   0D9E E4                 3861         clr     a
3862
   0D9F F0                 3862         movx    @dptr,a
3863
   0DA0 90 E6 71           3863         mov     dptr,#_PORTCCFG
3864
   0DA3 F0                 3864         movx    @dptr,a
3865
                           3865 ;       ../../include/ztex-fpga7.h:80: OOEA = OEA;
3866
   0DA4 90 3A 28           3866         mov     dptr,#_OOEA
3867
   0DA7 E5 B2              3867         mov     a,_OEA
3868
   0DA9 F0                 3868         movx    @dptr,a
3869
                           3869 ;       ../../include/ztex-fpga7.h:81: fpga_conf_initialized = 123;
3870
   0DAA 90 3A 27           3870         mov     dptr,#_fpga_conf_initialized
3871
   0DAD 74 7B              3871         mov     a,#0x7B
3872
   0DAF F0                 3872         movx    @dptr,a
3873
                           3873 ;       ../../include/ztex-fpga7.h:83: OEA &= bmBIT2;                    // only unsed PA bit
3874
   0DB0 53 B2 04           3874         anl     _OEA,#0x04
3875
                           3875 ;       ../../include/ztex-fpga7.h:85: OEE = (OEE & ~bmBIT6) | bmBIT7;
3876
   0DB3 AA B6              3876         mov     r2,_OEE
3877
   0DB5 74 BF              3877         mov     a,#0xBF
3878
   0DB7 5A                 3878         anl     a,r2
3879
   0DB8 F5 F0              3879         mov     b,a
3880
   0DBA 74 80              3880         mov     a,#0x80
3881
   0DBC 45 F0              3881         orl     a,b
3882
   0DBE F5 B6              3882         mov     _OEE,a
3883
                           3883 ;       ../../include/ztex-fpga7.h:86: IOE = IOE & ~bmBIT7;              // PROG_B = 0
3884
   0DC0 53 B1 7F           3884         anl     _IOE,#0x7F
3885
                           3885 ;       ../../include/ztex-fpga7.h:89: OEA |= bmBIT1 | bmBIT4 | bmBIT5 | bmBIT6;
3886
   0DC3 43 B2 72           3886         orl     _OEA,#0x72
3887
                           3887 ;       ../../include/ztex-fpga7.h:90: IOA = ( IOA & bmBIT2 ) | bmBIT1 | bmBIT5;
3888
   0DC6 74 04              3888         mov     a,#0x04
3889
   0DC8 55 80              3889         anl     a,_IOA
3890
   0DCA F5 F0              3890         mov     b,a
3891
   0DCC 74 22              3891         mov     a,#0x22
3892
   0DCE 45 F0              3892         orl     a,b
3893
   0DD0 F5 80              3893         mov     _IOA,a
3894
                           3894 ;       ../../include/ztex-fpga7.h:91: wait(5);
3895
   0DD2 90 00 05           3895         mov     dptr,#0x0005
3896
   0DD5 12 02 65           3896         lcall   _wait
3897
                           3897 ;       ../../include/ztex-fpga7.h:93: IOE = IOE | bmBIT7;                      // PROG_B = 1
3898
   0DD8 43 B1 80           3898         orl     _IOE,#0x80
3899
                           3899 ;       ../../include/ztex-fpga7.h:94: IOA1 = 0;                                // CS = 0
3900
   0DDB C2 81              3900         clr     _IOA1
3901
                           3901 ;       ../../include/ztex-fpga7.h:97: while (!IOA7 && k<65535)
3902
   0DDD 7A 00              3902         mov     r2,#0x00
3903
   0DDF 7B 00              3903         mov     r3,#0x00
3904
   0DE1                    3904 00102$:
3905
   0DE1 20 87 20           3905         jb      _IOA7,00104$
3906
   0DE4 8A 04              3906         mov     ar4,r2
3907
   0DE6 8B 05              3907         mov     ar5,r3
3908
   0DE8 7E 00              3908         mov     r6,#0x00
3909
   0DEA 7F 00              3909         mov     r7,#0x00
3910
   0DEC C3                 3910         clr     c
3911
   0DED EC                 3911         mov     a,r4
3912
   0DEE 94 FF              3912         subb    a,#0xFF
3913
   0DF0 ED                 3913         mov     a,r5
3914
   0DF1 94 FF              3914         subb    a,#0xFF
3915
   0DF3 EE                 3915         mov     a,r6
3916
   0DF4 94 00              3916         subb    a,#0x00
3917
   0DF6 EF                 3917         mov     a,r7
3918
   0DF7 64 80              3918         xrl     a,#0x80
3919
   0DF9 94 80              3919         subb    a,#0x80
3920
   0DFB 50 07              3920         jnc     00104$
3921
                           3921 ;       ../../include/ztex-fpga7.h:98: k++;
3922
   0DFD 0A                 3922         inc     r2
3923
   0DFE BA 00 E0           3923         cjne    r2,#0x00,00102$
3924
   0E01 0B                 3924         inc     r3
3925
   0E02 80 DD              3925         sjmp    00102$
3926
   0E04                    3926 00104$:
3927
                           3927 ;       ../../include/ztex-fpga7.h:101: OEA |= bmBIT0;                  // ready for configuration
3928
   0E04 43 B2 01           3928         orl     _OEA,#0x01
3929
                           3929 ;       ../../include/ztex-fpga7.h:103: fpga_init_b = IOA7 ? 200 : 100;
3930
   0E07 30 87 04           3930         jnb     _IOA7,00107$
3931
   0E0A 7A C8              3931         mov     r2,#0xC8
3932
   0E0C 80 02              3932         sjmp    00108$
3933
   0E0E                    3933 00107$:
3934
   0E0E 7A 64              3934         mov     r2,#0x64
3935
   0E10                    3935 00108$:
3936
   0E10 90 3A 25           3936         mov     dptr,#_fpga_init_b
3937
   0E13 EA                 3937         mov     a,r2
3938
   0E14 F0                 3938         movx    @dptr,a
3939
                           3939 ;       ../../include/ztex-fpga7.h:104: fpga_bytes = 0;
3940
   0E15 90 3A 21           3940         mov     dptr,#_fpga_bytes
3941
   0E18 E4                 3941         clr     a
3942
   0E19 F0                 3942         movx    @dptr,a
3943
   0E1A A3                 3943         inc     dptr
3944
   0E1B F0                 3944         movx    @dptr,a
3945
   0E1C A3                 3945         inc     dptr
3946
   0E1D F0                 3946         movx    @dptr,a
3947
   0E1E A3                 3947         inc     dptr
3948
   0E1F F0                 3948         movx    @dptr,a
3949
                           3949 ;       ../../include/ztex-fpga7.h:105: fpga_checksum = 0;
3950
   0E20 90 3A 20           3950         mov     dptr,#_fpga_checksum
3951
   0E23 E4                 3951         clr     a
3952
   0E24 F0                 3952         movx    @dptr,a
3953
   0E25 22                 3953         ret
3954
                           3954 ;------------------------------------------------------------
3955
                           3955 ;Allocation info for local variables in function 'post_fpga_config'
3956
                           3956 ;------------------------------------------------------------
3957
                           3957 ;------------------------------------------------------------
3958
                           3958 ;       ../../include/ztex-fpga7.h:111: static void post_fpga_config () {
3959
                           3959 ;       -----------------------------------------
3960
                           3960 ;        function post_fpga_config
3961
                           3961 ;       -----------------------------------------
3962
   0E26                    3962 _post_fpga_config:
3963
                           3963 ;       ../../include/ztex-fpga7.h:113: }
3964
   0E26 22                 3964         ret
3965
                           3965 ;------------------------------------------------------------
3966
                           3966 ;Allocation info for local variables in function 'finish_fpga_configuration'
3967
                           3967 ;------------------------------------------------------------
3968
                           3968 ;w                         Allocated to registers r2
3969
                           3969 ;------------------------------------------------------------
3970
                           3970 ;       ../../include/ztex-fpga7.h:118: static void finish_fpga_configuration () {
3971
                           3971 ;       -----------------------------------------
3972
                           3972 ;        function finish_fpga_configuration
3973
                           3973 ;       -----------------------------------------
3974
   0E27                    3974 _finish_fpga_configuration:
3975
                           3975 ;       ../../include/ztex-fpga7.h:120: fpga_init_b += IOA7 ? 22 : 11;
3976
   0E27 30 87 04           3976         jnb     _IOA7,00109$
3977
   0E2A 7A 16              3977         mov     r2,#0x16
3978
   0E2C 80 02              3978         sjmp    00110$
3979
   0E2E                    3979 00109$:
3980
   0E2E 7A 0B              3980         mov     r2,#0x0B
3981
   0E30                    3981 00110$:
3982
   0E30 90 3A 25           3982         mov     dptr,#_fpga_init_b
3983
   0E33 E0                 3983         movx    a,@dptr
3984
   0E34 FB                 3984         mov     r3,a
3985
   0E35 EA                 3985         mov     a,r2
3986
   0E36 2B                 3986         add     a,r3
3987
   0E37 F0                 3987         movx    @dptr,a
3988
                           3988 ;       ../../include/ztex-fpga7.h:122: for ( w=0; w<64; w++ ) {
3989
   0E38 7A 00              3989         mov     r2,#0x00
3990
   0E3A                    3990 00103$:
3991
   0E3A BA 40 00           3991         cjne    r2,#0x40,00117$
3992
   0E3D                    3992 00117$:
3993
   0E3D 50 07              3993         jnc     00106$
3994
                           3994 ;       ../../include/ztex-fpga7.h:123: IOA0 = 1; IOA0 = 0;
3995
   0E3F D2 80              3995         setb    _IOA0
3996
   0E41 C2 80              3996         clr     _IOA0
3997
                           3997 ;       ../../include/ztex-fpga7.h:122: for ( w=0; w<64; w++ ) {
3998
   0E43 0A                 3998         inc     r2
3999
   0E44 80 F4              3999         sjmp    00103$
4000
   0E46                    4000 00106$:
4001
                           4001 ;       ../../include/ztex-fpga7.h:125: IOA1 = 1;
4002
   0E46 D2 81              4002         setb    _IOA1
4003
                           4003 ;       ../../include/ztex-fpga7.h:126: IOA0 = 1; IOA0 = 0;
4004
   0E48 D2 80              4004         setb    _IOA0
4005
   0E4A C2 80              4005         clr     _IOA0
4006
                           4006 ;       ../../include/ztex-fpga7.h:127: IOA0 = 1; IOA0 = 0;
4007
   0E4C D2 80              4007         setb    _IOA0
4008
   0E4E C2 80              4008         clr     _IOA0
4009
                           4009 ;       ../../include/ztex-fpga7.h:128: IOA0 = 1; IOA0 = 0;
4010
   0E50 D2 80              4010         setb    _IOA0
4011
   0E52 C2 80              4011         clr     _IOA0
4012
                           4012 ;       ../../include/ztex-fpga7.h:129: IOA0 = 1; IOA0 = 0;
4013
   0E54 D2 80              4013         setb    _IOA0
4014
   0E56 C2 80              4014         clr     _IOA0
4015
                           4015 ;       ../../include/ztex-fpga7.h:131: OEA = OOEA;
4016
   0E58 90 3A 28           4016         mov     dptr,#_OOEA
4017
   0E5B E0                 4017         movx    a,@dptr
4018
   0E5C F5 B2              4018         mov     _OEA,a
4019
                           4019 ;       ../../include/ztex-fpga7.h:132: if ( IOE & bmBIT6 )  {
4020
   0E5E E5 B1              4020         mov     a,_IOE
4021
   0E60 30 E6 03           4021         jnb     acc.6,00107$
4022
                           4022 ;       ../../include/ztex-fpga7.h:133: post_fpga_config();
4023
   0E63 02 0E 26           4023         ljmp    _post_fpga_config
4024
   0E66                    4024 00107$:
4025
   0E66 22                 4025         ret
4026
                           4026 ;------------------------------------------------------------
4027
                           4027 ;Allocation info for local variables in function 'fpga_send_ep0'
4028
                           4028 ;------------------------------------------------------------
4029
                           4029 ;oOEC                      Allocated with name '_fpga_send_ep0_oOEC_1_1'
4030
                           4030 ;------------------------------------------------------------
4031
                           4031 ;       ../../include/ztex-fpga7.h:169: void fpga_send_ep0() {
4032
                           4032 ;       -----------------------------------------
4033
                           4033 ;        function fpga_send_ep0
4034
                           4034 ;       -----------------------------------------
4035
   0E67                    4035 _fpga_send_ep0:
4036
                           4036 ;       ../../include/ztex-fpga7.h:171: oOEC = OEC;
4037
   0E67 85 B4 15           4037         mov     _fpga_send_ep0_oOEC_1_1,_OEC
4038
                           4038 ;       ../../include/ztex-fpga7.h:172: OEC = 255;
4039
   0E6A 75 B4 FF           4039         mov     _OEC,#0xFF
4040
                           4040 ;       ../../include/ztex-fpga7.h:173: fpga_bytes += ep0_payload_transfer;
4041
   0E6D 90 3A 38           4041         mov     dptr,#_ep0_payload_transfer
4042
   0E70 E0                 4042         movx    a,@dptr
4043
   0E71 FB                 4043         mov     r3,a
4044
   0E72 90 3A 21           4044         mov     dptr,#_fpga_bytes
4045
   0E75 E0                 4045         movx    a,@dptr
4046
   0E76 FC                 4046         mov     r4,a
4047
   0E77 A3                 4047         inc     dptr
4048
   0E78 E0                 4048         movx    a,@dptr
4049
   0E79 FD                 4049         mov     r5,a
4050
   0E7A A3                 4050         inc     dptr
4051
   0E7B E0                 4051         movx    a,@dptr
4052
   0E7C FE                 4052         mov     r6,a
4053
   0E7D A3                 4053         inc     dptr
4054
   0E7E E0                 4054         movx    a,@dptr
4055
   0E7F FF                 4055         mov     r7,a
4056
   0E80 78 00              4056         mov     r0,#0x00
4057
   0E82 79 00              4057         mov     r1,#0x00
4058
   0E84 7A 00              4058         mov     r2,#0x00
4059
   0E86 90 3A 21           4059         mov     dptr,#_fpga_bytes
4060
   0E89 EB                 4060         mov     a,r3
4061
   0E8A 2C                 4061         add     a,r4
4062
   0E8B F0                 4062         movx    @dptr,a
4063
   0E8C E8                 4063         mov     a,r0
4064
   0E8D 3D                 4064         addc    a,r5
4065
   0E8E A3                 4065         inc     dptr
4066
   0E8F F0                 4066         movx    @dptr,a
4067
   0E90 E9                 4067         mov     a,r1
4068
   0E91 3E                 4068         addc    a,r6
4069
   0E92 A3                 4069         inc     dptr
4070
   0E93 F0                 4070         movx    @dptr,a
4071
   0E94 EA                 4071         mov     a,r2
4072
   0E95 3F                 4072         addc    a,r7
4073
   0E96 A3                 4073         inc     dptr
4074
   0E97 F0                 4074         movx    @dptr,a
4075
                           4075 ;       ../../include/ztex-fpga7.h:201: OEC = oOEC;
4076
                           4076
4077
   0E98 90 E6 8B           4077          mov dptr,#_EP0BCL
4078
   0E9B E0                 4078          movx a,@dptr
4079
   0E9C 60 22              4079          jz 010000$
4080
   0E9E FA                 4080            mov r2,a
4081
   0E9F 75 9B 40           4081          mov _AUTOPTRL1,#(_EP0BUF)
4082
   0EA2 75 9A E7           4082          mov _AUTOPTRH1,#(_EP0BUF >> 8)
4083
   0EA5 75 AF 07           4083          mov _AUTOPTRSETUP,#0x07
4084
   0EA8 90 3A 20           4084          mov dptr,#_fpga_checksum
4085
   0EAB E0                 4085          movx a,@dptr
4086
   0EAC F9                 4086          mov r1,a
4087
   0EAD 90 E6 7B           4087          mov dptr,#_XAUTODAT1
4088
   0EB0                    4088         010001$:
4089
   0EB0 E0                 4089          movx a,@dptr
4090
   0EB1 F5 A0              4090          mov _IOC,a
4091
   0EB3 D2 80              4091          setb _IOA0
4092
   0EB5 29                 4092          add a,r1
4093
   0EB6 F9                 4093          mov r1,a
4094
   0EB7 C2 80              4094          clr _IOA0
4095
   0EB9 DA F5              4095          djnz r2, 010001$
4096
                           4096 ;       # 194 "../../include/ztex-fpga7.h"
4097
                           4097
4098
   0EBB 90 3A 20           4098          mov dptr,#_fpga_checksum
4099
   0EBE E9                 4099          mov a,r1
4100
   0EBF F0                 4100          movx @dptr,a
4101
                           4101
4102
   0EC0                    4102         010000$:
4103
                           4103
4104
                           4104 ;       ../../include/ztex-fpga7.h:202: if ( EP0BCL<64 ) {
4105
   0EC0 85 15 B4           4105         mov     _OEC,_fpga_send_ep0_oOEC_1_1
4106
                           4106 ;       ../../include/ztex-fpga7.h:203: finish_fpga_configuration();
4107
   0EC3 90 E6 8B           4107         mov     dptr,#_EP0BCL
4108
   0EC6 E0                 4108         movx    a,@dptr
4109
   0EC7 FA                 4109         mov     r2,a
4110
   0EC8 BA 40 00           4110         cjne    r2,#0x40,00106$
4111
   0ECB                    4111 00106$:
4112
   0ECB 50 03              4112         jnc     00103$
4113
                           4113 ;       ../../include/ztex-fpga7.h:204: }
4114
   0ECD 02 0E 27           4114         ljmp    _finish_fpga_configuration
4115
   0ED0                    4115 00103$:
4116
   0ED0 22                 4116         ret
4117
                           4117 ;------------------------------------------------------------
4118
                           4118 ;Allocation info for local variables in function 'fpga_configure_from_flash'
4119
                           4119 ;------------------------------------------------------------
4120
                           4120 ;force                     Allocated to registers r2
4121
                           4121 ;i                         Allocated to registers r2 r3
4122
                           4122 ;------------------------------------------------------------
4123
                           4123 ;       ../../include/ztex-fpga7.h:227: BYTE fpga_configure_from_flash( BYTE force ) {
4124
                           4124 ;       -----------------------------------------
4125
                           4125 ;        function fpga_configure_from_flash
4126
                           4126 ;       -----------------------------------------
4127
   0ED1                    4127 _fpga_configure_from_flash:
4128
                           4128 ;       ../../include/ztex-fpga7.h:231: if ( ( force == 0 ) && ( IOE & bmBIT6 ) ) {
4129
   0ED1 E5 82              4129         mov     a,dpl
4130
   0ED3 FA                 4130         mov     r2,a
4131
   0ED4 70 0F              4131         jnz     00102$
4132
   0ED6 E5 B1              4132         mov     a,_IOE
4133
   0ED8 30 E6 0A           4133         jnb     acc.6,00102$
4134
                           4134 ;       ../../include/ztex-fpga7.h:232: fpga_flash_result = 1;
4135
   0EDB 90 3A 26           4135         mov     dptr,#_fpga_flash_result
4136
   0EDE 74 01              4136         mov     a,#0x01
4137
   0EE0 F0                 4137         movx    @dptr,a
4138
                           4138 ;       ../../include/ztex-fpga7.h:233: return 1;
4139
   0EE1 75 82 01           4139         mov     dpl,#0x01
4140
   0EE4 22                 4140         ret
4141
   0EE5                    4141 00102$:
4142
                           4142 ;       ../../include/ztex-fpga7.h:236: fpga_flash_result = 0;
4143
   0EE5 90 3A 26           4143         mov     dptr,#_fpga_flash_result
4144
   0EE8 E4                 4144         clr     a
4145
   0EE9 F0                 4145         movx    @dptr,a
4146
                           4146 ;       ../../include/ztex-fpga7.h:238: IFCONFIG = bmBIT7;
4147
   0EEA 90 E6 01           4147         mov     dptr,#_IFCONFIG
4148
   0EED 74 80              4148         mov     a,#0x80
4149
   0EEF F0                 4149         movx    @dptr,a
4150
                           4150 ;       ../../include/ezregs.h:46: __endasm;
4151
                           4151
4152
   0EF0 00                 4152          nop
4153
   0EF1 00                 4153          nop
4154
   0EF2 00                 4154          nop
4155
   0EF3 00                 4155          nop
4156
                           4156
4157
                           4157 ;       ../../include/ztex-fpga7.h:240: PORTACFG = 0;
4158
   0EF4 90 E6 70           4158         mov     dptr,#_PORTACFG
4159
                           4159 ;       ../../include/ztex-fpga7.h:241: PORTCCFG = 0;
4160
   0EF7 E4                 4160         clr     a
4161
   0EF8 F0                 4161         movx    @dptr,a
4162
   0EF9 90 E6 71           4162         mov     dptr,#_PORTCCFG
4163
   0EFC F0                 4163         movx    @dptr,a
4164
                           4164 ;       ../../include/ztex-fpga7.h:244: OEA &= bmBIT2;                   // only unsed PA bit
4165
   0EFD 53 B2 04           4165         anl     _OEA,#0x04
4166
                           4166 ;       ../../include/ztex-fpga7.h:247: OEC &= ~bmBIT0;
4167
   0F00 53 B4 FE           4167         anl     _OEC,#0xFE
4168
                           4168 ;       ../../include/ztex-fpga7.h:249: OEE = (OEE & ~bmBIT6) | bmBIT7;
4169
   0F03 AA B6              4169         mov     r2,_OEE
4170
   0F05 74 BF              4170         mov     a,#0xBF
4171
   0F07 5A                 4171         anl     a,r2
4172
   0F08 F5 F0              4172         mov     b,a
4173
   0F0A 74 80              4173         mov     a,#0x80
4174
   0F0C 45 F0              4174         orl     a,b
4175
   0F0E F5 B6              4175         mov     _OEE,a
4176
                           4176 ;       ../../include/ztex-fpga7.h:250: IOE = IOE & ~bmBIT7;             // PROG_B = 0
4177
   0F10 53 B1 7F           4177         anl     _IOE,#0x7F
4178
                           4178 ;       ../../include/ztex-fpga7.h:253: OEA |= bmBIT4 | bmBIT5;
4179
   0F13 43 B2 30           4179         orl     _OEA,#0x30
4180
                           4180 ;       ../../include/ztex-fpga7.h:254: IOA = ( IOA & bmBIT2 ) | bmBIT4;
4181
   0F16 74 04              4181         mov     a,#0x04
4182
   0F18 55 80              4182         anl     a,_IOA
4183
   0F1A F5 F0              4183         mov     b,a
4184
   0F1C 74 10              4184         mov     a,#0x10
4185
   0F1E 45 F0              4185         orl     a,b
4186
   0F20 F5 80              4186         mov     _IOA,a
4187
                           4187 ;       ../../include/ztex-fpga7.h:255: wait(1);
4188
   0F22 90 00 01           4188         mov     dptr,#0x0001
4189
   0F25 12 02 65           4189         lcall   _wait
4190
                           4190 ;       ../../include/ztex-fpga7.h:257: IOE = IOE | bmBIT7;                     // PROG_B = 1
4191
   0F28 43 B1 80           4191         orl     _IOE,#0x80
4192
                           4192 ;       ../../include/ztex-fpga7.h:260: wait(20);
4193
   0F2B 90 00 14           4193         mov     dptr,#0x0014
4194
   0F2E 12 02 65           4194         lcall   _wait
4195
                           4195 ;       ../../include/ztex-fpga7.h:261: for (i=0; IOA7 && (!IOA1) && i<4000; i++ ) {
4196
   0F31 7A 00              4196         mov     r2,#0x00
4197
   0F33 7B 00              4197         mov     r3,#0x00
4198
   0F35                    4198 00109$:
4199
   0F35 30 87 21           4199         jnb     _IOA7,00112$
4200
   0F38 20 81 1E           4200         jb      _IOA1,00112$
4201
   0F3B C3                 4201         clr     c
4202
   0F3C EA                 4202         mov     a,r2
4203
   0F3D 94 A0              4203         subb    a,#0xA0
4204
   0F3F EB                 4204         mov     a,r3
4205
   0F40 94 0F              4205         subb    a,#0x0F
4206
   0F42 50 15              4206         jnc     00112$
4207
                           4207 ;       ../../include/ztex-fpga7.h:262: wait(1);
4208
   0F44 90 00 01           4208         mov     dptr,#0x0001
4209
   0F47 C0 02              4209         push    ar2
4210
   0F49 C0 03              4210         push    ar3
4211
   0F4B 12 02 65           4211         lcall   _wait
4212
   0F4E D0 03              4212         pop     ar3
4213
   0F50 D0 02              4213         pop     ar2
4214
                           4214 ;       ../../include/ztex-fpga7.h:261: for (i=0; IOA7 && (!IOA1) && i<4000; i++ ) {
4215
   0F52 0A                 4215         inc     r2
4216
   0F53 BA 00 DF           4216         cjne    r2,#0x00,00109$
4217
   0F56 0B                 4217         inc     r3
4218
   0F57 80 DC              4218         sjmp    00109$
4219
   0F59                    4219 00112$:
4220
                           4220 ;       ../../include/ztex-fpga7.h:265: wait(1);
4221
   0F59 90 00 01           4221         mov     dptr,#0x0001
4222
   0F5C 12 02 65           4222         lcall   _wait
4223
                           4223 ;       ../../include/ztex-fpga7.h:267: if ( IOE & bmBIT6 )  {
4224
   0F5F E5 B1              4224         mov     a,_IOE
4225
   0F61 30 E6 05           4225         jnb     acc.6,00105$
4226
                           4226 ;       ../../include/ztex-fpga7.h:269: post_fpga_config();
4227
   0F64 12 0E 26           4227         lcall   _post_fpga_config
4228
   0F67 80 09              4228         sjmp    00106$
4229
   0F69                    4229 00105$:
4230
                           4230 ;       ../../include/ztex-fpga7.h:274: init_fpga();
4231
   0F69 12 0D 52           4231         lcall   _init_fpga
4232
                           4232 ;       ../../include/ztex-fpga7.h:275: fpga_flash_result = 4;
4233
   0F6C 90 3A 26           4233         mov     dptr,#_fpga_flash_result
4234
   0F6F 74 04              4234         mov     a,#0x04
4235
   0F71 F0                 4235         movx    @dptr,a
4236
   0F72                    4236 00106$:
4237
                           4237 ;       ../../include/ztex-fpga7.h:278: return fpga_flash_result;
4238
   0F72 90 3A 26           4238         mov     dptr,#_fpga_flash_result
4239
   0F75 E0                 4239         movx    a,@dptr
4240
   0F76 F5 82              4240         mov     dpl,a
4241
   0F78 22                 4241         ret
4242
                           4242 ;------------------------------------------------------------
4243
                           4243 ;Allocation info for local variables in function 'fpga_first_free_sector'
4244
                           4244 ;------------------------------------------------------------
4245
                           4245 ;i                         Allocated to registers r2
4246
                           4246 ;j                         Allocated to registers r3
4247
                           4247 ;buf                       Allocated with name '_fpga_first_free_sector_buf_1_1'
4248
                           4248 ;------------------------------------------------------------
4249
                           4249 ;       ../../include/ztex-fpga-flash2.h:31: WORD fpga_first_free_sector() {
4250
                           4250 ;       -----------------------------------------
4251
                           4251 ;        function fpga_first_free_sector
4252
                           4252 ;       -----------------------------------------
4253
   0F79                    4253 _fpga_first_free_sector:
4254
                           4254 ;       ../../include/ztex-fpga-flash2.h:36: if ( config_data_valid ) {
4255
   0F79 90 3A 06           4255         mov     dptr,#_config_data_valid
4256
   0F7C E0                 4256         movx    a,@dptr
4257
   0F7D FA                 4257         mov     r2,a
4258
   0F7E 60 56              4258         jz      00104$
4259
                           4259 ;       ../../include/ztex-fpga-flash2.h:37: mac_eeprom_read ( (__xdata BYTE*) buf, 26, 4 );            // read actual and max bitstream size
4260
   0F80 75 10 1A           4260         mov     _mac_eeprom_read_PARM_2,#0x1A
4261
   0F83 75 11 04           4261         mov     _mac_eeprom_read_PARM_3,#0x04
4262
   0F86 90 3A 29           4262         mov     dptr,#_fpga_first_free_sector_buf_1_1
4263
   0F89 12 05 D4           4263         lcall   _mac_eeprom_read
4264
                           4264 ;       ../../include/ztex-fpga-flash2.h:38: if ( buf[1] != 0 ) {
4265
   0F8C 90 3A 2B           4265         mov     dptr,#(_fpga_first_free_sector_buf_1_1 + 0x0002)
4266
   0F8F E0                 4266         movx    a,@dptr
4267
   0F90 FA                 4267         mov     r2,a
4268
   0F91 A3                 4268         inc     dptr
4269
   0F92 E0                 4269         movx    a,@dptr
4270
   0F93 FB                 4270         mov     r3,a
4271
   0F94 4A                 4271         orl     a,r2
4272
   0F95 60 3F              4272         jz      00104$
4273
                           4273 ;       ../../include/ztex-fpga-flash2.h:39: return ( ( ( buf[1] > buf[0] ? buf[1] : buf[0] ) - 1 ) >> ((flash_sector_size & 255) - 12) ) + 1;
4274
   0F97 90 3A 29           4274         mov     dptr,#_fpga_first_free_sector_buf_1_1
4275
   0F9A E0                 4275         movx    a,@dptr
4276
   0F9B FC                 4276         mov     r4,a
4277
   0F9C A3                 4277         inc     dptr
4278
   0F9D E0                 4278         movx    a,@dptr
4279
   0F9E FD                 4279         mov     r5,a
4280
   0F9F C3                 4280         clr     c
4281
   0FA0 EC                 4281         mov     a,r4
4282
   0FA1 9A                 4282         subb    a,r2
4283
   0FA2 ED                 4283         mov     a,r5
4284
   0FA3 9B                 4284         subb    a,r3
4285
   0FA4 40 04              4285         jc      00115$
4286
   0FA6 8C 02              4286         mov     ar2,r4
4287
   0FA8 8D 03              4287         mov     ar3,r5
4288
   0FAA                    4288 00115$:
4289
   0FAA 1A                 4289         dec     r2
4290
   0FAB BA FF 01           4290         cjne    r2,#0xff,00127$
4291
   0FAE 1B                 4291         dec     r3
4292
   0FAF                    4292 00127$:
4293
   0FAF 90 3A 08           4293         mov     dptr,#_flash_sector_size
4294
   0FB2 E0                 4294         movx    a,@dptr
4295
   0FB3 FC                 4295         mov     r4,a
4296
   0FB4 A3                 4296         inc     dptr
4297
   0FB5 E0                 4297         movx    a,@dptr
4298
   0FB6 7D 00              4298         mov     r5,#0x00
4299
   0FB8 EC                 4299         mov     a,r4
4300
   0FB9 24 F4              4300         add     a,#0xf4
4301
   0FBB FC                 4301         mov     r4,a
4302
   0FBC ED                 4302         mov     a,r5
4303
   0FBD 34 FF              4303         addc    a,#0xff
4304
   0FBF FD                 4304         mov     r5,a
4305
   0FC0 8C F0              4305         mov     b,r4
4306
   0FC2 05 F0              4306         inc     b
4307
   0FC4 80 07              4307         sjmp    00129$
4308
   0FC6                    4308 00128$:
4309
   0FC6 C3                 4309         clr     c
4310
   0FC7 EB                 4310         mov     a,r3
4311
   0FC8 13                 4311         rrc     a
4312
   0FC9 FB                 4312         mov     r3,a
4313
   0FCA EA                 4313         mov     a,r2
4314
   0FCB 13                 4314         rrc     a
4315
   0FCC FA                 4315         mov     r2,a
4316
   0FCD                    4316 00129$:
4317
   0FCD D5 F0 F6           4317         djnz    b,00128$
4318
   0FD0 8A 82              4318         mov     dpl,r2
4319
   0FD2 8B 83              4319         mov     dph,r3
4320
   0FD4 A3                 4320         inc     dptr
4321
   0FD5 22                 4321         ret
4322
   0FD6                    4322 00104$:
4323
                           4323 ;       ../../include/ztex-fpga-flash2.h:42: #endif
4324
   0FD6 90 00 00           4324         mov     dptr,#0x0000
4325
   0FD9 12 09 63           4325         lcall   _flash_read_init
4326
                           4326 ;       ../../include/ztex-fpga-flash2.h:44: for ( i=0; i<8 && flash_read_byte()==fpga_flash_boot_id[i]; i++ );
4327
   0FDC 7A 00              4327         mov     r2,#0x00
4328
   0FDE                    4328 00108$:
4329
   0FDE BA 08 00           4329         cjne    r2,#0x08,00130$
4330
   0FE1                    4330 00130$:
4331
   0FE1 50 16              4331         jnc     00111$
4332
   0FE3 C0 02              4332         push    ar2
4333
   0FE5 12 07 E9           4333         lcall   _flash_read_byte
4334
   0FE8 AB 82              4334         mov     r3,dpl
4335
   0FEA D0 02              4335         pop     ar2
4336
   0FEC EA                 4336         mov     a,r2
4337
   0FED 90 1E 55           4337         mov     dptr,#_fpga_flash_boot_id
4338
   0FF0 93                 4338         movc    a,@a+dptr
4339
   0FF1 FC                 4339         mov     r4,a
4340
   0FF2 EB                 4340         mov     a,r3
4341
   0FF3 B5 04 03           4341         cjne    a,ar4,00111$
4342
   0FF6 0A                 4342         inc     r2
4343
   0FF7 80 E5              4343         sjmp    00108$
4344
   0FF9                    4344 00111$:
4345
                           4345 ;       ../../include/ztex-fpga-flash2.h:45: if ( i != 8 ) {
4346
   0FF9 BA 08 02           4346         cjne    r2,#0x08,00134$
4347
   0FFC 80 1A              4347         sjmp    00106$
4348
   0FFE                    4348 00134$:
4349
                           4349 ;       ../../include/ztex-fpga-flash2.h:46: flash_read_finish(flash_sector_size - i);  // dummy-read the rest of the sector + finish read opration
4350
   0FFE 7B 00              4350         mov     r3,#0x00
4351
   1000 90 3A 08           4351         mov     dptr,#_flash_sector_size
4352
   1003 E0                 4352         movx    a,@dptr
4353
   1004 FC                 4353         mov     r4,a
4354
   1005 A3                 4354         inc     dptr
4355
   1006 E0                 4355         movx    a,@dptr
4356
   1007 FD                 4356         mov     r5,a
4357
   1008 EC                 4357         mov     a,r4
4358
   1009 C3                 4358         clr     c
4359
   100A 9A                 4359         subb    a,r2
4360
   100B F5 82              4360         mov     dpl,a
4361
   100D ED                 4361         mov     a,r5
4362
   100E 9B                 4362         subb    a,r3
4363
   100F F5 83              4363         mov     dph,a
4364
   1011 12 09 E9           4364         lcall   _flash_read_finish
4365
                           4365 ;       ../../include/ztex-fpga-flash2.h:47: return 0;
4366
   1014 90 00 00           4366         mov     dptr,#0x0000
4367
   1017 22                 4367         ret
4368
   1018                    4368 00106$:
4369
                           4369 ;       ../../include/ztex-fpga-flash2.h:49: i=flash_read_byte();
4370
   1018 12 07 E9           4370         lcall   _flash_read_byte
4371
   101B AA 82              4371         mov     r2,dpl
4372
                           4372 ;       ../../include/ztex-fpga-flash2.h:50: j=flash_read_byte();
4373
   101D C0 02              4373         push    ar2
4374
   101F 12 07 E9           4374         lcall   _flash_read_byte
4375
   1022 AB 82              4375         mov     r3,dpl
4376
                           4376 ;       ../../include/ztex-fpga-flash2.h:51: flash_read_finish(flash_sector_size - 10);         // dummy-read the rest of the sector + finish read opration
4377
   1024 90 3A 08           4377         mov     dptr,#_flash_sector_size
4378
   1027 E0                 4378         movx    a,@dptr
4379
   1028 FC                 4379         mov     r4,a
4380
   1029 A3                 4380         inc     dptr
4381
   102A E0                 4381         movx    a,@dptr
4382
   102B FD                 4382         mov     r5,a
4383
   102C EC                 4383         mov     a,r4
4384
   102D 24 F6              4384         add     a,#0xf6
4385
   102F F5 82              4385         mov     dpl,a
4386
   1031 ED                 4386         mov     a,r5
4387
   1032 34 FF              4387         addc    a,#0xff
4388
   1034 F5 83              4388         mov     dph,a
4389
   1036 C0 03              4389         push    ar3
4390
   1038 12 09 E9           4390         lcall   _flash_read_finish
4391
   103B D0 03              4391         pop     ar3
4392
   103D D0 02              4392         pop     ar2
4393
                           4393 ;       ../../include/ztex-fpga-flash2.h:53: return (i | (j<<8))+1;
4394
   103F 8B 04              4394         mov     ar4,r3
4395
   1041 E4                 4395         clr     a
4396
   1042 FB                 4396         mov     r3,a
4397
   1043 FD                 4397         mov     r5,a
4398
   1044 EA                 4398         mov     a,r2
4399
   1045 42 03              4399         orl     ar3,a
4400
   1047 ED                 4400         mov     a,r5
4401
   1048 42 04              4401         orl     ar4,a
4402
   104A 8B 82              4402         mov     dpl,r3
4403
   104C 8C 83              4403         mov     dph,r4
4404
   104E A3                 4404         inc     dptr
4405
   104F 22                 4405         ret
4406
                           4406 ;------------------------------------------------------------
4407
                           4407 ;Allocation info for local variables in function 'fpga_configure_from_flash_init'
4408
                           4408 ;------------------------------------------------------------
4409
                           4409 ;i                         Allocated to registers r2
4410
                           4410 ;buf                       Allocated with name '_fpga_configure_from_flash_init_buf_1_1'
4411
                           4411 ;------------------------------------------------------------
4412
                           4412 ;       ../../include/ztex-fpga-flash2.h:60: BYTE fpga_configure_from_flash_init() {
4413
                           4413 ;       -----------------------------------------
4414
                           4414 ;        function fpga_configure_from_flash_init
4415
                           4415 ;       -----------------------------------------
4416
   1050                    4416 _fpga_configure_from_flash_init:
4417
                           4417 ;       ../../include/ztex-fpga-flash2.h:66: if ( config_data_valid ) {
4418
   1050 90 3A 06           4418         mov     dptr,#_config_data_valid
4419
   1053 E0                 4419         movx    a,@dptr
4420
   1054 FA                 4420         mov     r2,a
4421
   1055 60 2F              4421         jz      00106$
4422
                           4422 ;       ../../include/ztex-fpga-flash2.h:67: mac_eeprom_read ( (__xdata BYTE*) buf, 26, 4 );            // read actual and max bitstream size
4423
   1057 75 10 1A           4423         mov     _mac_eeprom_read_PARM_2,#0x1A
4424
   105A 75 11 04           4424         mov     _mac_eeprom_read_PARM_3,#0x04
4425
   105D 90 3A 2D           4425         mov     dptr,#_fpga_configure_from_flash_init_buf_1_1
4426
   1060 12 05 D4           4426         lcall   _mac_eeprom_read
4427
                           4427 ;       ../../include/ztex-fpga-flash2.h:68: if ( buf[1] != 0 ) {
4428
   1063 90 3A 2F           4428         mov     dptr,#(_fpga_configure_from_flash_init_buf_1_1 + 0x0002)
4429
   1066 E0                 4429         movx    a,@dptr
4430
   1067 FA                 4430         mov     r2,a
4431
   1068 A3                 4431         inc     dptr
4432
   1069 E0                 4432         movx    a,@dptr
4433
   106A FB                 4433         mov     r3,a
4434
   106B 4A                 4434         orl     a,r2
4435
   106C 60 18              4435         jz      00106$
4436
                           4436 ;       ../../include/ztex-fpga-flash2.h:69: if ( buf[0] == 0 ) {
4437
   106E 90 3A 2D           4437         mov     dptr,#_fpga_configure_from_flash_init_buf_1_1
4438
   1071 E0                 4438         movx    a,@dptr
4439
   1072 FA                 4439         mov     r2,a
4440
   1073 A3                 4440         inc     dptr
4441
   1074 E0                 4441         movx    a,@dptr
4442
   1075 FB                 4442         mov     r3,a
4443
   1076 4A                 4443         orl     a,r2
4444
   1077 60 03              4444         jz      00140$
4445
   1079 02 11 13           4445         ljmp    00113$
4446
   107C                    4446 00140$:
4447
                           4447 ;       ../../include/ztex-fpga-flash2.h:70: return fpga_flash_result = 3;
4448
   107C 90 3A 26           4448         mov     dptr,#_fpga_flash_result
4449
   107F 74 03              4449         mov     a,#0x03
4450
   1081 F0                 4450         movx    @dptr,a
4451
   1082 75 82 03           4451         mov     dpl,#0x03
4452
   1085 22                 4452         ret
4453
                           4453 ;       ../../include/ztex-fpga-flash2.h:73: goto flash_config;
4454
   1086                    4454 00106$:
4455
                           4455 ;       ../../include/ztex-fpga-flash2.h:80: if ( flash_read_init( 0 ) )                // prepare reading sector 0
4456
   1086 90 00 00           4456         mov     dptr,#0x0000
4457
   1089 12 09 63           4457         lcall   _flash_read_init
4458
   108C E5 82              4458         mov     a,dpl
4459
   108E 60 0A              4459         jz      00132$
4460
                           4460 ;       ../../include/ztex-fpga-flash2.h:81: return fpga_flash_result = 2;
4461
   1090 90 3A 26           4461         mov     dptr,#_fpga_flash_result
4462
   1093 74 02              4462         mov     a,#0x02
4463
   1095 F0                 4463         movx    @dptr,a
4464
   1096 75 82 02           4464         mov     dpl,#0x02
4465
   1099 22                 4465         ret
4466
                           4466 ;       ../../include/ztex-fpga-flash2.h:82: for ( i=0; i<8 && flash_read_byte()==fpga_flash_boot_id[i]; i++ );
4467
   109A                    4467 00132$:
4468
   109A 7A 00              4468         mov     r2,#0x00
4469
   109C                    4469 00120$:
4470
   109C BA 08 00           4470         cjne    r2,#0x08,00142$
4471
   109F                    4471 00142$:
4472
   109F 50 16              4472         jnc     00123$
4473
   10A1 C0 02              4473         push    ar2
4474
   10A3 12 07 E9           4474         lcall   _flash_read_byte
4475
   10A6 AB 82              4475         mov     r3,dpl
4476
   10A8 D0 02              4476         pop     ar2
4477
   10AA EA                 4477         mov     a,r2
4478
   10AB 90 1E 55           4478         mov     dptr,#_fpga_flash_boot_id
4479
   10AE 93                 4479         movc    a,@a+dptr
4480
   10AF FC                 4480         mov     r4,a
4481
   10B0 EB                 4481         mov     a,r3
4482
   10B1 B5 04 03           4482         cjne    a,ar4,00123$
4483
   10B4 0A                 4483         inc     r2
4484
   10B5 80 E5              4484         sjmp    00120$
4485
   10B7                    4485 00123$:
4486
                           4486 ;       ../../include/ztex-fpga-flash2.h:83: if ( i != 8 ) {
4487
   10B7 BA 08 02           4487         cjne    r2,#0x08,00146$
4488
   10BA 80 20              4488         sjmp    00110$
4489
   10BC                    4489 00146$:
4490
                           4490 ;       ../../include/ztex-fpga-flash2.h:84: flash_read_finish(flash_sector_size - i);  // dummy-read the rest of the sector + finish read opration
4491
   10BC 7B 00              4491         mov     r3,#0x00
4492
   10BE 90 3A 08           4492         mov     dptr,#_flash_sector_size
4493
   10C1 E0                 4493         movx    a,@dptr
4494
   10C2 FC                 4494         mov     r4,a
4495
   10C3 A3                 4495         inc     dptr
4496
   10C4 E0                 4496         movx    a,@dptr
4497
   10C5 FD                 4497         mov     r5,a
4498
   10C6 EC                 4498         mov     a,r4
4499
   10C7 C3                 4499         clr     c
4500
   10C8 9A                 4500         subb    a,r2
4501
   10C9 F5 82              4501         mov     dpl,a
4502
   10CB ED                 4502         mov     a,r5
4503
   10CC 9B                 4503         subb    a,r3
4504
   10CD F5 83              4504         mov     dph,a
4505
   10CF 12 09 E9           4505         lcall   _flash_read_finish
4506
                           4506 ;       ../../include/ztex-fpga-flash2.h:85: return fpga_flash_result = 3;
4507
   10D2 90 3A 26           4507         mov     dptr,#_fpga_flash_result
4508
   10D5 74 03              4508         mov     a,#0x03
4509
   10D7 F0                 4509         movx    @dptr,a
4510
   10D8 75 82 03           4510         mov     dpl,#0x03
4511
   10DB 22                 4511         ret
4512
   10DC                    4512 00110$:
4513
                           4513 ;       ../../include/ztex-fpga-flash2.h:87: i = flash_read_byte();
4514
   10DC 12 07 E9           4514         lcall   _flash_read_byte
4515
   10DF AA 82              4515         mov     r2,dpl
4516
                           4516 ;       ../../include/ztex-fpga-flash2.h:88: i |= flash_read_byte();
4517
   10E1 C0 02              4517         push    ar2
4518
   10E3 12 07 E9           4518         lcall   _flash_read_byte
4519
   10E6 AB 82              4519         mov     r3,dpl
4520
   10E8 D0 02              4520         pop     ar2
4521
   10EA EB                 4521         mov     a,r3
4522
   10EB 42 02              4522         orl     ar2,a
4523
                           4523 ;       ../../include/ztex-fpga-flash2.h:89: flash_read_finish(flash_sector_size - 10);         // dummy-read the rest of the sector + finish read opration
4524
   10ED 90 3A 08           4524         mov     dptr,#_flash_sector_size
4525
   10F0 E0                 4525         movx    a,@dptr
4526
   10F1 FB                 4526         mov     r3,a
4527
   10F2 A3                 4527         inc     dptr
4528
   10F3 E0                 4528         movx    a,@dptr
4529
   10F4 FC                 4529         mov     r4,a
4530
   10F5 EB                 4530         mov     a,r3
4531
   10F6 24 F6              4531         add     a,#0xf6
4532
   10F8 F5 82              4532         mov     dpl,a
4533
   10FA EC                 4533         mov     a,r4
4534
   10FB 34 FF              4534         addc    a,#0xff
4535
   10FD F5 83              4535         mov     dph,a
4536
   10FF C0 02              4536         push    ar2
4537
   1101 12 09 E9           4537         lcall   _flash_read_finish
4538
   1104 D0 02              4538         pop     ar2
4539
                           4539 ;       ../../include/ztex-fpga-flash2.h:90: if ( i==0 )
4540
   1106 EA                 4540         mov     a,r2
4541
   1107 70 0A              4541         jnz     00113$
4542
                           4542 ;       ../../include/ztex-fpga-flash2.h:91: return fpga_flash_result = 3;
4543
   1109 90 3A 26           4543         mov     dptr,#_fpga_flash_result
4544
   110C 74 03              4544         mov     a,#0x03
4545
   110E F0                 4545         movx    @dptr,a
4546
   110F 75 82 03           4546         mov     dpl,#0x03
4547
                           4547 ;       ../../include/ztex-fpga-flash2.h:93: flash_config:
4548
   1112 22                 4548         ret
4549
   1113                    4549 00113$:
4550
                           4550 ;       ../../include/ztex-fpga-flash2.h:94: fpga_flash_result = fpga_configure_from_flash(0);
4551
   1113 75 82 00           4551         mov     dpl,#0x00
4552
   1116 12 0E D1           4552         lcall   _fpga_configure_from_flash
4553
   1119 AA 82              4553         mov     r2,dpl
4554
   111B 90 3A 26           4554         mov     dptr,#_fpga_flash_result
4555
   111E EA                 4555         mov     a,r2
4556
   111F F0                 4556         movx    @dptr,a
4557
                           4557 ;       ../../include/ztex-fpga-flash2.h:95: if ( fpga_flash_result == 1 ) {
4558
   1120 BA 01 05           4558         cjne    r2,#0x01,00117$
4559
                           4559 ;       ../../include/ztex-fpga-flash2.h:96: post_fpga_config();
4560
   1123 12 0E 26           4560         lcall   _post_fpga_config
4561
   1126 80 0F              4561         sjmp    00118$
4562
   1128                    4562 00117$:
4563
                           4563 ;       ../../include/ztex-fpga-flash2.h:98: else if ( fpga_flash_result == 4 ) {
4564
   1128 BA 04 0C           4564         cjne    r2,#0x04,00118$
4565
                           4565 ;       ../../include/ztex-fpga-flash2.h:99: fpga_flash_result = fpga_configure_from_flash(0);  // up to two tries
4566
   112B 75 82 00           4566         mov     dpl,#0x00
4567
   112E 12 0E D1           4567         lcall   _fpga_configure_from_flash
4568
   1131 E5 82              4568         mov     a,dpl
4569
   1133 90 3A 26           4569         mov     dptr,#_fpga_flash_result
4570
   1136 F0                 4570         movx    @dptr,a
4571
   1137                    4571 00118$:
4572
                           4572 ;       ../../include/ztex-fpga-flash2.h:101: return fpga_flash_result;
4573
   1137 90 3A 26           4573         mov     dptr,#_fpga_flash_result
4574
   113A E0                 4574         movx    a,@dptr
4575
   113B F5 82              4575         mov     dpl,a
4576
   113D 22                 4576         ret
4577
                           4577 ;------------------------------------------------------------
4578
                           4578 ;Allocation info for local variables in function 'abscode_identity'
4579
                           4579 ;------------------------------------------------------------
4580
                           4580 ;------------------------------------------------------------
4581
                           4581 ;       ../../include/ztex-descriptors.h:131: void abscode_identity()// _naked
4582
                           4582 ;       -----------------------------------------
4583
                           4583 ;        function abscode_identity
4584
                           4584 ;       -----------------------------------------
4585
   113E                    4585 _abscode_identity:
4586
                           4586 ;       ../../include/ztex-descriptors.h:185: + 64
4587
                           4587
4588
                           4588             .area ABSCODE (ABS,CODE)
4589
                           4589
4590
   006C                    4590             .org 0x06c
4591
   006C 28                 4591             .db 40
4592
                           4592
4593
   006D                    4593             .org _ZTEX_DESCRIPTOR_VERSION
4594
   006D 01                 4594             .db 1
4595
                           4595
4596
   006E                    4596             .org _ZTEXID
4597
   006E 5A 54 45 58        4597             .ascii "ZTEX"
4598
                           4598
4599
   0072                    4599             .org _PRODUCT_ID
4600
   0072 0A                 4600             .db 10
4601
   0073 12                 4601             .db 18
4602
   0074 00                 4602             .db 0
4603
   0075 00                 4603             .db 0
4604
                           4604
4605
   0076                    4605             .org _FW_VERSION
4606
   0076 00                 4606             .db 0
4607
                           4607
4608
   0077                    4608             .org _INTERFACE_VERSION
4609
   0077 01                 4609             .db 1
4610
                           4610
4611
   0078                    4611             .org _INTERFACE_CAPABILITIES
4612
                           4612 ;       # 185 "../../include/ztex-descriptors.h"
4613
   0078 47                 4613             .db 0 + 1 + 2 + 4 + 64
4614
                           4614 ;       # 191 "../../include/ztex-descriptors.h"
4615
   0079 00                 4615             .db 0
4616
   007A 00                 4616             .db 0
4617
   007B 00                 4617             .db 0
4618
   007C 00                 4618             .db 0
4619
   007D 00                 4619             .db 0
4620
                           4620
4621
   007E                    4621             .org _MODULE_RESERVED
4622
   007E 00                 4622             .db 0
4623
   007F 00                 4623             .db 0
4624
   0080 00                 4624             .db 0
4625
   0081 00                 4625             .db 0
4626
   0082 00                 4626             .db 0
4627
   0083 00                 4627             .db 0
4628
   0084 00                 4628             .db 0
4629
   0085 00                 4629             .db 0
4630
   0086 00                 4630             .db 0
4631
   0087 00                 4631             .db 0
4632
   0088 00                 4632             .db 0
4633
   0089 00                 4633             .db 0
4634
                           4634
4635
   008A                    4635             .org _SN_STRING
4636
   008A 30 30 30 30 30 30  4636             .ascii "0000000000"
4637
        30 30 30 30
4638
                           4637
4639
                           4638             .area CSEG (CODE)
4640
                           4639
4641
   113E 22                 4640         ret
4642
                           4641 ;------------------------------------------------------------
4643
                           4642 ;Allocation info for local variables in function 'resetToggleData'
4644
                           4643 ;------------------------------------------------------------
4645
                           4644 ;------------------------------------------------------------
4646
                           4645 ;       ../../include/ztex-isr.h:34: static void resetToggleData () {
4647
                           4646 ;       -----------------------------------------
4648
                           4647 ;        function resetToggleData
4649
                           4648 ;       -----------------------------------------
4650
   113F                    4649 _resetToggleData:
4651
                           4650 ;       ../../include/ztex-isr.h:45: TOGCTL = 0;                                // EP0 out
4652
                           4651 ;       ../../include/ztex-isr.h:46: TOGCTL = 0 | bmBIT5;
4653
                           4652 ;       ../../include/ztex-isr.h:47: TOGCTL = 0x10;                     // EP0 in
4654
                           4653 ;       ../../include/ztex-isr.h:48: TOGCTL = 0x10 | bmBIT5;
4655
   113F 90 E6 83           4654         mov     dptr,#_TOGCTL
4656
   1142 E4                 4655         clr     a
4657
   1143 F0                 4656         movx    @dptr,a
4658
   1144 74 20              4657         mov     a,#0x20
4659
   1146 F0                 4658         movx    @dptr,a
4660
   1147 74 10              4659         mov     a,#0x10
4661
   1149 F0                 4660         movx    @dptr,a
4662
   114A 74 30              4661         mov     a,#0x30
4663
   114C F0                 4662         movx    @dptr,a
4664
                           4663 ;       ../../include/ztex-isr.h:49: #ifeq[EP1OUT_DIR][OUT]
4665
                           4664 ;       ../../include/ztex-isr.h:51: TOGCTL = 1 | bmBIT5;
4666
                           4665 ;       ../../include/ztex-isr.h:52: #endif
4667
                           4666 ;       ../../include/ztex-isr.h:55: TOGCTL = 0x11 | bmBIT5;
4668
   114D 90 E6 83           4667         mov     dptr,#_TOGCTL
4669
   1150 74 01              4668         mov     a,#0x01
4670
   1152 F0                 4669         movx    @dptr,a
4671
   1153 74 21              4670         mov     a,#0x21
4672
   1155 F0                 4671         movx    @dptr,a
4673
   1156 74 11              4672         mov     a,#0x11
4674
   1158 F0                 4673         movx    @dptr,a
4675
   1159 74 31              4674         mov     a,#0x31
4676
   115B F0                 4675         movx    @dptr,a
4677
   115C 22                 4676         ret
4678
                           4677 ;------------------------------------------------------------
4679
                           4678 ;Allocation info for local variables in function 'sendStringDescriptor'
4680
                           4679 ;------------------------------------------------------------
4681
                           4680 ;hiAddr                    Allocated with name '_sendStringDescriptor_PARM_2'
4682
                           4681 ;size                      Allocated with name '_sendStringDescriptor_PARM_3'
4683
                           4682 ;loAddr                    Allocated to registers r2
4684
                           4683 ;i                         Allocated to registers r2
4685
                           4684 ;------------------------------------------------------------
4686
                           4685 ;       ../../include/ztex-isr.h:68: static void sendStringDescriptor (BYTE loAddr, BYTE hiAddr, BYTE size)
4687
                           4686 ;       -----------------------------------------
4688
                           4687 ;        function sendStringDescriptor
4689
                           4688 ;       -----------------------------------------
4690
   115D                    4689 _sendStringDescriptor:
4691
   115D AA 82              4690         mov     r2,dpl
4692
                           4691 ;       ../../include/ztex-isr.h:71: if ( size > 31) size = 31;
4693
   115F E5 17              4692         mov     a,_sendStringDescriptor_PARM_3
4694
   1161 24 E0              4693         add     a,#0xff - 0x1F
4695
   1163 50 03              4694         jnc     00102$
4696
   1165 75 17 1F           4695         mov     _sendStringDescriptor_PARM_3,#0x1F
4697
   1168                    4696 00102$:
4698
                           4697 ;       ../../include/ztex-isr.h:72: if (SETUPDAT[7] == 0 && SETUPDAT[6]
4699
   1168 90 E6 BF           4698         mov     dptr,#(_SETUPDAT + 0x0007)
4700
   116B E0                 4699         movx    a,@dptr
4701
   116C 70 10              4700         jnz     00104$
4702
   116E 90 E6 BE           4701         mov     dptr,#(_SETUPDAT + 0x0006)
4703
   1171 E0                 4702         movx    a,@dptr
4704
   1172 FB                 4703         mov     r3,a
4705
   1173 C3                 4704         clr     c
4706
   1174 95 17              4705         subb    a,_sendStringDescriptor_PARM_3
4707
   1176 50 06              4706         jnc     00104$
4708
   1178 90 E6 BE           4707         mov     dptr,#(_SETUPDAT + 0x0006)
4709
   117B E0                 4708         movx    a,@dptr
4710
   117C F5 17              4709         mov     _sendStringDescriptor_PARM_3,a
4711
   117E                    4710 00104$:
4712
                           4711 ;       ../../include/ztex-isr.h:73: AUTOPTRSETUP = 7;
4713
   117E 75 AF 07           4712         mov     _AUTOPTRSETUP,#0x07
4714
                           4713 ;       ../../include/ztex-isr.h:74: AUTOPTRL1 = loAddr;
4715
   1181 8A 9B              4714         mov     _AUTOPTRL1,r2
4716
                           4715 ;       ../../include/ztex-isr.h:75: AUTOPTRH1 = hiAddr;
4717
   1183 85 16 9A           4716         mov     _AUTOPTRH1,_sendStringDescriptor_PARM_2
4718
                           4717 ;       ../../include/ztex-isr.h:76: AUTOPTRL2 = (BYTE)(((unsigned short)(&EP0BUF))+1);
4719
   1186 75 9E 41           4718         mov     _AUTOPTRL2,#0x41
4720
                           4719 ;       ../../include/ztex-isr.h:77: AUTOPTRH2 = (BYTE)((((unsigned short)(&EP0BUF))+1) >> 8);
4721
   1189 75 9D E7           4720         mov     _AUTOPTRH2,#0xE7
4722
                           4721 ;       ../../include/ztex-isr.h:78: XAUTODAT2 = 3;
4723
   118C 90 E6 7C           4722         mov     dptr,#_XAUTODAT2
4724
   118F 74 03              4723         mov     a,#0x03
4725
   1191 F0                 4724         movx    @dptr,a
4726
                           4725 ;       ../../include/ztex-isr.h:79: for (i=0; i
4727
   1192 7A 00              4726         mov     r2,#0x00
4728
   1194                    4727 00106$:
4729
   1194 C3                 4728         clr     c
4730
   1195 EA                 4729         mov     a,r2
4731
   1196 95 17              4730         subb    a,_sendStringDescriptor_PARM_3
4732
   1198 50 11              4731         jnc     00109$
4733
                           4732 ;       ../../include/ztex-isr.h:80: XAUTODAT2 = XAUTODAT1;
4734
   119A 90 E6 7B           4733         mov     dptr,#_XAUTODAT1
4735
   119D E0                 4734         movx    a,@dptr
4736
   119E FB                 4735         mov     r3,a
4737
   119F 90 E6 7C           4736         mov     dptr,#_XAUTODAT2
4738
   11A2 F0                 4737         movx    @dptr,a
4739
                           4738 ;       ../../include/ztex-isr.h:81: XAUTODAT2 = 0;
4740
   11A3 90 E6 7C           4739         mov     dptr,#_XAUTODAT2
4741
   11A6 E4                 4740         clr     a
4742
   11A7 F0                 4741         movx    @dptr,a
4743
                           4742 ;       ../../include/ztex-isr.h:79: for (i=0; i
4744
   11A8 0A                 4743         inc     r2
4745
   11A9 80 E9              4744         sjmp    00106$
4746
   11AB                    4745 00109$:
4747
                           4746 ;       ../../include/ztex-isr.h:83: i = (size+1) << 1;
4748
   11AB E5 17              4747         mov     a,_sendStringDescriptor_PARM_3
4749
   11AD 04                 4748         inc     a
4750
                           4749 ;       ../../include/ztex-isr.h:84: EP0BUF[0] = i;
4751
   11AE 25 E0              4750         add     a,acc
4752
   11B0 FA                 4751         mov     r2,a
4753
   11B1 90 E7 40           4752         mov     dptr,#_EP0BUF
4754
   11B4 F0                 4753         movx    @dptr,a
4755
                           4754 ;       ../../include/ztex-isr.h:85: EP0BUF[1] = 3;
4756
   11B5 90 E7 41           4755         mov     dptr,#(_EP0BUF + 0x0001)
4757
   11B8 74 03              4756         mov     a,#0x03
4758
   11BA F0                 4757         movx    @dptr,a
4759
                           4758 ;       ../../include/ztex-isr.h:86: EP0BCH = 0;
4760
   11BB 90 E6 8A           4759         mov     dptr,#_EP0BCH
4761
   11BE E4                 4760         clr     a
4762
   11BF F0                 4761         movx    @dptr,a
4763
                           4762 ;       ../../include/ztex-isr.h:87: EP0BCL = i;
4764
   11C0 90 E6 8B           4763         mov     dptr,#_EP0BCL
4765
   11C3 EA                 4764         mov     a,r2
4766
   11C4 F0                 4765         movx    @dptr,a
4767
   11C5 22                 4766         ret
4768
                           4767 ;------------------------------------------------------------
4769
                           4768 ;Allocation info for local variables in function 'ep0_payload_update'
4770
                           4769 ;------------------------------------------------------------
4771
                           4770 ;------------------------------------------------------------
4772
                           4771 ;       ../../include/ztex-isr.h:93: static void ep0_payload_update() {
4773
                           4772 ;       -----------------------------------------
4774
                           4773 ;        function ep0_payload_update
4775
                           4774 ;       -----------------------------------------
4776
   11C6                    4775 _ep0_payload_update:
4777
                           4776 ;       ../../include/ztex-isr.h:94: ep0_payload_transfer = ( ep0_payload_remaining > 64 ) ? 64 : ep0_payload_remaining;
4778
   11C6 90 3A 36           4777         mov     dptr,#_ep0_payload_remaining
4779
   11C9 E0                 4778         movx    a,@dptr
4780
   11CA FA                 4779         mov     r2,a
4781
   11CB A3                 4780         inc     dptr
4782
   11CC E0                 4781         movx    a,@dptr
4783
   11CD FB                 4782         mov     r3,a
4784
   11CE C3                 4783         clr     c
4785
   11CF 74 40              4784         mov     a,#0x40
4786
   11D1 9A                 4785         subb    a,r2
4787
   11D2 E4                 4786         clr     a
4788
   11D3 9B                 4787         subb    a,r3
4789
   11D4 50 06              4788         jnc     00103$
4790
   11D6 7C 40              4789         mov     r4,#0x40
4791
   11D8 7D 00              4790         mov     r5,#0x00
4792
   11DA 80 04              4791         sjmp    00104$
4793
   11DC                    4792 00103$:
4794
   11DC 8A 04              4793         mov     ar4,r2
4795
   11DE 8B 05              4794         mov     ar5,r3
4796
   11E0                    4795 00104$:
4797
   11E0 90 3A 38           4796         mov     dptr,#_ep0_payload_transfer
4798
   11E3 EC                 4797         mov     a,r4
4799
   11E4 F0                 4798         movx    @dptr,a
4800
                           4799 ;       ../../include/ztex-isr.h:95: ep0_payload_remaining -= ep0_payload_transfer;
4801
   11E5 7D 00              4800         mov     r5,#0x00
4802
   11E7 90 3A 36           4801         mov     dptr,#_ep0_payload_remaining
4803
   11EA EA                 4802         mov     a,r2
4804
   11EB C3                 4803         clr     c
4805
   11EC 9C                 4804         subb    a,r4
4806
   11ED F0                 4805         movx    @dptr,a
4807
   11EE EB                 4806         mov     a,r3
4808
   11EF 9D                 4807         subb    a,r5
4809
   11F0 A3                 4808         inc     dptr
4810
   11F1 F0                 4809         movx    @dptr,a
4811
   11F2 22                 4810         ret
4812
                           4811 ;------------------------------------------------------------
4813
                           4812 ;Allocation info for local variables in function 'ep0_vendor_cmd_su'
4814
                           4813 ;------------------------------------------------------------
4815
                           4814 ;------------------------------------------------------------
4816
                           4815 ;       ../../include/ztex-isr.h:102: static void ep0_vendor_cmd_su() {
4817
                           4816 ;       -----------------------------------------
4818
                           4817 ;        function ep0_vendor_cmd_su
4819
                           4818 ;       -----------------------------------------
4820
   11F3                    4819 _ep0_vendor_cmd_su:
4821
                           4820 ;       ../../include/ztex-isr.h:103: switch ( ep0_prev_setup_request ) {
4822
   11F3 90 3A 39           4821         mov     dptr,#_ep0_prev_setup_request
4823
   11F6 E0                 4822         movx    a,@dptr
4824
   11F7 FA                 4823         mov     r2,a
4825
   11F8 BA 31 02           4824         cjne    r2,#0x31,00123$
4826
   11FB 80 77              4825         sjmp    00107$
4827
   11FD                    4826 00123$:
4828
   11FD BA 32 02           4827         cjne    r2,#0x32,00124$
4829
   1200 80 75              4828         sjmp    00108$
4830
   1202                    4829 00124$:
4831
   1202 BA 39 02           4830         cjne    r2,#0x39,00125$
4832
   1205 80 0A              4831         sjmp    00101$
4833
   1207                    4832 00125$:
4834
   1207 BA 3C 02           4833         cjne    r2,#0x3C,00126$
4835
   120A 80 29              4834         sjmp    00102$
4836
   120C                    4835 00126$:
4837
                           4836 ;       ../../include/ztex-conf.h:123: case $0:
4838
   120C BA 42 74           4837         cjne    r2,#0x42,00111$
4839
   120F 80 2D              4838         sjmp    00103$
4840
   1211                    4839 00101$:
4841
                           4840 ;       ../../include/ztex-eeprom.h:236: eeprom_write_checksum = 0;
4842
   1211 90 3A 04           4841         mov     dptr,#_eeprom_write_checksum
4843
                           4842 ;       ../../include/ztex-eeprom.h:237: eeprom_write_bytes = 0;
4844
   1214 E4                 4843         clr     a
4845
   1215 F0                 4844         movx    @dptr,a
4846
   1216 90 3A 02           4845         mov     dptr,#_eeprom_write_bytes
4847
   1219 F0                 4846         movx    @dptr,a
4848
   121A A3                 4847         inc     dptr
4849
   121B F0                 4848         movx    @dptr,a
4850
                           4849 ;       ../../include/ztex-eeprom.h:238: eeprom_addr =  ( SETUPDAT[3] << 8) | SETUPDAT[2];      // Address
4851
   121C 90 E6 BB           4850         mov     dptr,#(_SETUPDAT + 0x0003)
4852
   121F E0                 4851         movx    a,@dptr
4853
   1220 FB                 4852         mov     r3,a
4854
   1221 7A 00              4853         mov     r2,#0x00
4855
   1223 90 E6 BA           4854         mov     dptr,#(_SETUPDAT + 0x0002)
4856
   1226 E0                 4855         movx    a,@dptr
4857
   1227 FC                 4856         mov     r4,a
4858
   1228 7D 00              4857         mov     r5,#0x00
4859
   122A 90 3A 00           4858         mov     dptr,#_eeprom_addr
4860
   122D EC                 4859         mov     a,r4
4861
   122E 4A                 4860         orl     a,r2
4862
   122F F0                 4861         movx    @dptr,a
4863
   1230 ED                 4862         mov     a,r5
4864
   1231 4B                 4863         orl     a,r3
4865
   1232 A3                 4864         inc     dptr
4866
   1233 F0                 4865         movx    @dptr,a
4867
                           4866 ;       ../../include/ztex-conf.h:125: break;
4868
                           4867 ;       ../../include/ztex-conf.h:123: case $0:
4869
   1234 22                 4868         ret
4870
   1235                    4869 00102$:
4871
                           4870 ;       ../../include/ztex-conf.h:125: break;
4872
   1235 90 E6 BA           4871         mov     dptr,#(_SETUPDAT + 0x0002)
4873
   1238 E0                 4872         movx    a,@dptr
4874
   1239 90 3A 05           4873         mov     dptr,#_mac_eeprom_addr
4875
   123C F0                 4874         movx    @dptr,a
4876
                           4875 ;       ../../include/ztex-conf.h:123: case $0:
4877
   123D 22                 4876         ret
4878
   123E                    4877 00103$:
4879
                           4878 ;       ../../include/ztex-flash2.h:698: ep0_write_mode = SETUPDAT[5];
4880
   123E 90 E6 BD           4879         mov     dptr,#(_SETUPDAT + 0x0005)
4881
   1241 E0                 4880         movx    a,@dptr
4882
   1242 FA                 4881         mov     r2,a
4883
   1243 90 3A 1F           4882         mov     dptr,#_ep0_write_mode
4884
   1246 F0                 4883         movx    @dptr,a
4885
                           4884 ;       ../../include/ztex-flash2.h:699: if ( (ep0_write_mode == 0) && flash_write_init((SETUPDAT[3] << 8) | SETUPDAT[2]) ) {
4886
   1247 EA                 4885         mov     a,r2
4887
   1248 70 41              4886         jnz     00113$
4888
   124A 90 E6 BB           4887         mov     dptr,#(_SETUPDAT + 0x0003)
4889
   124D E0                 4888         movx    a,@dptr
4890
   124E FB                 4889         mov     r3,a
4891
   124F 7A 00              4890         mov     r2,#0x00
4892
   1251 90 E6 BA           4891         mov     dptr,#(_SETUPDAT + 0x0002)
4893
   1254 E0                 4892         movx    a,@dptr
4894
   1255 7D 00              4893         mov     r5,#0x00
4895
   1257 4A                 4894         orl     a,r2
4896
   1258 F5 82              4895         mov     dpl,a
4897
   125A ED                 4896         mov     a,r5
4898
   125B 4B                 4897         orl     a,r3
4899
   125C F5 83              4898         mov     dph,a
4900
   125E 12 0B 5F           4899         lcall   _flash_write_init
4901
   1261 E5 82              4900         mov     a,dpl
4902
   1263 60 26              4901         jz      00113$
4903
                           4902 ;       ../../include/ztex-conf.h:137: EP0CS |= 0x01;   // set stall
4904
   1265 90 E6 A0           4903         mov     dptr,#_EP0CS
4905
   1268 E0                 4904         movx    a,@dptr
4906
   1269 44 01              4905         orl     a,#0x01
4907
   126B F0                 4906         movx    @dptr,a
4908
                           4907 ;       ../../include/ztex-conf.h:138: ep0_payload_remaining = 0;
4909
   126C 90 3A 36           4908         mov     dptr,#_ep0_payload_remaining
4910
   126F E4                 4909         clr     a
4911
   1270 F0                 4910         movx    @dptr,a
4912
   1271 A3                 4911         inc     dptr
4913
   1272 F0                 4912         movx    @dptr,a
4914
                           4913 ;       ../../include/ztex-conf.h:139: break;
4915
                           4914 ;       ../../include/ztex-conf.h:123: case $0:
4916
   1273 22                 4915         ret
4917
   1274                    4916 00107$:
4918
                           4917 ;       ../../include/ztex-conf.h:124: $1
4919
                           4918 ;       ../../include/ztex-conf.h:125: break;
4920
                           4919 ;       ../../include/ztex-conf.h:123: case $0:
4921
   1274 02 0D 33           4920         ljmp    _reset_fpga
4922
   1277                    4921 00108$:
4923
                           4922 ;       ../../include/ztex-fpga7.h:208: if ( fpga_conf_initialized != 123 )
4924
   1277 90 3A 27           4923         mov     dptr,#_fpga_conf_initialized
4925
   127A E0                 4924         movx    a,@dptr
4926
   127B FA                 4925         mov     r2,a
4927
   127C BA 7B 01           4926         cjne    r2,#0x7B,00130$
4928
   127F 22                 4927         ret
4929
   1280                    4928 00130$:
4930
                           4929 ;       ../../include/ztex-fpga7.h:209: init_fpga_configuration();
4931
                           4930 ;       ../../include/ztex-conf.h:125: break;
4932
                           4931 ;       ../../include/ztex-isr.h:105: default:
4933
   1280 02 0D 91           4932         ljmp    _init_fpga_configuration
4934
   1283                    4933 00111$:
4935
                           4934 ;       ../../include/ztex-isr.h:106: EP0CS |= 0x01;                    // set stall, unknown request
4936
   1283 90 E6 A0           4935         mov     dptr,#_EP0CS
4937
   1286 E0                 4936         movx    a,@dptr
4938
   1287 FA                 4937         mov     r2,a
4939
   1288 44 01              4938         orl     a,#0x01
4940
   128A F0                 4939         movx    @dptr,a
4941
                           4940 ;       ../../include/ztex-isr.h:107: }
4942
   128B                    4941 00113$:
4943
   128B 22                 4942         ret
4944
                           4943 ;------------------------------------------------------------
4945
                           4944 ;Allocation info for local variables in function 'SUDAV_ISR'
4946
                           4945 ;------------------------------------------------------------
4947
                           4946 ;a                         Allocated to registers r2
4948
                           4947 ;------------------------------------------------------------
4949
                           4948 ;       ../../include/ztex-isr.h:113: static void SUDAV_ISR () __interrupt
4950
                           4949 ;       -----------------------------------------
4951
                           4950 ;        function SUDAV_ISR
4952
                           4951 ;       -----------------------------------------
4953
   128C                    4952 _SUDAV_ISR:
4954
   128C C0 20              4953         push    bits
4955
   128E C0 E0              4954         push    acc
4956
   1290 C0 F0              4955         push    b
4957
   1292 C0 82              4956         push    dpl
4958
   1294 C0 83              4957         push    dph
4959
   1296 C0 02              4958         push    (0+2)
4960
   1298 C0 03              4959         push    (0+3)
4961
   129A C0 04              4960         push    (0+4)
4962
   129C C0 05              4961         push    (0+5)
4963
   129E C0 06              4962         push    (0+6)
4964
   12A0 C0 07              4963         push    (0+7)
4965
   12A2 C0 00              4964         push    (0+0)
4966
   12A4 C0 01              4965         push    (0+1)
4967
   12A6 C0 D0              4966         push    psw
4968
   12A8 75 D0 00           4967         mov     psw,#0x00
4969
                           4968 ;       ../../include/ztex-isr.h:116: ep0_prev_setup_request = bRequest;
4970
   12AB 90 E6 B9           4969         mov     dptr,#_bRequest
4971
   12AE E0                 4970         movx    a,@dptr
4972
   12AF FA                 4971         mov     r2,a
4973
   12B0 90 3A 39           4972         mov     dptr,#_ep0_prev_setup_request
4974
   12B3 F0                 4973         movx    @dptr,a
4975
                           4974 ;       ../../include/ztex-isr.h:117: SUDPTRCTL = 1;
4976
   12B4 90 E6 B5           4975         mov     dptr,#_SUDPTRCTL
4977
   12B7 74 01              4976         mov     a,#0x01
4978
   12B9 F0                 4977         movx    @dptr,a
4979
                           4978 ;       ../../include/ztex-isr.h:120: switch ( bRequest ) {
4980
   12BA 90 E6 B9           4979         mov     dptr,#_bRequest
4981
   12BD E0                 4980         movx    a,@dptr
4982
   12BE FA                 4981         mov  r2,a
4983
   12BF 24 F3              4982         add     a,#0xff - 0x0C
4984
   12C1 50 03              4983         jnc     00238$
4985
   12C3 02 16 42           4984         ljmp    00160$
4986
   12C6                    4985 00238$:
4987
   12C6 EA                 4986         mov     a,r2
4988
   12C7 2A                 4987         add     a,r2
4989
   12C8 2A                 4988         add     a,r2
4990
   12C9 90 12 CD           4989         mov     dptr,#00239$
4991
   12CC 73                 4990         jmp     @a+dptr
4992
   12CD                    4991 00239$:
4993
   12CD 02 12 F4           4992         ljmp    00101$
4994
   12D0 02 13 A8           4993         ljmp    00112$
4995
   12D3 02 16 42           4994         ljmp    00160$
4996
   12D6 02 14 25           4995         ljmp    00122$
4997
   12D9 02 16 42           4996         ljmp    00160$
4998
   12DC 02 16 42           4997         ljmp    00160$
4999
   12DF 02 14 BD           4998         ljmp    00132$
5000
   12E2 02 15 D8           4999         ljmp    00152$
5001
   12E5 02 15 DA           5000         ljmp    00153$
5002
   12E8 02 15 EB           5001         ljmp    00154$
5003
   12EB 02 15 F0           5002         ljmp    00155$
5004
   12EE 02 16 01           5003         ljmp    00156$
5005
   12F1 02 16 06           5004         ljmp    00157$
5006
                           5005 ;       ../../include/ztex-isr.h:121: case 0x00:        // get status
5007
   12F4                    5006 00101$:
5008
                           5007 ;       ../../include/ztex-isr.h:122: switch(SETUPDAT[0]) {
5009
   12F4 90 E6 B8           5008         mov     dptr,#_SETUPDAT
5010
   12F7 E0                 5009         movx    a,@dptr
5011
   12F8 FA                 5010         mov     r2,a
5012
   12F9 BA 80 02           5011         cjne    r2,#0x80,00240$
5013
   12FC 80 0D              5012         sjmp    00102$
5014
   12FE                    5013 00240$:
5015
   12FE BA 81 02           5014         cjne    r2,#0x81,00241$
5016
   1301 80 1E              5015         sjmp    00103$
5017
   1303                    5016 00241$:
5018
   1303 BA 82 02           5017         cjne    r2,#0x82,00242$
5019
   1306 80 2F              5018         sjmp    00104$
5020
   1308                    5019 00242$:
5021
   1308 02 16 42           5020         ljmp    00160$
5022
                           5021 ;       ../../include/ztex-isr.h:123: case 0x80:                // self powered and remote
5023
   130B                    5022 00102$:
5024
                           5023 ;       ../../include/ztex-isr.h:124: EP0BUF[0] = 0;    // not self-powered, no remote wakeup
5025
   130B 90 E7 40           5024         mov     dptr,#_EP0BUF
5026
                           5025 ;       ../../include/ztex-isr.h:125: EP0BUF[1] = 0;
5027
                           5026 ;       ../../include/ztex-isr.h:126: EP0BCH = 0;
5028
   130E E4                 5027         clr     a
5029
   130F F0                 5028         movx    @dptr,a
5030
   1310 90 E7 41           5029         mov     dptr,#(_EP0BUF + 0x0001)
5031
   1313 F0                 5030         movx    @dptr,a
5032
   1314 90 E6 8A           5031         mov     dptr,#_EP0BCH
5033
   1317 F0                 5032         movx    @dptr,a
5034
                           5033 ;       ../../include/ztex-isr.h:127: EP0BCL = 2;
5035
   1318 90 E6 8B           5034         mov     dptr,#_EP0BCL
5036
   131B 74 02              5035         mov     a,#0x02
5037
   131D F0                 5036         movx    @dptr,a
5038
                           5037 ;       ../../include/ztex-isr.h:128: break;
5039
   131E 02 16 42           5038         ljmp    00160$
5040
                           5039 ;       ../../include/ztex-isr.h:129: case 0x81:                // interface (reserved)
5041
   1321                    5040 00103$:
5042
                           5041 ;       ../../include/ztex-isr.h:130: EP0BUF[0] = 0;    // always return zeros
5043
   1321 90 E7 40           5042         mov     dptr,#_EP0BUF
5044
                           5043 ;       ../../include/ztex-isr.h:131: EP0BUF[1] = 0;
5045
                           5044 ;       ../../include/ztex-isr.h:132: EP0BCH = 0;
5046
   1324 E4                 5045         clr     a
5047
   1325 F0                 5046         movx    @dptr,a
5048
   1326 90 E7 41           5047         mov     dptr,#(_EP0BUF + 0x0001)
5049
   1329 F0                 5048         movx    @dptr,a
5050
   132A 90 E6 8A           5049         mov     dptr,#_EP0BCH
5051
   132D F0                 5050         movx    @dptr,a
5052
                           5051 ;       ../../include/ztex-isr.h:133: EP0BCL = 2;
5053
   132E 90 E6 8B           5052         mov     dptr,#_EP0BCL
5054
   1331 74 02              5053         mov     a,#0x02
5055
   1333 F0                 5054         movx    @dptr,a
5056
                           5055 ;       ../../include/ztex-isr.h:134: break;
5057
   1334 02 16 42           5056         ljmp    00160$
5058
                           5057 ;       ../../include/ztex-isr.h:135: case 0x82:
5059
   1337                    5058 00104$:
5060
                           5059 ;       ../../include/ztex-isr.h:136: switch ( SETUPDAT[4] ) {
5061
   1337 90 E6 BC           5060         mov     dptr,#(_SETUPDAT + 0x0004)
5062
   133A E0                 5061         movx    a,@dptr
5063
   133B FA                 5062         mov     r2,a
5064
   133C 60 0F              5063         jz      00106$
5065
   133E BA 01 02           5064         cjne    r2,#0x01,00244$
5066
   1341 80 19              5065         sjmp    00107$
5067
   1343                    5066 00244$:
5068
   1343 BA 80 02           5067         cjne    r2,#0x80,00245$
5069
   1346 80 05              5068         sjmp    00106$
5070
   1348                    5069 00245$:
5071
                           5070 ;       ../../include/ztex-isr.h:138: case 0x80 :
5072
   1348 BA 81 2F           5071         cjne    r2,#0x81,00109$
5073
   134B 80 1E              5072         sjmp    00108$
5074
   134D                    5073 00106$:
5075
                           5074 ;       ../../include/ztex-isr.h:139: EP0BUF[0] = EP0CS & bmBIT0;
5076
   134D 90 E6 A0           5075         mov     dptr,#_EP0CS
5077
   1350 E0                 5076         movx    a,@dptr
5078
   1351 FA                 5077         mov     r2,a
5079
   1352 53 02 01           5078         anl     ar2,#0x01
5080
   1355 90 E7 40           5079         mov     dptr,#_EP0BUF
5081
   1358 EA                 5080         mov     a,r2
5082
   1359 F0                 5081         movx    @dptr,a
5083
                           5082 ;       ../../include/ztex-isr.h:140: break;
5084
                           5083 ;       ../../include/ztex-isr.h:141: case 0x01 :
5085
   135A 80 3A              5084         sjmp    00110$
5086
   135C                    5085 00107$:
5087
                           5086 ;       ../../include/ztex-isr.h:142: EP0BUF[0] = EP1OUTCS & bmBIT0;
5088
   135C 90 E6 A1           5087         mov     dptr,#_EP1OUTCS
5089
   135F E0                 5088         movx    a,@dptr
5090
   1360 FA                 5089         mov     r2,a
5091
   1361 53 02 01           5090         anl     ar2,#0x01
5092
   1364 90 E7 40           5091         mov     dptr,#_EP0BUF
5093
   1367 EA                 5092         mov     a,r2
5094
   1368 F0                 5093         movx    @dptr,a
5095
                           5094 ;       ../../include/ztex-isr.h:143: break;
5096
                           5095 ;       ../../include/ztex-isr.h:144: case 0x81 :
5097
   1369 80 2B              5096         sjmp    00110$
5098
   136B                    5097 00108$:
5099
                           5098 ;       ../../include/ztex-isr.h:145: EP0BUF[0] = EP1INCS & bmBIT0;
5100
   136B 90 E6 A2           5099         mov     dptr,#_EP1INCS
5101
   136E E0                 5100         movx    a,@dptr
5102
   136F FA                 5101         mov     r2,a
5103
   1370 53 02 01           5102         anl     ar2,#0x01
5104
   1373 90 E7 40           5103         mov     dptr,#_EP0BUF
5105
   1376 EA                 5104         mov     a,r2
5106
   1377 F0                 5105         movx    @dptr,a
5107
                           5106 ;       ../../include/ztex-isr.h:146: break;
5108
                           5107 ;       ../../include/ztex-isr.h:147: default:
5109
   1378 80 1C              5108         sjmp    00110$
5110
   137A                    5109 00109$:
5111
                           5110 ;       ../../include/ztex-isr.h:148: EP0BUF[0] = EPXCS[ ((SETUPDAT[4] >> 1)-1) & 3 ] & bmBIT0;
5112
   137A 90 E6 BC           5111         mov     dptr,#(_SETUPDAT + 0x0004)
5113
   137D E0                 5112         movx    a,@dptr
5114
   137E C3                 5113         clr     c
5115
   137F 13                 5114         rrc     a
5116
   1380 14                 5115         dec     a
5117
   1381 54 03              5116         anl     a,#0x03
5118
   1383 24 A3              5117         add     a,#_EPXCS
5119
   1385 F5 82              5118         mov     dpl,a
5120
   1387 E4                 5119         clr     a
5121
   1388 34 E6              5120         addc    a,#(_EPXCS >> 8)
5122
   138A F5 83              5121         mov     dph,a
5123
   138C E0                 5122         movx    a,@dptr
5124
   138D FA                 5123         mov     r2,a
5125
   138E 53 02 01           5124         anl     ar2,#0x01
5126
   1391 90 E7 40           5125         mov     dptr,#_EP0BUF
5127
   1394 EA                 5126         mov     a,r2
5128
   1395 F0                 5127         movx    @dptr,a
5129
                           5128 ;       ../../include/ztex-isr.h:150: }
5130
   1396                    5129 00110$:
5131
                           5130 ;       ../../include/ztex-isr.h:151: EP0BUF[1] = 0;
5132
   1396 90 E7 41           5131         mov     dptr,#(_EP0BUF + 0x0001)
5133
                           5132 ;       ../../include/ztex-isr.h:152: EP0BCH = 0;
5134
   1399 E4                 5133         clr     a
5135
   139A F0                 5134         movx    @dptr,a
5136
   139B 90 E6 8A           5135         mov     dptr,#_EP0BCH
5137
   139E F0                 5136         movx    @dptr,a
5138
                           5137 ;       ../../include/ztex-isr.h:153: EP0BCL = 2;
5139
   139F 90 E6 8B           5138         mov     dptr,#_EP0BCL
5140
   13A2 74 02              5139         mov     a,#0x02
5141
   13A4 F0                 5140         movx    @dptr,a
5142
                           5141 ;       ../../include/ztex-isr.h:156: break;
5143
   13A5 02 16 42           5142         ljmp    00160$
5144
                           5143 ;       ../../include/ztex-isr.h:157: case 0x01:        // disable feature, e.g. remote wake, stall bit
5145
   13A8                    5144 00112$:
5146
                           5145 ;       ../../include/ztex-isr.h:158: if ( SETUPDAT[0] == 2 && SETUPDAT[2] == 0 ) {
5147
   13A8 90 E6 B8           5146         mov     dptr,#_SETUPDAT
5148
   13AB E0                 5147         movx    a,@dptr
5149
   13AC FA                 5148         mov     r2,a
5150
   13AD BA 02 02           5149         cjne    r2,#0x02,00247$
5151
   13B0 80 03              5150         sjmp    00248$
5152
   13B2                    5151 00247$:
5153
   13B2 02 16 42           5152         ljmp    00160$
5154
   13B5                    5153 00248$:
5155
   13B5 90 E6 BA           5154         mov     dptr,#(_SETUPDAT + 0x0002)
5156
   13B8 E0                 5155         movx    a,@dptr
5157
   13B9 60 03              5156         jz      00249$
5158
   13BB 02 16 42           5157         ljmp    00160$
5159
   13BE                    5158 00249$:
5160
                           5159 ;       ../../include/ztex-isr.h:159: switch ( SETUPDAT[4] ) {
5161
   13BE 90 E6 BC           5160         mov     dptr,#(_SETUPDAT + 0x0004)
5162
   13C1 E0                 5161         movx    a,@dptr
5163
   13C2 FA                 5162         mov     r2,a
5164
   13C3 60 0F              5163         jz      00114$
5165
   13C5 BA 01 02           5164         cjne    r2,#0x01,00251$
5166
   13C8 80 15              5165         sjmp    00115$
5167
   13CA                    5166 00251$:
5168
   13CA BA 80 02           5167         cjne    r2,#0x80,00252$
5169
   13CD 80 05              5168         sjmp    00114$
5170
   13CF                    5169 00252$:
5171
                           5170 ;       ../../include/ztex-isr.h:161: case 0x80 :
5172
   13CF BA 81 23           5171         cjne    r2,#0x81,00117$
5173
   13D2 80 16              5172         sjmp    00116$
5174
   13D4                    5173 00114$:
5175
                           5174 ;       ../../include/ztex-isr.h:162: EP0CS &= ~bmBIT0;
5176
   13D4 90 E6 A0           5175         mov     dptr,#_EP0CS
5177
   13D7 E0                 5176         movx    a,@dptr
5178
   13D8 FA                 5177         mov     r2,a
5179
   13D9 54 FE              5178         anl     a,#0xFE
5180
   13DB F0                 5179         movx    @dptr,a
5181
                           5180 ;       ../../include/ztex-isr.h:163: break;
5182
   13DC 02 16 42           5181         ljmp    00160$
5183
                           5182 ;       ../../include/ztex-isr.h:164: case 0x01 :
5184
   13DF                    5183 00115$:
5185
                           5184 ;       ../../include/ztex-isr.h:165: EP1OUTCS &= ~bmBIT0;
5186
   13DF 90 E6 A1           5185         mov     dptr,#_EP1OUTCS
5187
   13E2 E0                 5186         movx    a,@dptr
5188
   13E3 FA                 5187         mov     r2,a
5189
   13E4 54 FE              5188         anl     a,#0xFE
5190
   13E6 F0                 5189         movx    @dptr,a
5191
                           5190 ;       ../../include/ztex-isr.h:166: break;
5192
   13E7 02 16 42           5191         ljmp    00160$
5193
                           5192 ;       ../../include/ztex-isr.h:167: case 0x81 :
5194
   13EA                    5193 00116$:
5195
                           5194 ;       ../../include/ztex-isr.h:168: EP1INCS &= ~bmBIT0;
5196
   13EA 90 E6 A2           5195         mov     dptr,#_EP1INCS
5197
   13ED E0                 5196         movx    a,@dptr
5198
   13EE FA                 5197         mov     r2,a
5199
   13EF 54 FE              5198         anl     a,#0xFE
5200
   13F1 F0                 5199         movx    @dptr,a
5201
                           5200 ;       ../../include/ztex-isr.h:169: break;
5202
   13F2 02 16 42           5201         ljmp    00160$
5203
                           5202 ;       ../../include/ztex-isr.h:170: default:
5204
   13F5                    5203 00117$:
5205
                           5204 ;       ../../include/ztex-isr.h:171: EPXCS[ ((SETUPDAT[4] >> 1)-1) & 3 ] &= ~bmBIT0;
5206
   13F5 90 E6 BC           5205         mov     dptr,#(_SETUPDAT + 0x0004)
5207
   13F8 E0                 5206         movx    a,@dptr
5208
   13F9 C3                 5207         clr     c
5209
   13FA 13                 5208         rrc     a
5210
   13FB 14                 5209         dec     a
5211
   13FC 54 03              5210         anl     a,#0x03
5212
   13FE 24 A3              5211         add     a,#_EPXCS
5213
   1400 FA                 5212         mov     r2,a
5214
   1401 E4                 5213         clr     a
5215
   1402 34 E6              5214         addc    a,#(_EPXCS >> 8)
5216
   1404 FB                 5215         mov     r3,a
5217
   1405 90 E6 BC           5216         mov     dptr,#(_SETUPDAT + 0x0004)
5218
   1408 E0                 5217         movx    a,@dptr
5219
   1409 C3                 5218         clr     c
5220
   140A 13                 5219         rrc     a
5221
   140B 14                 5220         dec     a
5222
   140C 54 03              5221         anl     a,#0x03
5223
   140E 24 A3              5222         add     a,#_EPXCS
5224
   1410 F5 82              5223         mov     dpl,a
5225
   1412 E4                 5224         clr     a
5226
   1413 34 E6              5225         addc    a,#(_EPXCS >> 8)
5227
   1415 F5 83              5226         mov     dph,a
5228
   1417 E0                 5227         movx    a,@dptr
5229
   1418 FC                 5228         mov     r4,a
5230
   1419 53 04 FE           5229         anl     ar4,#0xFE
5231
   141C 8A 82              5230         mov     dpl,r2
5232
   141E 8B 83              5231         mov     dph,r3
5233
   1420 EC                 5232         mov     a,r4
5234
   1421 F0                 5233         movx    @dptr,a
5235
                           5234 ;       ../../include/ztex-isr.h:175: break;
5236
   1422 02 16 42           5235         ljmp    00160$
5237
                           5236 ;       ../../include/ztex-isr.h:176: case 0x03:      // enable feature, e.g. remote wake, test mode, stall bit
5238
   1425                    5237 00122$:
5239
                           5238 ;       ../../include/ztex-isr.h:177: if ( SETUPDAT[0] == 2 && SETUPDAT[2] == 0 ) {
5240
   1425 90 E6 B8           5239         mov     dptr,#_SETUPDAT
5241
   1428 E0                 5240         movx    a,@dptr
5242
   1429 FA                 5241         mov     r2,a
5243
   142A BA 02 02           5242         cjne    r2,#0x02,00254$
5244
   142D 80 03              5243         sjmp    00255$
5245
   142F                    5244 00254$:
5246
   142F 02 16 42           5245         ljmp    00160$
5247
   1432                    5246 00255$:
5248
   1432 90 E6 BA           5247         mov     dptr,#(_SETUPDAT + 0x0002)
5249
   1435 E0                 5248         movx    a,@dptr
5250
   1436 60 03              5249         jz      00256$
5251
   1438 02 16 42           5250         ljmp    00160$
5252
   143B                    5251 00256$:
5253
                           5252 ;       ../../include/ztex-isr.h:178: switch ( SETUPDAT[4] ) {
5254
   143B 90 E6 BC           5253         mov     dptr,#(_SETUPDAT + 0x0004)
5255
   143E E0                 5254         movx    a,@dptr
5256
   143F FA                 5255         mov     r2,a
5257
   1440 60 0F              5256         jz      00124$
5258
   1442 BA 01 02           5257         cjne    r2,#0x01,00258$
5259
   1445 80 14              5258         sjmp    00125$
5260
   1447                    5259 00258$:
5261
   1447 BA 80 02           5260         cjne    r2,#0x80,00259$
5262
   144A 80 05              5261         sjmp    00124$
5263
   144C                    5262 00259$:
5264
                           5263 ;       ../../include/ztex-isr.h:180: case 0x80 :
5265
   144C BA 81 20           5264         cjne    r2,#0x81,00127$
5266
   144F 80 14              5265         sjmp    00126$
5267
   1451                    5266 00124$:
5268
                           5267 ;       ../../include/ztex-isr.h:181: EP0CS |= bmBIT0;
5269
   1451 90 E6 A0           5268         mov     dptr,#_EP0CS
5270
   1454 E0                 5269         movx    a,@dptr
5271
   1455 FA                 5270         mov     r2,a
5272
   1456 44 01              5271         orl     a,#0x01
5273
   1458 F0                 5272         movx    @dptr,a
5274
                           5273 ;       ../../include/ztex-isr.h:182: break;
5275
                           5274 ;       ../../include/ztex-isr.h:183: case 0x01 :
5276
   1459 80 41              5275         sjmp    00128$
5277
   145B                    5276 00125$:
5278
                           5277 ;       ../../include/ztex-isr.h:184: EP1OUTCS |= bmBIT0;
5279
   145B 90 E6 A1           5278         mov     dptr,#_EP1OUTCS
5280
   145E E0                 5279         movx    a,@dptr
5281
   145F FA                 5280         mov     r2,a
5282
   1460 44 01              5281         orl     a,#0x01
5283
   1462 F0                 5282         movx    @dptr,a
5284
                           5283 ;       ../../include/ztex-isr.h:185: break;
5285
                           5284 ;       ../../include/ztex-isr.h:186: case 0x81 :
5286
   1463 80 37              5285         sjmp    00128$
5287
   1465                    5286 00126$:
5288
                           5287 ;       ../../include/ztex-isr.h:187: EP1INCS |= bmBIT0;
5289
   1465 90 E6 A2           5288         mov     dptr,#_EP1INCS
5290
   1468 E0                 5289         movx    a,@dptr
5291
   1469 FA                 5290         mov     r2,a
5292
   146A 44 01              5291         orl     a,#0x01
5293
   146C F0                 5292         movx    @dptr,a
5294
                           5293 ;       ../../include/ztex-isr.h:188: break;
5295
                           5294 ;       ../../include/ztex-isr.h:189: default:
5296
   146D 80 2D              5295         sjmp    00128$
5297
   146F                    5296 00127$:
5298
                           5297 ;       ../../include/ztex-isr.h:190: EPXCS[ ((SETUPDAT[4] >> 1)-1) & 3 ] |= ~bmBIT0;
5299
   146F 90 E6 BC           5298         mov     dptr,#(_SETUPDAT + 0x0004)
5300
   1472 E0                 5299         movx    a,@dptr
5301
   1473 C3                 5300         clr     c
5302
   1474 13                 5301         rrc     a
5303
   1475 14                 5302         dec     a
5304
   1476 54 03              5303         anl     a,#0x03
5305
   1478 24 A3              5304         add     a,#_EPXCS
5306
   147A FA                 5305         mov     r2,a
5307
   147B E4                 5306         clr     a
5308
   147C 34 E6              5307         addc    a,#(_EPXCS >> 8)
5309
   147E FB                 5308         mov     r3,a
5310
   147F 90 E6 BC           5309         mov     dptr,#(_SETUPDAT + 0x0004)
5311
   1482 E0                 5310         movx    a,@dptr
5312
   1483 C3                 5311         clr     c
5313
   1484 13                 5312         rrc     a
5314
   1485 14                 5313         dec     a
5315
   1486 54 03              5314         anl     a,#0x03
5316
   1488 24 A3              5315         add     a,#_EPXCS
5317
   148A F5 82              5316         mov     dpl,a
5318
   148C E4                 5317         clr     a
5319
   148D 34 E6              5318         addc    a,#(_EPXCS >> 8)
5320
   148F F5 83              5319         mov     dph,a
5321
   1491 E0                 5320         movx    a,@dptr
5322
   1492 FC                 5321         mov     r4,a
5323
   1493 43 04 FE           5322         orl     ar4,#0xFE
5324
   1496 8A 82              5323         mov     dpl,r2
5325
   1498 8B 83              5324         mov     dph,r3
5326
   149A EC                 5325         mov     a,r4
5327
   149B F0                 5326         movx    @dptr,a
5328
                           5327 ;       ../../include/ztex-isr.h:192: }
5329
   149C                    5328 00128$:
5330
                           5329 ;       ../../include/ztex-isr.h:193: a = ( (SETUPDAT[4] & 0x80) >> 3 ) | (SETUPDAT[4] & 0x0f);
5331
   149C 90 E6 BC           5330         mov     dptr,#(_SETUPDAT + 0x0004)
5332
   149F E0                 5331         movx    a,@dptr
5333
   14A0 54 80              5332         anl     a,#0x80
5334
   14A2 C4                 5333         swap    a
5335
   14A3 23                 5334         rl      a
5336
   14A4 54 1F              5335         anl     a,#0x1f
5337
   14A6 FA                 5336         mov     r2,a
5338
   14A7 90 E6 BC           5337         mov     dptr,#(_SETUPDAT + 0x0004)
5339
   14AA E0                 5338         movx    a,@dptr
5340
   14AB FB                 5339         mov     r3,a
5341
   14AC 74 0F              5340         mov     a,#0x0F
5342
   14AE 5B                 5341         anl     a,r3
5343
   14AF 42 02              5342         orl     ar2,a
5344
                           5343 ;       ../../include/ztex-isr.h:194: TOGCTL = a;
5345
                           5344 ;       ../../include/ztex-isr.h:195: TOGCTL = a | bmBIT5;
5346
   14B1 90 E6 83           5345         mov     dptr,#_TOGCTL
5347
   14B4 EA                 5346         mov     a,r2
5348
   14B5 F0                 5347         movx    @dptr,a
5349
   14B6 74 20              5348         mov     a,#0x20
5350
   14B8 4A                 5349         orl     a,r2
5351
   14B9 F0                 5350         movx    @dptr,a
5352
                           5351 ;       ../../include/ztex-isr.h:197: break;
5353
   14BA 02 16 42           5352         ljmp    00160$
5354
                           5353 ;       ../../include/ztex-isr.h:198: case 0x06:                        // get descriptor
5355
   14BD                    5354 00132$:
5356
                           5355 ;       ../../include/ztex-isr.h:199: switch(SETUPDAT[3]) {
5357
   14BD 90 E6 BB           5356         mov     dptr,#(_SETUPDAT + 0x0003)
5358
   14C0 E0                 5357         movx    a,@dptr
5359
   14C1 FA                 5358         mov     r2,a
5360
   14C2 BA 01 02           5359         cjne    r2,#0x01,00261$
5361
   14C5 80 19              5360         sjmp    00133$
5362
   14C7                    5361 00261$:
5363
   14C7 BA 02 02           5362         cjne    r2,#0x02,00262$
5364
   14CA 80 26              5363         sjmp    00134$
5365
   14CC                    5364 00262$:
5366
   14CC BA 03 02           5365         cjne    r2,#0x03,00263$
5367
   14CF 80 4D              5366         sjmp    00138$
5368
   14D1                    5367 00263$:
5369
   14D1 BA 06 03           5368         cjne    r2,#0x06,00264$
5370
   14D4 02 15 91           5369         ljmp    00145$
5371
   14D7                    5370 00264$:
5372
   14D7 BA 07 03           5371         cjne    r2,#0x07,00265$
5373
   14DA 02 15 A3           5372         ljmp    00146$
5374
   14DD                    5373 00265$:
5375
   14DD 02 15 CE           5374         ljmp    00150$
5376
                           5375 ;       ../../include/ztex-isr.h:200: case 0x01:                // device
5377
   14E0                    5376 00133$:
5378
                           5377 ;       ../../include/ztex-isr.h:201: SUDPTRH = MSB(&DeviceDescriptor);
5379
   14E0 7A 8A              5378         mov     r2,#_DeviceDescriptor
5380
   14E2 7B 1E              5379         mov     r3,#(_DeviceDescriptor >> 8)
5381
   14E4 90 E6 B3           5380         mov     dptr,#_SUDPTRH
5382
   14E7 EB                 5381         mov     a,r3
5383
   14E8 F0                 5382         movx    @dptr,a
5384
                           5383 ;       ../../include/ztex-isr.h:202: SUDPTRL = LSB(&DeviceDescriptor);
5385
   14E9 90 E6 B4           5384         mov     dptr,#_SUDPTRL
5386
   14EC 74 8A              5385         mov     a,#_DeviceDescriptor
5387
   14EE F0                 5386         movx    @dptr,a
5388
                           5387 ;       ../../include/ztex-isr.h:203: break;
5389
   14EF 02 16 42           5388         ljmp    00160$
5390
                           5389 ;       ../../include/ztex-isr.h:204: case 0x02:                // configuration
5391
   14F2                    5390 00134$:
5392
                           5391 ;       ../../include/ztex-isr.h:205: if (USBCS & bmBIT7) {
5393
   14F2 90 E6 80           5392         mov     dptr,#_USBCS
5394
   14F5 E0                 5393         movx    a,@dptr
5395
   14F6 FA                 5394         mov     r2,a
5396
   14F7 30 E7 12           5395         jnb     acc.7,00136$
5397
                           5396 ;       ../../include/ztex-isr.h:206: SUDPTRH = MSB(&HighSpeedConfigDescriptor);
5398
   14FA 7A A6              5397         mov     r2,#_HighSpeedConfigDescriptor
5399
   14FC 7B 1E              5398         mov     r3,#(_HighSpeedConfigDescriptor >> 8)
5400
   14FE 90 E6 B3           5399         mov     dptr,#_SUDPTRH
5401
   1501 EB                 5400         mov     a,r3
5402
   1502 F0                 5401         movx    @dptr,a
5403
                           5402 ;       ../../include/ztex-isr.h:207: SUDPTRL = LSB(&HighSpeedConfigDescriptor);
5404
   1503 90 E6 B4           5403         mov     dptr,#_SUDPTRL
5405
   1506 74 A6              5404         mov     a,#_HighSpeedConfigDescriptor
5406
   1508 F0                 5405         movx    @dptr,a
5407
   1509 02 16 42           5406         ljmp    00160$
5408
   150C                    5407 00136$:
5409
                           5408 ;       ../../include/ztex-isr.h:210: SUDPTRH = MSB(&FullSpeedConfigDescriptor);
5410
   150C 7A C8              5409         mov     r2,#_FullSpeedConfigDescriptor
5411
   150E 7B 1E              5410         mov     r3,#(_FullSpeedConfigDescriptor >> 8)
5412
   1510 90 E6 B3           5411         mov     dptr,#_SUDPTRH
5413
   1513 EB                 5412         mov     a,r3
5414
   1514 F0                 5413         movx    @dptr,a
5415
                           5414 ;       ../../include/ztex-isr.h:211: SUDPTRL = LSB(&FullSpeedConfigDescriptor);
5416
   1515 90 E6 B4           5415         mov     dptr,#_SUDPTRL
5417
   1518 74 C8              5416         mov     a,#_FullSpeedConfigDescriptor
5418
   151A F0                 5417         movx    @dptr,a
5419
                           5418 ;       ../../include/ztex-isr.h:213: break;
5420
   151B 02 16 42           5419         ljmp    00160$
5421
                           5420 ;       ../../include/ztex-isr.h:214: case 0x03:                // strings
5422
   151E                    5421 00138$:
5423
                           5422 ;       ../../include/ztex-isr.h:215: switch (SETUPDAT[2]) {
5424
   151E 90 E6 BA           5423         mov     dptr,#(_SETUPDAT + 0x0002)
5425
   1521 E0                 5424         movx    a,@dptr
5426
   1522 FA                 5425         mov     r2,a
5427
   1523 BA 01 02           5426         cjne    r2,#0x01,00267$
5428
   1526 80 0F              5427         sjmp    00139$
5429
   1528                    5428 00267$:
5430
   1528 BA 02 02           5429         cjne    r2,#0x02,00268$
5431
   152B 80 1C              5430         sjmp    00140$
5432
   152D                    5431 00268$:
5433
   152D BA 03 02           5432         cjne    r2,#0x03,00269$
5434
   1530 80 29              5433         sjmp    00141$
5435
   1532                    5434 00269$:
5436
                           5435 ;       ../../include/ztex-isr.h:216: case 1:
5437
   1532 BA 04 4A           5436         cjne    r2,#0x04,00143$
5438
   1535 80 36              5437         sjmp    00142$
5439
   1537                    5438 00139$:
5440
                           5439 ;       ../../include/ztex-isr.h:217: SEND_STRING_DESCRIPTOR(manufacturerString);
5441
   1537 75 82 5D           5440         mov     dpl,#_manufacturerString
5442
   153A 7A 5D              5441         mov     r2,#_manufacturerString
5443
   153C 7B 1E              5442         mov     r3,#(_manufacturerString >> 8)
5444
   153E 8B 16              5443         mov     _sendStringDescriptor_PARM_2,r3
5445
   1540 75 17 05           5444         mov     _sendStringDescriptor_PARM_3,#0x05
5446
   1543 12 11 5D           5445         lcall   _sendStringDescriptor
5447
                           5446 ;       ../../include/ztex-isr.h:218: break;
5448
   1546 02 16 42           5447         ljmp    00160$
5449
                           5448 ;       ../../include/ztex-isr.h:219: case 2:
5450
   1549                    5449 00140$:
5451
                           5450 ;       ../../include/ztex-isr.h:220: SEND_STRING_DESCRIPTOR(productString);
5452
   1549 75 82 62           5451         mov     dpl,#_productString
5453
   154C 7A 62              5452         mov     r2,#_productString
5454
   154E 7B 1E              5453         mov     r3,#(_productString >> 8)
5455
   1550 8B 16              5454         mov     _sendStringDescriptor_PARM_2,r3
5456
   1552 75 17 20           5455         mov     _sendStringDescriptor_PARM_3,#0x20
5457
   1555 12 11 5D           5456         lcall   _sendStringDescriptor
5458
                           5457 ;       ../../include/ztex-isr.h:221: break;
5459
   1558 02 16 42           5458         ljmp    00160$
5460
                           5459 ;       ../../include/ztex-isr.h:222: case 3:
5461
   155B                    5460 00141$:
5462
                           5461 ;       ../../include/ztex-isr.h:223: SEND_STRING_DESCRIPTOR(SN_STRING);
5463
   155B 75 82 8A           5462         mov     dpl,#_SN_STRING
5464
   155E 7A 8A              5463         mov     r2,#_SN_STRING
5465
   1560 7B 00              5464         mov     r3,#(_SN_STRING >> 8)
5466
   1562 8B 16              5465         mov     _sendStringDescriptor_PARM_2,r3
5467
   1564 75 17 0A           5466         mov     _sendStringDescriptor_PARM_3,#0x0A
5468
   1567 12 11 5D           5467         lcall   _sendStringDescriptor
5469
                           5468 ;       ../../include/ztex-isr.h:224: break;
5470
   156A 02 16 42           5469         ljmp    00160$
5471
                           5470 ;       ../../include/ztex-isr.h:225: case 4:
5472
   156D                    5471 00142$:
5473
                           5472 ;       ../../include/ztex-isr.h:226: SEND_STRING_DESCRIPTOR(configurationString);
5474
   156D 75 82 82           5473         mov     dpl,#_configurationString
5475
   1570 7A 82              5474         mov     r2,#_configurationString
5476
   1572 7B 1E              5475         mov     r3,#(_configurationString >> 8)
5477
   1574 8B 16              5476         mov     _sendStringDescriptor_PARM_2,r3
5478
   1576 75 17 08           5477         mov     _sendStringDescriptor_PARM_3,#0x08
5479
   1579 12 11 5D           5478         lcall   _sendStringDescriptor
5480
                           5479 ;       ../../include/ztex-isr.h:227: break;
5481
   157C 02 16 42           5480         ljmp    00160$
5482
                           5481 ;       ../../include/ztex-isr.h:228: default:
5483
   157F                    5482 00143$:
5484
                           5483 ;       ../../include/ztex-isr.h:229: SUDPTRH = MSB(&EmptyStringDescriptor);
5485
   157F 7A EA              5484         mov     r2,#_EmptyStringDescriptor
5486
   1581 7B 1E              5485         mov     r3,#(_EmptyStringDescriptor >> 8)
5487
   1583 90 E6 B3           5486         mov     dptr,#_SUDPTRH
5488
   1586 EB                 5487         mov     a,r3
5489
   1587 F0                 5488         movx    @dptr,a
5490
                           5489 ;       ../../include/ztex-isr.h:230: SUDPTRL = LSB(&EmptyStringDescriptor);
5491
   1588 90 E6 B4           5490         mov     dptr,#_SUDPTRL
5492
   158B 74 EA              5491         mov     a,#_EmptyStringDescriptor
5493
   158D F0                 5492         movx    @dptr,a
5494
                           5493 ;       ../../include/ztex-isr.h:233: break;
5495
   158E 02 16 42           5494         ljmp    00160$
5496
                           5495 ;       ../../include/ztex-isr.h:234: case 0x06:                // device qualifier
5497
   1591                    5496 00145$:
5498
                           5497 ;       ../../include/ztex-isr.h:235: SUDPTRH = MSB(&DeviceQualifierDescriptor);
5499
   1591 7A 9C              5498         mov     r2,#_DeviceQualifierDescriptor
5500
   1593 7B 1E              5499         mov     r3,#(_DeviceQualifierDescriptor >> 8)
5501
   1595 90 E6 B3           5500         mov     dptr,#_SUDPTRH
5502
   1598 EB                 5501         mov     a,r3
5503
   1599 F0                 5502         movx    @dptr,a
5504
                           5503 ;       ../../include/ztex-isr.h:236: SUDPTRL = LSB(&DeviceQualifierDescriptor);
5505
   159A 90 E6 B4           5504         mov     dptr,#_SUDPTRL
5506
   159D 74 9C              5505         mov     a,#_DeviceQualifierDescriptor
5507
   159F F0                 5506         movx    @dptr,a
5508
                           5507 ;       ../../include/ztex-isr.h:237: break;
5509
   15A0 02 16 42           5508         ljmp    00160$
5510
                           5509 ;       ../../include/ztex-isr.h:238: case 0x07:                // other speed configuration
5511
   15A3                    5510 00146$:
5512
                           5511 ;       ../../include/ztex-isr.h:239: if (USBCS & bmBIT7) {
5513
   15A3 90 E6 80           5512         mov     dptr,#_USBCS
5514
   15A6 E0                 5513         movx    a,@dptr
5515
   15A7 FA                 5514         mov     r2,a
5516
   15A8 30 E7 12           5515         jnb     acc.7,00148$
5517
                           5516 ;       ../../include/ztex-isr.h:240: SUDPTRH = MSB(&FullSpeedConfigDescriptor);
5518
   15AB 7A C8              5517         mov     r2,#_FullSpeedConfigDescriptor
5519
   15AD 7B 1E              5518         mov     r3,#(_FullSpeedConfigDescriptor >> 8)
5520
   15AF 90 E6 B3           5519         mov     dptr,#_SUDPTRH
5521
   15B2 EB                 5520         mov     a,r3
5522
   15B3 F0                 5521         movx    @dptr,a
5523
                           5522 ;       ../../include/ztex-isr.h:241: SUDPTRL = LSB(&FullSpeedConfigDescriptor);
5524
   15B4 90 E6 B4           5523         mov     dptr,#_SUDPTRL
5525
   15B7 74 C8              5524         mov     a,#_FullSpeedConfigDescriptor
5526
   15B9 F0                 5525         movx    @dptr,a
5527
   15BA 02 16 42           5526         ljmp    00160$
5528
   15BD                    5527 00148$:
5529
                           5528 ;       ../../include/ztex-isr.h:244: SUDPTRH = MSB(&HighSpeedConfigDescriptor);
5530
   15BD 7A A6              5529         mov     r2,#_HighSpeedConfigDescriptor
5531
   15BF 7B 1E              5530         mov     r3,#(_HighSpeedConfigDescriptor >> 8)
5532
   15C1 90 E6 B3           5531         mov     dptr,#_SUDPTRH
5533
   15C4 EB                 5532         mov     a,r3
5534
   15C5 F0                 5533         movx    @dptr,a
5535
                           5534 ;       ../../include/ztex-isr.h:245: SUDPTRL = LSB(&HighSpeedConfigDescriptor);
5536
   15C6 90 E6 B4           5535         mov     dptr,#_SUDPTRL
5537
   15C9 74 A6              5536         mov     a,#_HighSpeedConfigDescriptor
5538
   15CB F0                 5537         movx    @dptr,a
5539
                           5538 ;       ../../include/ztex-isr.h:247: break;
5540
                           5539 ;       ../../include/ztex-isr.h:248: default:
5541
   15CC 80 74              5540         sjmp    00160$
5542
   15CE                    5541 00150$:
5543
                           5542 ;       ../../include/ztex-isr.h:249: EP0CS |= 0x01;    // set stall, unknown descriptor
5544
   15CE 90 E6 A0           5543         mov     dptr,#_EP0CS
5545
   15D1 E0                 5544         movx    a,@dptr
5546
   15D2 FA                 5545         mov     r2,a
5547
   15D3 44 01              5546         orl     a,#0x01
5548
   15D5 F0                 5547         movx    @dptr,a
5549
                           5548 ;       ../../include/ztex-isr.h:251: break;
5550
                           5549 ;       ../../include/ztex-isr.h:252: case 0x07:                        // set descriptor
5551
   15D6 80 6A              5550         sjmp    00160$
5552
   15D8                    5551 00152$:
5553
                           5552 ;       ../../include/ztex-isr.h:253: break;
5554
                           5553 ;       ../../include/ztex-isr.h:254: case 0x08:                        // get configuration
5555
   15D8 80 68              5554         sjmp    00160$
5556
   15DA                    5555 00153$:
5557
                           5556 ;       ../../include/ztex-isr.h:255: EP0BUF[0] = 0;            // only one configuration
5558
   15DA 90 E7 40           5557         mov     dptr,#_EP0BUF
5559
                           5558 ;       ../../include/ztex-isr.h:256: EP0BCH = 0;
5560
   15DD E4                 5559         clr     a
5561
   15DE F0                 5560         movx    @dptr,a
5562
   15DF 90 E6 8A           5561         mov     dptr,#_EP0BCH
5563
   15E2 F0                 5562         movx    @dptr,a
5564
                           5563 ;       ../../include/ztex-isr.h:257: EP0BCL = 1;
5565
   15E3 90 E6 8B           5564         mov     dptr,#_EP0BCL
5566
   15E6 74 01              5565         mov     a,#0x01
5567
   15E8 F0                 5566         movx    @dptr,a
5568
                           5567 ;       ../../include/ztex-isr.h:258: break;
5569
                           5568 ;       ../../include/ztex-isr.h:259: case 0x09:                        // set configuration
5570
   15E9 80 57              5569         sjmp    00160$
5571
   15EB                    5570 00154$:
5572
                           5571 ;       ../../include/ztex-isr.h:260: resetToggleData();
5573
   15EB 12 11 3F           5572         lcall   _resetToggleData
5574
                           5573 ;       ../../include/ztex-isr.h:261: break;                    // do nothing since we have only one configuration
5575
                           5574 ;       ../../include/ztex-isr.h:262: case 0x0a:                        // get alternate setting for an interface
5576
   15EE 80 52              5575         sjmp    00160$
5577
   15F0                    5576 00155$:
5578
                           5577 ;       ../../include/ztex-isr.h:263: EP0BUF[0] = 0;            // only one alternate setting
5579
   15F0 90 E7 40           5578         mov     dptr,#_EP0BUF
5580
                           5579 ;       ../../include/ztex-isr.h:264: EP0BCH = 0;
5581
   15F3 E4                 5580         clr     a
5582
   15F4 F0                 5581         movx    @dptr,a
5583
   15F5 90 E6 8A           5582         mov     dptr,#_EP0BCH
5584
   15F8 F0                 5583         movx    @dptr,a
5585
                           5584 ;       ../../include/ztex-isr.h:265: EP0BCL = 1;
5586
   15F9 90 E6 8B           5585         mov     dptr,#_EP0BCL
5587
   15FC 74 01              5586         mov     a,#0x01
5588
   15FE F0                 5587         movx    @dptr,a
5589
                           5588 ;       ../../include/ztex-isr.h:266: break;
5590
                           5589 ;       ../../include/ztex-isr.h:267: case 0x0b:                        // set alternate setting for an interface
5591
   15FF 80 41              5590         sjmp    00160$
5592
   1601                    5591 00156$:
5593
                           5592 ;       ../../include/ztex-isr.h:268: resetToggleData();
5594
   1601 12 11 3F           5593         lcall   _resetToggleData
5595
                           5594 ;       ../../include/ztex-isr.h:269: break;                    // do nothing since we have only on alternate setting
5596
                           5595 ;       ../../include/ztex-isr.h:270: case 0x0c:                        // sync frame
5597
   1604 80 3C              5596         sjmp    00160$
5598
   1606                    5597 00157$:
5599
                           5598 ;       ../../include/ztex-isr.h:271: if ( SETUPDAT[0] == 0x82 ) {
5600
   1606 90 E6 B8           5599         mov     dptr,#_SETUPDAT
5601
   1609 E0                 5600         movx    a,@dptr
5602
   160A FA                 5601         mov     r2,a
5603
   160B BA 82 34           5602         cjne    r2,#0x82,00160$
5604
                           5603 ;       ../../include/ztex-isr.h:272: ISOFRAME_COUNTER[ ((SETUPDAT[4] >> 1)-1) & 3 ] = 0;
5605
   160E 90 E6 BC           5604         mov     dptr,#(_SETUPDAT + 0x0004)
5606
   1611 E0                 5605         movx    a,@dptr
5607
   1612 C3                 5606         clr     c
5608
   1613 13                 5607         rrc     a
5609
   1614 14                 5608         dec     a
5610
   1615 54 03              5609         anl     a,#0x03
5611
   1617 25 E0              5610         add     a,acc
5612
   1619 24 3B              5611         add     a,#_ISOFRAME_COUNTER
5613
   161B F5 82              5612         mov     dpl,a
5614
   161D E4                 5613         clr     a
5615
   161E 34 3A              5614         addc    a,#(_ISOFRAME_COUNTER >> 8)
5616
   1620 F5 83              5615         mov     dph,a
5617
   1622 E4                 5616         clr     a
5618
   1623 F0                 5617         movx    @dptr,a
5619
   1624 A3                 5618         inc     dptr
5620
   1625 F0                 5619         movx    @dptr,a
5621
                           5620 ;       ../../include/ztex-isr.h:273: EP0BUF[0] = USBFRAMEL;    // use current frame as sync frame, i hope that works
5622
   1626 90 E6 85           5621         mov     dptr,#_USBFRAMEL
5623
   1629 E0                 5622         movx    a,@dptr
5624
   162A 90 E7 40           5623         mov     dptr,#_EP0BUF
5625
   162D F0                 5624         movx    @dptr,a
5626
                           5625 ;       ../../include/ztex-isr.h:274: EP0BUF[1] = USBFRAMEH;
5627
   162E 90 E6 84           5626         mov     dptr,#_USBFRAMEH
5628
   1631 E0                 5627         movx    a,@dptr
5629
   1632 FA                 5628         mov     r2,a
5630
   1633 90 E7 41           5629         mov     dptr,#(_EP0BUF + 0x0001)
5631
   1636 F0                 5630         movx    @dptr,a
5632
                           5631 ;       ../../include/ztex-isr.h:275: EP0BCH = 0;
5633
   1637 90 E6 8A           5632         mov     dptr,#_EP0BCH
5634
   163A E4                 5633         clr     a
5635
   163B F0                 5634         movx    @dptr,a
5636
                           5635 ;       ../../include/ztex-isr.h:276: EP0BCL = 2;
5637
   163C 90 E6 8B           5636         mov     dptr,#_EP0BCL
5638
   163F 74 02              5637         mov     a,#0x02
5639
   1641 F0                 5638         movx    @dptr,a
5640
                           5639 ;       ../../include/ztex-isr.h:280: }
5641
   1642                    5640 00160$:
5642
                           5641 ;       ../../include/ztex-isr.h:283: switch ( bmRequestType ) {
5643
   1642 90 E6 B8           5642         mov     dptr,#_bmRequestType
5644
   1645 E0                 5643         movx    a,@dptr
5645
   1646 FA                 5644         mov     r2,a
5646
   1647 BA 40 03           5645         cjne    r2,#0x40,00274$
5647
   164A 02 18 6D           5646         ljmp    00182$
5648
   164D                    5647 00274$:
5649
   164D BA C0 02           5648         cjne    r2,#0xC0,00275$
5650
   1650 80 03              5649         sjmp    00276$
5651
   1652                    5650 00275$:
5652
   1652 02 18 97           5651         ljmp    00186$
5653
   1655                    5652 00276$:
5654
                           5653 ;       ../../include/ztex-isr.h:285: ep0_payload_remaining = (SETUPDAT[7] << 8) | SETUPDAT[6];
5655
   1655 90 E6 BF           5654         mov     dptr,#(_SETUPDAT + 0x0007)
5656
   1658 E0                 5655         movx    a,@dptr
5657
   1659 FB                 5656         mov     r3,a
5658
   165A 7A 00              5657         mov     r2,#0x00
5659
   165C 90 E6 BE           5658         mov     dptr,#(_SETUPDAT + 0x0006)
5660
   165F E0                 5659         movx    a,@dptr
5661
   1660 FC                 5660         mov     r4,a
5662
   1661 7D 00              5661         mov     r5,#0x00
5663
   1663 90 3A 36           5662         mov     dptr,#_ep0_payload_remaining
5664
   1666 EC                 5663         mov     a,r4
5665
   1667 4A                 5664         orl     a,r2
5666
   1668 F0                 5665         movx    @dptr,a
5667
   1669 ED                 5666         mov     a,r5
5668
   166A 4B                 5667         orl     a,r3
5669
   166B A3                 5668         inc     dptr
5670
   166C F0                 5669         movx    @dptr,a
5671
                           5670 ;       ../../include/ztex-isr.h:286: ep0_payload_update();
5672
   166D 12 11 C6           5671         lcall   _ep0_payload_update
5673
                           5672 ;       ../../include/ztex-isr.h:288: switch ( bRequest ) {
5674
   1670 90 E6 B9           5673         mov     dptr,#_bRequest
5675
   1673 E0                 5674         movx    a,@dptr
5676
   1674 FA                 5675         mov     r2,a
5677
   1675 BA 22 02           5676         cjne    r2,#0x22,00277$
5678
   1678 80 31              5677         sjmp    00162$
5679
   167A                    5678 00277$:
5680
   167A BA 30 03           5679         cjne    r2,#0x30,00278$
5681
   167D 02 18 13           5680         ljmp    00176$
5682
   1680                    5681 00278$:
5683
   1680 BA 38 02           5682         cjne    r2,#0x38,00279$
5684
   1683 80 43              5683         sjmp    00163$
5685
   1685                    5684 00279$:
5686
   1685 BA 3A 02           5685         cjne    r2,#0x3A,00280$
5687
   1688 80 67              5686         sjmp    00164$
5688
   168A                    5687 00280$:
5689
   168A BA 3B 03           5688         cjne    r2,#0x3B,00281$
5690
   168D 02 17 30           5689         ljmp    00165$
5691
   1690                    5690 00281$:
5692
   1690 BA 3D 03           5691         cjne    r2,#0x3D,00282$
5693
   1693 02 17 49           5692         ljmp    00166$
5694
   1696                    5693 00282$:
5695
   1696 BA 40 03           5694         cjne    r2,#0x40,00283$
5696
   1699 02 17 6A           5695         ljmp    00167$
5697
   169C                    5696 00283$:
5698
   169C BA 41 03           5697         cjne    r2,#0x41,00284$
5699
   169F 02 17 A0           5698         ljmp    00171$
5700
   16A2                    5699 00284$:
5701
   16A2 BA 43 03           5700         cjne    r2,#0x43,00285$
5702
   16A5 02 17 ED           5701         ljmp    00175$
5703
   16A8                    5702 00285$:
5704
   16A8 02 18 63           5703         ljmp    00180$
5705
                           5704 ;       ../../include/ztex-isr.h:289: case 0x22:                                // get ZTEX descriptor
5706
   16AB                    5705 00162$:
5707
                           5706 ;       ../../include/ztex-isr.h:290: SUDPTRCTL = 0;
5708
   16AB 90 E6 B5           5707         mov     dptr,#_SUDPTRCTL
5709
                           5708 ;       ../../include/ztex-isr.h:291: EP0BCH = 0;
5710
   16AE E4                 5709         clr     a
5711
   16AF F0                 5710         movx    @dptr,a
5712
   16B0 90 E6 8A           5711         mov     dptr,#_EP0BCH
5713
   16B3 F0                 5712         movx    @dptr,a
5714
                           5713 ;       ../../include/ztex-isr.h:292: EP0BCL = ZTEX_DESCRIPTOR_LEN;
5715
   16B4 90 E6 8B           5714         mov     dptr,#_EP0BCL
5716
   16B7 74 28              5715         mov     a,#0x28
5717
   16B9 F0                 5716         movx    @dptr,a
5718
                           5717 ;       ../../include/ztex-isr.h:293: SUDPTRH = MSB(ZTEX_DESCRIPTOR_OFFS);
5719
   16BA 90 E6 B3           5718         mov     dptr,#_SUDPTRH
5720
   16BD E4                 5719         clr     a
5721
   16BE F0                 5720         movx    @dptr,a
5722
                           5721 ;       ../../include/ztex-isr.h:294: SUDPTRL = LSB(ZTEX_DESCRIPTOR_OFFS);
5723
   16BF 90 E6 B4           5722         mov     dptr,#_SUDPTRL
5724
   16C2 74 6C              5723         mov     a,#0x6C
5725
   16C4 F0                 5724         movx    @dptr,a
5726
                           5725 ;       ../../include/ztex-isr.h:295: break;
5727
   16C5 02 18 97           5726         ljmp    00186$
5728
                           5727 ;       ../../include/ztex-conf.h:100: case $0:
5729
   16C8                    5728 00163$:
5730
                           5729 ;       ../../include/ztex-conf.h:102: break;
5731
   16C8 90 E6 BB           5730         mov     dptr,#(_SETUPDAT + 0x0003)
5732
   16CB E0                 5731         movx    a,@dptr
5733
   16CC FB                 5732         mov     r3,a
5734
   16CD 7A 00              5733         mov     r2,#0x00
5735
   16CF 90 E6 BA           5734         mov     dptr,#(_SETUPDAT + 0x0002)
5736
   16D2 E0                 5735         movx    a,@dptr
5737
   16D3 FC                 5736         mov     r4,a
5738
   16D4 7D 00              5737         mov     r5,#0x00
5739
   16D6 90 3A 00           5738         mov     dptr,#_eeprom_addr
5740
   16D9 EC                 5739         mov     a,r4
5741
   16DA 4A                 5740         orl     a,r2
5742
   16DB F0                 5741         movx    @dptr,a
5743
   16DC ED                 5742         mov     a,r5
5744
   16DD 4B                 5743         orl     a,r3
5745
   16DE A3                 5744         inc     dptr
5746
   16DF F0                 5745         movx    @dptr,a
5747
                           5746 ;       ../../include/ztex-eeprom.h:219: EP0BCH = 0;
5748
   16E0 90 E6 8A           5747         mov     dptr,#_EP0BCH
5749
   16E3 E4                 5748         clr     a
5750
   16E4 F0                 5749         movx    @dptr,a
5751
                           5750 ;       ../../include/ztex-eeprom.h:220: EP0BCL = eeprom_read_ep0();
5752
   16E5 12 05 73           5751         lcall   _eeprom_read_ep0
5753
   16E8 E5 82              5752         mov     a,dpl
5754
   16EA 90 E6 8B           5753         mov     dptr,#_EP0BCL
5755
   16ED F0                 5754         movx    @dptr,a
5756
                           5755 ;       ../../include/ztex-conf.h:102: break;
5757
   16EE 02 18 97           5756         ljmp    00186$
5758
                           5757 ;       ../../include/ztex-conf.h:100: case $0:
5759
   16F1                    5758 00164$:
5760
                           5759 ;       ../../include/ztex-eeprom.h:247: EP0BUF[0] = LSB(eeprom_write_bytes);
5761
   16F1 90 3A 02           5760         mov     dptr,#_eeprom_write_bytes
5762
   16F4 E0                 5761         movx    a,@dptr
5763
   16F5 FA                 5762         mov     r2,a
5764
   16F6 A3                 5763         inc     dptr
5765
   16F7 E0                 5764         movx    a,@dptr
5766
   16F8 FB                 5765         mov     r3,a
5767
   16F9 8A 04              5766         mov     ar4,r2
5768
   16FB 90 E7 40           5767         mov     dptr,#_EP0BUF
5769
   16FE EC                 5768         mov     a,r4
5770
   16FF F0                 5769         movx    @dptr,a
5771
                           5770 ;       ../../include/ztex-eeprom.h:248: EP0BUF[1] = MSB(eeprom_write_bytes);
5772
   1700 8B 02              5771         mov     ar2,r3
5773
   1702 90 E7 41           5772         mov     dptr,#(_EP0BUF + 0x0001)
5774
   1705 EA                 5773         mov     a,r2
5775
   1706 F0                 5774         movx    @dptr,a
5776
                           5775 ;       ../../include/ztex-eeprom.h:249: EP0BUF[2] = eeprom_write_checksum;
5777
   1707 90 3A 04           5776         mov     dptr,#_eeprom_write_checksum
5778
   170A E0                 5777         movx    a,@dptr
5779
   170B 90 E7 42           5778         mov     dptr,#(_EP0BUF + 0x0002)
5780
   170E F0                 5779         movx    @dptr,a
5781
                           5780 ;       ../../include/ztex-eeprom.h:250: EP0BUF[3] = eeprom_select(EEPROM_ADDR,0,1);            // 1 means busy or error
5782
   170F 75 08 00           5781         mov     _eeprom_select_PARM_2,#0x00
5783
   1712 75 09 01           5782         mov     _eeprom_select_PARM_3,#0x01
5784
   1715 75 82 A2           5783         mov     dpl,#0xA2
5785
   1718 12 03 46           5784         lcall   _eeprom_select
5786
   171B AA 82              5785         mov     r2,dpl
5787
   171D 90 E7 43           5786         mov     dptr,#(_EP0BUF + 0x0003)
5788
   1720 EA                 5787         mov     a,r2
5789
   1721 F0                 5788         movx    @dptr,a
5790
                           5789 ;       ../../include/ztex-eeprom.h:251: EP0BCH = 0;
5791
   1722 90 E6 8A           5790         mov     dptr,#_EP0BCH
5792
   1725 E4                 5791         clr     a
5793
   1726 F0                 5792         movx    @dptr,a
5794
                           5793 ;       ../../include/ztex-eeprom.h:252: EP0BCL = 4;
5795
   1727 90 E6 8B           5794         mov     dptr,#_EP0BCL
5796
   172A 74 04              5795         mov     a,#0x04
5797
   172C F0                 5796         movx    @dptr,a
5798
                           5797 ;       ../../include/ztex-conf.h:102: break;
5799
   172D 02 18 97           5798         ljmp    00186$
5800
                           5799 ;       ../../include/ztex-conf.h:100: case $0:
5801
   1730                    5800 00165$:
5802
                           5801 ;       ../../include/ztex-conf.h:102: break;
5803
   1730 90 E6 BA           5802         mov     dptr,#(_SETUPDAT + 0x0002)
5804
   1733 E0                 5803         movx    a,@dptr
5805
   1734 90 3A 05           5804         mov     dptr,#_mac_eeprom_addr
5806
   1737 F0                 5805         movx    @dptr,a
5807
                           5806 ;       ../../include/ztex-eeprom.h:368: EP0BCH = 0;
5808
   1738 90 E6 8A           5807         mov     dptr,#_EP0BCH
5809
   173B E4                 5808         clr     a
5810
   173C F0                 5809         movx    @dptr,a
5811
                           5810 ;       ../../include/ztex-eeprom.h:369: EP0BCL = mac_eeprom_read_ep0();
5812
   173D 12 07 B9           5811         lcall   _mac_eeprom_read_ep0
5813
   1740 E5 82              5812         mov     a,dpl
5814
   1742 90 E6 8B           5813         mov     dptr,#_EP0BCL
5815
   1745 F0                 5814         movx    @dptr,a
5816
                           5815 ;       ../../include/ztex-conf.h:102: break;
5817
   1746 02 18 97           5816         ljmp    00186$
5818
                           5817 ;       ../../include/ztex-conf.h:100: case $0:
5819
   1749                    5818 00166$:
5820
                           5819 ;       ../../include/ztex-conf.h:102: break;
5821
   1749 75 08 00           5820         mov     _eeprom_select_PARM_2,#0x00
5822
   174C 75 09 01           5821         mov     _eeprom_select_PARM_3,#0x01
5823
   174F 75 82 A6           5822         mov     dpl,#0xA6
5824
   1752 12 03 46           5823         lcall   _eeprom_select
5825
   1755 AA 82              5824         mov     r2,dpl
5826
   1757 90 E7 40           5825         mov     dptr,#_EP0BUF
5827
   175A EA                 5826         mov     a,r2
5828
   175B F0                 5827         movx    @dptr,a
5829
                           5828 ;       ../../include/ztex-eeprom.h:390: EP0BCH = 0;
5830
   175C 90 E6 8A           5829         mov     dptr,#_EP0BCH
5831
   175F E4                 5830         clr     a
5832
   1760 F0                 5831         movx    @dptr,a
5833
                           5832 ;       ../../include/ztex-eeprom.h:391: EP0BCL = 1;
5834
   1761 90 E6 8B           5833         mov     dptr,#_EP0BCL
5835
   1764 74 01              5834         mov     a,#0x01
5836
   1766 F0                 5835         movx    @dptr,a
5837
                           5836 ;       ../../include/ztex-conf.h:102: break;
5838
   1767 02 18 97           5837         ljmp    00186$
5839
                           5838 ;       ../../include/ztex-conf.h:100: case $0:
5840
   176A                    5839 00167$:
5841
                           5840 ;       ../../include/ztex-flash2.h:646: if ( flash_ec == 0 && SPI_CS == 0 ) {
5842
   176A 90 3A 0E           5841         mov     dptr,#_flash_ec
5843
   176D E0                 5842         movx    a,@dptr
5844
   176E FA                 5843         mov     r2,a
5845
   176F 70 09              5844         jnz     00169$
5846
   1771 20 83 06           5845         jb      _IOA3,00169$
5847
                           5846 ;       ../../include/ztex-flash2.h:647: flash_ec = FLASH_EC_PENDING;
5848
   1774 90 3A 0E           5847         mov     dptr,#_flash_ec
5849
   1777 74 04              5848         mov     a,#0x04
5850
   1779 F0                 5849         movx    @dptr,a
5851
   177A                    5850 00169$:
5852
                           5851 ;       ../../include/ztex-utils.h:121: AUTOPTRL1=LO(&($0));
5853
   177A 75 9B 07           5852         mov     _AUTOPTRL1,#_flash_enabled
5854
                           5853 ;       ../../include/ztex-utils.h:122: AUTOPTRH1=HI(&($0));
5855
   177D 7A 07              5854         mov     r2,#_flash_enabled
5856
   177F 7B 3A              5855         mov     r3,#(_flash_enabled >> 8)
5857
   1781 8B 9A              5856         mov     _AUTOPTRH1,r3
5858
                           5857 ;       ../../include/ztex-utils.h:123: AUTOPTRL2=LO(&($1));
5859
   1783 75 9E 40           5858         mov     _AUTOPTRL2,#0x40
5860
                           5859 ;       ../../include/ztex-utils.h:124: AUTOPTRH2=HI(&($1));
5861
   1786 75 9D E7           5860         mov     _AUTOPTRH2,#0xE7
5862
                           5861 ;       ../../include/ztex-utils.h:130: __endasm;
5863
                           5862
5864
   1789 C0 02              5863           push ar2
5865
   178B 7A 08              5864             mov r2,#(8);
5866
   178D 12 02 AD           5865           lcall _MEM_COPY1_int
5867
   1790 D0 02              5866           pop ar2
5868
                           5867
5869
                           5868 ;       ../../include/ztex-flash2.h:650: EP0BCH = 0;
5870
   1792 90 E6 8A           5869         mov     dptr,#_EP0BCH
5871
   1795 E4                 5870         clr     a
5872
   1796 F0                 5871         movx    @dptr,a
5873
                           5872 ;       ../../include/ztex-flash2.h:651: EP0BCL = 8;
5874
   1797 90 E6 8B           5873         mov     dptr,#_EP0BCL
5875
   179A 74 08              5874         mov     a,#0x08
5876
   179C F0                 5875         movx    @dptr,a
5877
                           5876 ;       ../../include/ztex-conf.h:102: break;
5878
   179D 02 18 97           5877         ljmp    00186$
5879
                           5878 ;       ../../include/ztex-conf.h:100: case $0:
5880
   17A0                    5879 00171$:
5881
                           5880 ;       ../../include/ztex-flash2.h:671: ep0_read_mode = SETUPDAT[5];
5882
   17A0 90 E6 BD           5881         mov     dptr,#(_SETUPDAT + 0x0005)
5883
   17A3 E0                 5882         movx    a,@dptr
5884
   17A4 FA                 5883         mov     r2,a
5885
   17A5 90 3A 1E           5884         mov     dptr,#_ep0_read_mode
5886
   17A8 F0                 5885         movx    @dptr,a
5887
                           5886 ;       ../../include/ztex-flash2.h:672: if ( (ep0_read_mode==0) && flash_read_init((SETUPDAT[3] << 8) | SETUPDAT[2]) ) {
5888
   17A9 EA                 5887         mov     a,r2
5889
   17AA 70 2D              5888         jnz     00173$
5890
   17AC 90 E6 BB           5889         mov     dptr,#(_SETUPDAT + 0x0003)
5891
   17AF E0                 5890         movx    a,@dptr
5892
   17B0 FB                 5891         mov     r3,a
5893
   17B1 7A 00              5892         mov     r2,#0x00
5894
   17B3 90 E6 BA           5893         mov     dptr,#(_SETUPDAT + 0x0002)
5895
   17B6 E0                 5894         movx    a,@dptr
5896
   17B7 7D 00              5895         mov     r5,#0x00
5897
   17B9 4A                 5896         orl     a,r2
5898
   17BA F5 82              5897         mov     dpl,a
5899
   17BC ED                 5898         mov     a,r5
5900
   17BD 4B                 5899         orl     a,r3
5901
   17BE F5 83              5900         mov     dph,a
5902
   17C0 12 09 63           5901         lcall   _flash_read_init
5903
   17C3 E5 82              5902         mov     a,dpl
5904
   17C5 60 12              5903         jz      00173$
5905
                           5904 ;       ../../include/ztex-conf.h:137: EP0CS |= 0x01;   // set stall
5906
   17C7 90 E6 A0           5905         mov     dptr,#_EP0CS
5907
   17CA E0                 5906         movx    a,@dptr
5908
   17CB FA                 5907         mov     r2,a
5909
   17CC 44 01              5908         orl     a,#0x01
5910
   17CE F0                 5909         movx    @dptr,a
5911
                           5910 ;       ../../include/ztex-conf.h:138: ep0_payload_remaining = 0;
5912
   17CF 90 3A 36           5911         mov     dptr,#_ep0_payload_remaining
5913
   17D2 E4                 5912         clr     a
5914
   17D3 F0                 5913         movx    @dptr,a
5915
   17D4 A3                 5914         inc     dptr
5916
   17D5 F0                 5915         movx    @dptr,a
5917
                           5916 ;       ../../include/ztex-conf.h:139: break;
5918
   17D6 02 18 97           5917         ljmp    00186$
5919
   17D9                    5918 00173$:
5920
                           5919 ;       ../../include/ztex-flash2.h:675: spi_read_ep0();
5921
   17D9 12 0C ED           5920         lcall   _spi_read_ep0
5922
                           5921 ;       ../../include/ztex-flash2.h:676: EP0BCH = 0;
5923
   17DC 90 E6 8A           5922         mov     dptr,#_EP0BCH
5924
   17DF E4                 5923         clr     a
5925
   17E0 F0                 5924         movx    @dptr,a
5926
                           5925 ;       ../../include/ztex-flash2.h:677: EP0BCL = ep0_payload_transfer;
5927
   17E1 90 3A 38           5926         mov     dptr,#_ep0_payload_transfer
5928
   17E4 E0                 5927         movx    a,@dptr
5929
   17E5 FA                 5928         mov     r2,a
5930
   17E6 90 E6 8B           5929         mov     dptr,#_EP0BCL
5931
   17E9 F0                 5930         movx    @dptr,a
5932
                           5931 ;       ../../include/ztex-conf.h:102: break;
5933
   17EA 02 18 97           5932         ljmp    00186$
5934
                           5933 ;       ../../include/ztex-conf.h:100: case $0:
5935
   17ED                    5934 00175$:
5936
                           5935 ;       ../../include/ztex-utils.h:121: AUTOPTRL1=LO(&($0));
5937
   17ED 75 9B 0E           5936         mov     _AUTOPTRL1,#_flash_ec
5938
                           5937 ;       ../../include/ztex-utils.h:122: AUTOPTRH1=HI(&($0));
5939
   17F0 7A 0E              5938         mov     r2,#_flash_ec
5940
   17F2 7B 3A              5939         mov     r3,#(_flash_ec >> 8)
5941
   17F4 8B 9A              5940         mov     _AUTOPTRH1,r3
5942
                           5941 ;       ../../include/ztex-utils.h:123: AUTOPTRL2=LO(&($1));
5943
   17F6 75 9E 40           5942         mov     _AUTOPTRL2,#0x40
5944
                           5943 ;       ../../include/ztex-utils.h:124: AUTOPTRH2=HI(&($1));
5945
   17F9 75 9D E7           5944         mov     _AUTOPTRH2,#0xE7
5946
                           5945 ;       ../../include/ztex-utils.h:130: __endasm;
5947
                           5946
5948
   17FC C0 02              5947           push ar2
5949
   17FE 7A 0A              5948             mov r2,#(10);
5950
   1800 12 02 AD           5949           lcall _MEM_COPY1_int
5951
   1803 D0 02              5950           pop ar2
5952
                           5951
5953
                           5952 ;       ../../include/ztex-flash2.h:719: EP0BCH = 0;
5954
   1805 90 E6 8A           5953         mov     dptr,#_EP0BCH
5955
   1808 E4                 5954         clr     a
5956
   1809 F0                 5955         movx    @dptr,a
5957
                           5956 ;       ../../include/ztex-flash2.h:720: EP0BCL = 10;
5958
   180A 90 E6 8B           5957         mov     dptr,#_EP0BCL
5959
   180D 74 0A              5958         mov     a,#0x0A
5960
   180F F0                 5959         movx    @dptr,a
5961
                           5960 ;       ../../include/ztex-conf.h:102: break;
5962
   1810 02 18 97           5961         ljmp    00186$
5963
                           5962 ;       ../../include/ztex-conf.h:100: case $0:
5964
   1813                    5963 00176$:
5965
                           5964 ;       ../../include/ztex-utils.h:121: AUTOPTRL1=LO(&($0));
5966
   1813 75 9B 20           5965         mov     _AUTOPTRL1,#_fpga_checksum
5967
                           5966 ;       ../../include/ztex-utils.h:122: AUTOPTRH1=HI(&($0));
5968
   1816 7A 20              5967         mov     r2,#_fpga_checksum
5969
   1818 7B 3A              5968         mov     r3,#(_fpga_checksum >> 8)
5970
   181A 8B 9A              5969         mov     _AUTOPTRH1,r3
5971
                           5970 ;       ../../include/ztex-utils.h:123: AUTOPTRL2=LO(&($1));
5972
   181C 75 9E 41           5971         mov     _AUTOPTRL2,#(_EP0BUF + 0x0001)
5973
                           5972 ;       ../../include/ztex-utils.h:124: AUTOPTRH2=HI(&($1));
5974
   181F 7A 41              5973         mov     r2,#(_EP0BUF + 0x0001)
5975
   1821 7B E7              5974         mov     r3,#((_EP0BUF + 0x0001) >> 8)
5976
   1823 8B 9D              5975         mov     _AUTOPTRH2,r3
5977
                           5976 ;       ../../include/ztex-utils.h:130: __endasm;
5978
                           5977
5979
   1825 C0 02              5978           push ar2
5980
   1827 7A 07              5979             mov r2,#(7);
5981
   1829 12 02 AD           5980           lcall _MEM_COPY1_int
5982
   182C D0 02              5981           pop ar2
5983
                           5982
5984
                           5983 ;       ../../include/ztex-fpga7.h:144: OEE = (OEE & ~bmBIT6) | bmBIT7;
5985
   182E AA B6              5984         mov     r2,_OEE
5986
   1830 74 BF              5985         mov     a,#0xBF
5987
   1832 5A                 5986         anl     a,r2
5988
   1833 F5 F0              5987         mov     b,a
5989
   1835 74 80              5988         mov     a,#0x80
5990
   1837 45 F0              5989         orl     a,b
5991
   1839 F5 B6              5990         mov     _OEE,a
5992
                           5991 ;       ../../include/ztex-fpga7.h:145: if ( IOE & bmBIT6 )  {
5993
   183B E5 B1              5992         mov     a,_IOE
5994
   183D 30 E6 07           5993         jnb     acc.6,00178$
5995
                           5994 ;       ../../include/ztex-fpga7.h:146: EP0BUF[0] = 0;                  // FPGA configured
5996
   1840 90 E7 40           5995         mov     dptr,#_EP0BUF
5997
   1843 E4                 5996         clr     a
5998
   1844 F0                 5997         movx    @dptr,a
5999
   1845 80 09              5998         sjmp    00179$
6000
   1847                    5999 00178$:
6001
                           6000 ;       ../../include/ztex-fpga7.h:149: EP0BUF[0] = 1;                  // FPGA unconfigured
6002
   1847 90 E7 40           6001         mov     dptr,#_EP0BUF
6003
   184A 74 01              6002         mov     a,#0x01
6004
   184C F0                 6003         movx    @dptr,a
6005
                           6004 ;       ../../include/ztex-fpga7.h:150: reset_fpga();                   // prepare FPGA for configuration
6006
   184D 12 0D 33           6005         lcall   _reset_fpga
6007
   1850                    6006 00179$:
6008
                           6007 ;       ../../include/ztex-fpga7.h:153: EP0BUF[8] = 1;                  // bit order for bitstream in Flash memory: swapped
6009
   1850 90 E7 48           6008         mov     dptr,#(_EP0BUF + 0x0008)
6010
   1853 74 01              6009         mov     a,#0x01
6011
   1855 F0                 6010         movx    @dptr,a
6012
                           6011 ;       ../../include/ztex-fpga7.h:155: EP0BCH = 0;
6013
   1856 90 E6 8A           6012         mov     dptr,#_EP0BCH
6014
   1859 E4                 6013         clr     a
6015
   185A F0                 6014         movx    @dptr,a
6016
                           6015 ;       ../../include/ztex-fpga7.h:156: EP0BCL = 9;
6017
   185B 90 E6 8B           6016         mov     dptr,#_EP0BCL
6018
   185E 74 09              6017         mov     a,#0x09
6019
   1860 F0                 6018         movx    @dptr,a
6020
                           6019 ;       ../../include/ztex-conf.h:102: break;
6021
                           6020 ;       ../../include/ztex-isr.h:297: default:
6022
   1861 80 34              6021         sjmp    00186$
6023
   1863                    6022 00180$:
6024
                           6023 ;       ../../include/ztex-isr.h:298: EP0CS |= 0x01;                    // set stall, unknown request
6025
   1863 90 E6 A0           6024         mov     dptr,#_EP0CS
6026
   1866 E0                 6025         movx    a,@dptr
6027
   1867 FA                 6026         mov     r2,a
6028
   1868 44 01              6027         orl     a,#0x01
6029
   186A F0                 6028         movx    @dptr,a
6030
                           6029 ;       ../../include/ztex-isr.h:300: break;
6031
                           6030 ;       ../../include/ztex-isr.h:301: case 0x40:                                        // vendor command
6032
   186B 80 2A              6031         sjmp    00186$
6033
   186D                    6032 00182$:
6034
                           6033 ;       ../../include/ztex-isr.h:305: if ( SETUPDAT[7]!=0 || SETUPDAT[6]!=0 ) {
6035
   186D 90 E6 BF           6034         mov     dptr,#(_SETUPDAT + 0x0007)
6036
   1870 E0                 6035         movx    a,@dptr
6037
   1871 70 06              6036         jnz     00183$
6038
   1873 90 E6 BE           6037         mov     dptr,#(_SETUPDAT + 0x0006)
6039
   1876 E0                 6038         movx    a,@dptr
6040
   1877 60 16              6039         jz      00184$
6041
   1879                    6040 00183$:
6042
                           6041 ;       ../../include/ztex-isr.h:306: ep0_vendor_cmd_setup = 1;
6043
   1879 90 3A 3A           6042         mov     dptr,#_ep0_vendor_cmd_setup
6044
   187C 74 01              6043         mov     a,#0x01
6045
   187E F0                 6044         movx    @dptr,a
6046
                           6045 ;       ../../include/ztex-isr.h:307: EP0BCL = 0;
6047
   187F 90 E6 8B           6046         mov     dptr,#_EP0BCL
6048
   1882 E4                 6047         clr     a
6049
   1883 F0                 6048         movx    @dptr,a
6050
                           6049 ;       ../../include/ztex-isr.h:308: EXIF &= ~bmBIT4;                    // clear main USB interrupt flag
6051
   1884 53 91 EF           6050         anl     _EXIF,#0xEF
6052
                           6051 ;       ../../include/ztex-isr.h:309: USBIRQ = bmBIT0;                  // clear SUADV IRQ
6053
   1887 90 E6 5D           6052         mov     dptr,#_USBIRQ
6054
   188A 74 01              6053         mov     a,#0x01
6055
   188C F0                 6054         movx    @dptr,a
6056
                           6055 ;       ../../include/ztex-isr.h:310: return;                                   // don't clear HSNAK bit. This is done after the command has completed
6057
   188D 80 19              6056         sjmp    00187$
6058
   188F                    6057 00184$:
6059
                           6058 ;       ../../include/ztex-isr.h:312: ep0_vendor_cmd_su();                      // setup sequences of vendor command with no payload ara executed immediately
6060
   188F 12 11 F3           6059         lcall   _ep0_vendor_cmd_su
6061
                           6060 ;       ../../include/ztex-isr.h:313: EP0BCL = 0;
6062
   1892 90 E6 8B           6061         mov     dptr,#_EP0BCL
6063
   1895 E4                 6062         clr     a
6064
   1896 F0                 6063         movx    @dptr,a
6065
                           6064 ;       ../../include/ztex-isr.h:315: }
6066
   1897                    6065 00186$:
6067
                           6066 ;       ../../include/ztex-isr.h:317: EXIF &= ~bmBIT4;                                    // clear main USB interrupt flag
6068
   1897 53 91 EF           6067         anl     _EXIF,#0xEF
6069
                           6068 ;       ../../include/ztex-isr.h:318: USBIRQ = bmBIT0;                                  // clear SUADV IRQ
6070
   189A 90 E6 5D           6069         mov     dptr,#_USBIRQ
6071
   189D 74 01              6070         mov     a,#0x01
6072
   189F F0                 6071         movx    @dptr,a
6073
                           6072 ;       ../../include/ztex-isr.h:319: EP0CS |= 0x80;                                    // clear the HSNAK bit
6074
   18A0 90 E6 A0           6073         mov     dptr,#_EP0CS
6075
   18A3 E0                 6074         movx    a,@dptr
6076
   18A4 FA                 6075         mov     r2,a
6077
   18A5 44 80              6076         orl     a,#0x80
6078
   18A7 F0                 6077         movx    @dptr,a
6079
   18A8                    6078 00187$:
6080
   18A8 D0 D0              6079         pop     psw
6081
   18AA D0 01              6080         pop     (0+1)
6082
   18AC D0 00              6081         pop     (0+0)
6083
   18AE D0 07              6082         pop     (0+7)
6084
   18B0 D0 06              6083         pop     (0+6)
6085
   18B2 D0 05              6084         pop     (0+5)
6086
   18B4 D0 04              6085         pop     (0+4)
6087
   18B6 D0 03              6086         pop     (0+3)
6088
   18B8 D0 02              6087         pop     (0+2)
6089
   18BA D0 83              6088         pop     dph
6090
   18BC D0 82              6089         pop     dpl
6091
   18BE D0 F0              6090         pop     b
6092
   18C0 D0 E0              6091         pop     acc
6093
   18C2 D0 20              6092         pop     bits
6094
   18C4 32                 6093         reti
6095
                           6094 ;------------------------------------------------------------
6096
                           6095 ;Allocation info for local variables in function 'SOF_ISR'
6097
                           6096 ;------------------------------------------------------------
6098
                           6097 ;------------------------------------------------------------
6099
                           6098 ;       ../../include/ztex-isr.h:325: void SOF_ISR() __interrupt
6100
                           6099 ;       -----------------------------------------
6101
                           6100 ;        function SOF_ISR
6102
                           6101 ;       -----------------------------------------
6103
   18C5                    6102 _SOF_ISR:
6104
   18C5 C0 E0              6103         push    acc
6105
   18C7 C0 82              6104         push    dpl
6106
   18C9 C0 83              6105         push    dph
6107
                           6106 ;       ../../include/ztex-isr.h:327: EXIF &= ~bmBIT4;
6108
   18CB 53 91 EF           6107         anl     _EXIF,#0xEF
6109
                           6108 ;       ../../include/ztex-isr.h:328: USBIRQ = bmBIT1;
6110
   18CE 90 E6 5D           6109         mov     dptr,#_USBIRQ
6111
   18D1 74 02              6110         mov     a,#0x02
6112
   18D3 F0                 6111         movx    @dptr,a
6113
   18D4 D0 83              6112         pop     dph
6114
   18D6 D0 82              6113         pop     dpl
6115
   18D8 D0 E0              6114         pop     acc
6116
   18DA 32                 6115         reti
6117
                           6116 ;       eliminated unneeded push/pop psw
6118
                           6117 ;       eliminated unneeded push/pop b
6119
                           6118 ;------------------------------------------------------------
6120
                           6119 ;Allocation info for local variables in function 'SUTOK_ISR'
6121
                           6120 ;------------------------------------------------------------
6122
                           6121 ;------------------------------------------------------------
6123
                           6122 ;       ../../include/ztex-isr.h:334: void SUTOK_ISR() __interrupt
6124
                           6123 ;       -----------------------------------------
6125
                           6124 ;        function SUTOK_ISR
6126
                           6125 ;       -----------------------------------------
6127
   18DB                    6126 _SUTOK_ISR:
6128
   18DB C0 E0              6127         push    acc
6129
   18DD C0 82              6128         push    dpl
6130
   18DF C0 83              6129         push    dph
6131
                           6130 ;       ../../include/ztex-isr.h:336: EXIF &= ~bmBIT4;
6132
   18E1 53 91 EF           6131         anl     _EXIF,#0xEF
6133
                           6132 ;       ../../include/ztex-isr.h:337: USBIRQ = bmBIT2;
6134
   18E4 90 E6 5D           6133         mov     dptr,#_USBIRQ
6135
   18E7 74 04              6134         mov     a,#0x04
6136
   18E9 F0                 6135         movx    @dptr,a
6137
   18EA D0 83              6136         pop     dph
6138
   18EC D0 82              6137         pop     dpl
6139
   18EE D0 E0              6138         pop     acc
6140
   18F0 32                 6139         reti
6141
                           6140 ;       eliminated unneeded push/pop psw
6142
                           6141 ;       eliminated unneeded push/pop b
6143
                           6142 ;------------------------------------------------------------
6144
                           6143 ;Allocation info for local variables in function 'SUSP_ISR'
6145
                           6144 ;------------------------------------------------------------
6146
                           6145 ;------------------------------------------------------------
6147
                           6146 ;       ../../include/ztex-isr.h:343: void SUSP_ISR() __interrupt
6148
                           6147 ;       -----------------------------------------
6149
                           6148 ;        function SUSP_ISR
6150
                           6149 ;       -----------------------------------------
6151
   18F1                    6150 _SUSP_ISR:
6152
   18F1 C0 E0              6151         push    acc
6153
   18F3 C0 82              6152         push    dpl
6154
   18F5 C0 83              6153         push    dph
6155
                           6154 ;       ../../include/ztex-isr.h:345: EXIF &= ~bmBIT4;
6156
   18F7 53 91 EF           6155         anl     _EXIF,#0xEF
6157
                           6156 ;       ../../include/ztex-isr.h:346: USBIRQ = bmBIT3;
6158
   18FA 90 E6 5D           6157         mov     dptr,#_USBIRQ
6159
   18FD 74 08              6158         mov     a,#0x08
6160
   18FF F0                 6159         movx    @dptr,a
6161
   1900 D0 83              6160         pop     dph
6162
   1902 D0 82              6161         pop     dpl
6163
   1904 D0 E0              6162         pop     acc
6164
   1906 32                 6163         reti
6165
                           6164 ;       eliminated unneeded push/pop psw
6166
                           6165 ;       eliminated unneeded push/pop b
6167
                           6166 ;------------------------------------------------------------
6168
                           6167 ;Allocation info for local variables in function 'URES_ISR'
6169
                           6168 ;------------------------------------------------------------
6170
                           6169 ;------------------------------------------------------------
6171
                           6170 ;       ../../include/ztex-isr.h:352: void URES_ISR() __interrupt
6172
                           6171 ;       -----------------------------------------
6173
                           6172 ;        function URES_ISR
6174
                           6173 ;       -----------------------------------------
6175
   1907                    6174 _URES_ISR:
6176
   1907 C0 E0              6175         push    acc
6177
   1909 C0 82              6176         push    dpl
6178
   190B C0 83              6177         push    dph
6179
                           6178 ;       ../../include/ztex-isr.h:354: EXIF &= ~bmBIT4;
6180
   190D 53 91 EF           6179         anl     _EXIF,#0xEF
6181
                           6180 ;       ../../include/ztex-isr.h:355: USBIRQ = bmBIT4;
6182
   1910 90 E6 5D           6181         mov     dptr,#_USBIRQ
6183
   1913 74 10              6182         mov     a,#0x10
6184
   1915 F0                 6183         movx    @dptr,a
6185
   1916 D0 83              6184         pop     dph
6186
   1918 D0 82              6185         pop     dpl
6187
   191A D0 E0              6186         pop     acc
6188
   191C 32                 6187         reti
6189
                           6188 ;       eliminated unneeded push/pop psw
6190
                           6189 ;       eliminated unneeded push/pop b
6191
                           6190 ;------------------------------------------------------------
6192
                           6191 ;Allocation info for local variables in function 'HSGRANT_ISR'
6193
                           6192 ;------------------------------------------------------------
6194
                           6193 ;------------------------------------------------------------
6195
                           6194 ;       ../../include/ztex-isr.h:361: void HSGRANT_ISR() __interrupt
6196
                           6195 ;       -----------------------------------------
6197
                           6196 ;        function HSGRANT_ISR
6198
                           6197 ;       -----------------------------------------
6199
   191D                    6198 _HSGRANT_ISR:
6200
   191D C0 E0              6199         push    acc
6201
   191F C0 82              6200         push    dpl
6202
   1921 C0 83              6201         push    dph
6203
                           6202 ;       ../../include/ztex-isr.h:363: EXIF &= ~bmBIT4;
6204
   1923 53 91 EF           6203         anl     _EXIF,#0xEF
6205
                           6204 ;       ../../include/ztex-isr.h:365: USBIRQ = bmBIT5;
6206
   1926 90 E6 5D           6205         mov     dptr,#_USBIRQ
6207
   1929 74 20              6206         mov     a,#0x20
6208
   192B F0                 6207         movx    @dptr,a
6209
   192C D0 83              6208         pop     dph
6210
   192E D0 82              6209         pop     dpl
6211
   1930 D0 E0              6210         pop     acc
6212
   1932 32                 6211         reti
6213
                           6212 ;       eliminated unneeded push/pop psw
6214
                           6213 ;       eliminated unneeded push/pop b
6215
                           6214 ;------------------------------------------------------------
6216
                           6215 ;Allocation info for local variables in function 'EP0ACK_ISR'
6217
                           6216 ;------------------------------------------------------------
6218
                           6217 ;------------------------------------------------------------
6219
                           6218 ;       ../../include/ztex-isr.h:371: void EP0ACK_ISR() __interrupt
6220
                           6219 ;       -----------------------------------------
6221
                           6220 ;        function EP0ACK_ISR
6222
                           6221 ;       -----------------------------------------
6223
   1933                    6222 _EP0ACK_ISR:
6224
   1933 C0 E0              6223         push    acc
6225
   1935 C0 82              6224         push    dpl
6226
   1937 C0 83              6225         push    dph
6227
                           6226 ;       ../../include/ztex-isr.h:373: EXIF &= ~bmBIT4;    // clear USB interrupt flag
6228
   1939 53 91 EF           6227         anl     _EXIF,#0xEF
6229
                           6228 ;       ../../include/ztex-isr.h:374: USBIRQ = bmBIT6;  // clear EP0ACK IRQ
6230
   193C 90 E6 5D           6229         mov     dptr,#_USBIRQ
6231
   193F 74 40              6230         mov     a,#0x40
6232
   1941 F0                 6231         movx    @dptr,a
6233
   1942 D0 83              6232         pop     dph
6234
   1944 D0 82              6233         pop     dpl
6235
   1946 D0 E0              6234         pop     acc
6236
   1948 32                 6235         reti
6237
                           6236 ;       eliminated unneeded push/pop psw
6238
                           6237 ;       eliminated unneeded push/pop b
6239
                           6238 ;------------------------------------------------------------
6240
                           6239 ;Allocation info for local variables in function 'EP0IN_ISR'
6241
                           6240 ;------------------------------------------------------------
6242
                           6241 ;------------------------------------------------------------
6243
                           6242 ;       ../../include/ztex-isr.h:380: static void EP0IN_ISR () __interrupt
6244
                           6243 ;       -----------------------------------------
6245
                           6244 ;        function EP0IN_ISR
6246
                           6245 ;       -----------------------------------------
6247
   1949                    6246 _EP0IN_ISR:
6248
   1949 C0 20              6247         push    bits
6249
   194B C0 E0              6248         push    acc
6250
   194D C0 F0              6249         push    b
6251
   194F C0 82              6250         push    dpl
6252
   1951 C0 83              6251         push    dph
6253
   1953 C0 02              6252         push    (0+2)
6254
   1955 C0 03              6253         push    (0+3)
6255
   1957 C0 04              6254         push    (0+4)
6256
   1959 C0 05              6255         push    (0+5)
6257
   195B C0 06              6256         push    (0+6)
6258
   195D C0 07              6257         push    (0+7)
6259
   195F C0 00              6258         push    (0+0)
6260
   1961 C0 01              6259         push    (0+1)
6261
   1963 C0 D0              6260         push    psw
6262
   1965 75 D0 00           6261         mov     psw,#0x00
6263
                           6262 ;       ../../include/ztex-isr.h:382: EUSB = 0;                 // block all USB interrupts
6264
   1968 C2 E8              6263         clr     _EUSB
6265
                           6264 ;       ../../include/ztex-isr.h:383: ep0_payload_update();
6266
   196A 12 11 C6           6265         lcall   _ep0_payload_update
6267
                           6266 ;       ../../include/ztex-isr.h:384: switch ( ep0_prev_setup_request ) {
6268
   196D 90 3A 39           6267         mov     dptr,#_ep0_prev_setup_request
6269
   1970 E0                 6268         movx    a,@dptr
6270
   1971 FA                 6269         mov     r2,a
6271
   1972 BA 30 03           6270         cjne    r2,#0x30,00124$
6272
   1975 02 19 E3           6271         ljmp    00112$
6273
   1978                    6272 00124$:
6274
   1978 BA 38 02           6273         cjne    r2,#0x38,00125$
6275
   197B 80 1E              6274         sjmp    00101$
6276
   197D                    6275 00125$:
6277
   197D BA 3A 02           6276         cjne    r2,#0x3A,00126$
6278
   1980 80 61              6277         sjmp    00112$
6279
   1982                    6278 00126$:
6280
   1982 BA 3B 02           6279         cjne    r2,#0x3B,00127$
6281
   1985 80 24              6280         sjmp    00103$
6282
   1987                    6281 00127$:
6283
   1987 BA 3D 02           6282         cjne    r2,#0x3D,00128$
6284
   198A 80 57              6283         sjmp    00112$
6285
   198C                    6284 00128$:
6286
   198C BA 40 02           6285         cjne    r2,#0x40,00129$
6287
   198F 80 52              6286         sjmp    00112$
6288
   1991                    6287 00129$:
6289
   1991 BA 41 02           6288         cjne    r2,#0x41,00130$
6290
   1994 80 25              6289         sjmp    00106$
6291
   1996                    6290 00130$:
6292
                           6291 ;       ../../include/ztex-conf.h:105: case $0:
6293
   1996 BA 43 41           6292         cjne    r2,#0x43,00111$
6294
   1999 80 48              6293         sjmp    00112$
6295
   199B                    6294 00101$:
6296
                           6295 ;       ../../include/ztex-eeprom.h:222: EP0BCH = 0;
6297
   199B 90 E6 8A           6296         mov     dptr,#_EP0BCH
6298
   199E E4                 6297         clr     a
6299
   199F F0                 6298         movx    @dptr,a
6300
                           6299 ;       ../../include/ztex-eeprom.h:223: EP0BCL = eeprom_read_ep0();
6301
   19A0 12 05 73           6300         lcall   _eeprom_read_ep0
6302
   19A3 E5 82              6301         mov     a,dpl
6303
   19A5 90 E6 8B           6302         mov     dptr,#_EP0BCL
6304
   19A8 F0                 6303         movx    @dptr,a
6305
                           6304 ;       ../../include/ztex-conf.h:107: break;
6306
                           6305 ;       ../../include/ztex-conf.h:105: case $0:
6307
   19A9 80 38              6306         sjmp    00112$
6308
   19AB                    6307 00103$:
6309
                           6308 ;       ../../include/ztex-eeprom.h:371: EP0BCH = 0;
6310
   19AB 90 E6 8A           6309         mov     dptr,#_EP0BCH
6311
   19AE E4                 6310         clr     a
6312
   19AF F0                 6311         movx    @dptr,a
6313
                           6312 ;       ../../include/ztex-eeprom.h:372: EP0BCL = mac_eeprom_read_ep0();
6314
   19B0 12 07 B9           6313         lcall   _mac_eeprom_read_ep0
6315
   19B3 E5 82              6314         mov     a,dpl
6316
   19B5 90 E6 8B           6315         mov     dptr,#_EP0BCL
6317
   19B8 F0                 6316         movx    @dptr,a
6318
                           6317 ;       ../../include/ztex-conf.h:107: break;
6319
                           6318 ;       ../../include/ztex-conf.h:105: case $0:
6320
   19B9 80 28              6319         sjmp    00112$
6321
   19BB                    6320 00106$:
6322
                           6321 ;       ../../include/ztex-flash2.h:679: if ( ep0_payload_transfer != 0 ) {
6323
   19BB 90 3A 38           6322         mov     dptr,#_ep0_payload_transfer
6324
   19BE E0                 6323         movx    a,@dptr
6325
   19BF FA                 6324         mov     r2,a
6326
   19C0 60 08              6325         jz      00108$
6327
                           6326 ;       ../../include/ztex-flash2.h:680: flash_ec = 0;
6328
   19C2 90 3A 0E           6327         mov     dptr,#_flash_ec
6329
   19C5 E4                 6328         clr     a
6330
   19C6 F0                 6329         movx    @dptr,a
6331
                           6330 ;       ../../include/ztex-flash2.h:681: spi_read_ep0();
6332
   19C7 12 0C ED           6331         lcall   _spi_read_ep0
6333
   19CA                    6332 00108$:
6334
                           6333 ;       ../../include/ztex-flash2.h:683: EP0BCH = 0;
6335
   19CA 90 E6 8A           6334         mov     dptr,#_EP0BCH
6336
   19CD E4                 6335         clr     a
6337
   19CE F0                 6336         movx    @dptr,a
6338
                           6337 ;       ../../include/ztex-flash2.h:684: EP0BCL = ep0_payload_transfer;
6339
   19CF 90 3A 38           6338         mov     dptr,#_ep0_payload_transfer
6340
   19D2 E0                 6339         movx    a,@dptr
6341
   19D3 FA                 6340         mov     r2,a
6342
   19D4 90 E6 8B           6341         mov     dptr,#_EP0BCL
6343
   19D7 F0                 6342         movx    @dptr,a
6344
                           6343 ;       ../../include/ztex-conf.h:107: break;
6345
                           6344 ;       ../../include/ztex-isr.h:386: default:
6346
   19D8 80 09              6345         sjmp    00112$
6347
   19DA                    6346 00111$:
6348
                           6347 ;       ../../include/ztex-isr.h:387: EP0BCH = 0;
6349
   19DA 90 E6 8A           6348         mov     dptr,#_EP0BCH
6350
                           6349 ;       ../../include/ztex-isr.h:388: EP0BCL = 0;
6351
   19DD E4                 6350         clr     a
6352
   19DE F0                 6351         movx    @dptr,a
6353
   19DF 90 E6 8B           6352         mov     dptr,#_EP0BCL
6354
   19E2 F0                 6353         movx    @dptr,a
6355
                           6354 ;       ../../include/ztex-isr.h:389: }
6356
   19E3                    6355 00112$:
6357
                           6356 ;       ../../include/ztex-isr.h:390: EXIF &= ~bmBIT4;            // clear USB interrupt flag
6358
   19E3 53 91 EF           6357         anl     _EXIF,#0xEF
6359
                           6358 ;       ../../include/ztex-isr.h:391: EPIRQ = bmBIT0;           // clear EP0IN IRQ
6360
   19E6 90 E6 5F           6359         mov     dptr,#_EPIRQ
6361
   19E9 74 01              6360         mov     a,#0x01
6362
   19EB F0                 6361         movx    @dptr,a
6363
                           6362 ;       ../../include/ztex-isr.h:392: EUSB = 1;
6364
   19EC D2 E8              6363         setb    _EUSB
6365
   19EE D0 D0              6364         pop     psw
6366
   19F0 D0 01              6365         pop     (0+1)
6367
   19F2 D0 00              6366         pop     (0+0)
6368
   19F4 D0 07              6367         pop     (0+7)
6369
   19F6 D0 06              6368         pop     (0+6)
6370
   19F8 D0 05              6369         pop     (0+5)
6371
   19FA D0 04              6370         pop     (0+4)
6372
   19FC D0 03              6371         pop     (0+3)
6373
   19FE D0 02              6372         pop     (0+2)
6374
   1A00 D0 83              6373         pop     dph
6375
   1A02 D0 82              6374         pop     dpl
6376
   1A04 D0 F0              6375         pop     b
6377
   1A06 D0 E0              6376         pop     acc
6378
   1A08 D0 20              6377         pop     bits
6379
   1A0A 32                 6378         reti
6380
                           6379 ;------------------------------------------------------------
6381
                           6380 ;Allocation info for local variables in function 'EP0OUT_ISR'
6382
                           6381 ;------------------------------------------------------------
6383
                           6382 ;------------------------------------------------------------
6384
                           6383 ;       ../../include/ztex-isr.h:398: static void EP0OUT_ISR () __interrupt
6385
                           6384 ;       -----------------------------------------
6386
                           6385 ;        function EP0OUT_ISR
6387
                           6386 ;       -----------------------------------------
6388
   1A0B                    6387 _EP0OUT_ISR:
6389
   1A0B C0 20              6388         push    bits
6390
   1A0D C0 E0              6389         push    acc
6391
   1A0F C0 F0              6390         push    b
6392
   1A11 C0 82              6391         push    dpl
6393
   1A13 C0 83              6392         push    dph
6394
   1A15 C0 02              6393         push    (0+2)
6395
   1A17 C0 03              6394         push    (0+3)
6396
   1A19 C0 04              6395         push    (0+4)
6397
   1A1B C0 05              6396         push    (0+5)
6398
   1A1D C0 06              6397         push    (0+6)
6399
   1A1F C0 07              6398         push    (0+7)
6400
   1A21 C0 00              6399         push    (0+0)
6401
   1A23 C0 01              6400         push    (0+1)
6402
   1A25 C0 D0              6401         push    psw
6403
   1A27 75 D0 00           6402         mov     psw,#0x00
6404
                           6403 ;       ../../include/ztex-isr.h:400: EUSB = 0;                 // block all USB interrupts
6405
   1A2A C2 E8              6404         clr     _EUSB
6406
                           6405 ;       ../../include/ztex-isr.h:401: if ( ep0_vendor_cmd_setup ) {
6407
   1A2C 90 3A 3A           6406         mov     dptr,#_ep0_vendor_cmd_setup
6408
   1A2F E0                 6407         movx    a,@dptr
6409
   1A30 FA                 6408         mov     r2,a
6410
   1A31 60 20              6409         jz      00102$
6411
                           6410 ;       ../../include/ztex-isr.h:402: ep0_vendor_cmd_setup = 0;
6412
   1A33 90 3A 3A           6411         mov     dptr,#_ep0_vendor_cmd_setup
6413
   1A36 E4                 6412         clr     a
6414
   1A37 F0                 6413         movx    @dptr,a
6415
                           6414 ;       ../../include/ztex-isr.h:403: ep0_payload_remaining = (SETUPDAT[7] << 8) | SETUPDAT[6];
6416
   1A38 90 E6 BF           6415         mov     dptr,#(_SETUPDAT + 0x0007)
6417
   1A3B E0                 6416         movx    a,@dptr
6418
   1A3C FB                 6417         mov     r3,a
6419
   1A3D 7A 00              6418         mov     r2,#0x00
6420
   1A3F 90 E6 BE           6419         mov     dptr,#(_SETUPDAT + 0x0006)
6421
   1A42 E0                 6420         movx    a,@dptr
6422
   1A43 FC                 6421         mov     r4,a
6423
   1A44 7D 00              6422         mov     r5,#0x00
6424
   1A46 90 3A 36           6423         mov     dptr,#_ep0_payload_remaining
6425
   1A49 EC                 6424         mov     a,r4
6426
   1A4A 4A                 6425         orl     a,r2
6427
   1A4B F0                 6426         movx    @dptr,a
6428
   1A4C ED                 6427         mov     a,r5
6429
   1A4D 4B                 6428         orl     a,r3
6430
   1A4E A3                 6429         inc     dptr
6431
   1A4F F0                 6430         movx    @dptr,a
6432
                           6431 ;       ../../include/ztex-isr.h:404: ep0_vendor_cmd_su();
6433
   1A50 12 11 F3           6432         lcall   _ep0_vendor_cmd_su
6434
   1A53                    6433 00102$:
6435
                           6434 ;       ../../include/ztex-isr.h:407: ep0_payload_update();
6436
   1A53 12 11 C6           6435         lcall   _ep0_payload_update
6437
                           6436 ;       ../../include/ztex-isr.h:409: switch ( ep0_prev_setup_request ) {
6438
   1A56 90 3A 39           6437         mov     dptr,#_ep0_prev_setup_request
6439
   1A59 E0                 6438         movx    a,@dptr
6440
   1A5A FA                 6439         mov     r2,a
6441
   1A5B BA 31 02           6440         cjne    r2,#0x31,00127$
6442
   1A5E 80 60              6441         sjmp    00112$
6443
   1A60                    6442 00127$:
6444
   1A60 BA 32 02           6443         cjne    r2,#0x32,00128$
6445
   1A63 80 58              6444         sjmp    00111$
6446
   1A65                    6445 00128$:
6447
   1A65 BA 39 02           6446         cjne    r2,#0x39,00129$
6448
   1A68 80 0A              6447         sjmp    00103$
6449
   1A6A                    6448 00129$:
6450
   1A6A BA 3C 02           6449         cjne    r2,#0x3C,00130$
6451
   1A6D 80 10              6450         sjmp    00104$
6452
   1A6F                    6451 00130$:
6453
                           6452 ;       ../../include/ztex-conf.h:128: case $0:
6454
   1A6F BA 42 4E           6453         cjne    r2,#0x42,00112$
6455
   1A72 80 1F              6454         sjmp    00105$
6456
   1A74                    6455 00103$:
6457
                           6456 ;       ../../include/ztex-eeprom.h:240: eeprom_write_ep0(EP0BCL);
6458
   1A74 90 E6 8B           6457         mov     dptr,#_EP0BCL
6459
   1A77 E0                 6458         movx    a,@dptr
6460
   1A78 F5 82              6459         mov     dpl,a
6461
   1A7A 12 05 A7           6460         lcall   _eeprom_write_ep0
6462
                           6461 ;       ../../include/ztex-conf.h:130: break;
6463
                           6462 ;       ../../include/ztex-conf.h:128: case $0:
6464
   1A7D 80 41              6463         sjmp    00112$
6465
   1A7F                    6464 00104$:
6466
                           6465 ;       ../../include/ztex-eeprom.h:382: mac_eeprom_write(EP0BUF, mac_eeprom_addr, EP0BCL);
6467
   1A7F 90 3A 05           6466         mov     dptr,#_mac_eeprom_addr
6468
   1A82 E0                 6467         movx    a,@dptr
6469
   1A83 F5 12              6468         mov     _mac_eeprom_write_PARM_2,a
6470
   1A85 90 E6 8B           6469         mov     dptr,#_EP0BCL
6471
   1A88 E0                 6470         movx    a,@dptr
6472
   1A89 F5 13              6471         mov     _mac_eeprom_write_PARM_3,a
6473
   1A8B 90 E7 40           6472         mov     dptr,#_EP0BUF
6474
   1A8E 12 06 C1           6473         lcall   _mac_eeprom_write
6475
                           6474 ;       ../../include/ztex-conf.h:130: break;
6476
                           6475 ;       ../../include/ztex-conf.h:128: case $0:
6477
   1A91 80 2D              6476         sjmp    00112$
6478
   1A93                    6477 00105$:
6479
                           6478 ;       ../../include/ztex-flash2.h:703: if ( ep0_payload_transfer != 0 ) {
6480
   1A93 90 3A 38           6479         mov     dptr,#_ep0_payload_transfer
6481
   1A96 E0                 6480         movx    a,@dptr
6482
   1A97 FA                 6481         mov     r2,a
6483
   1A98 60 26              6482         jz      00112$
6484
                           6483 ;       ../../include/ztex-flash2.h:704: flash_ec = 0;
6485
   1A9A 90 3A 0E           6484         mov     dptr,#_flash_ec
6486
   1A9D E4                 6485         clr     a
6487
   1A9E F0                 6486         movx    @dptr,a
6488
                           6487 ;       ../../include/ztex-flash2.h:705: spi_send_ep0();
6489
   1A9F 12 0D 10           6488         lcall   _spi_send_ep0
6490
                           6489 ;       ../../include/ztex-flash2.h:706: if ( flash_ec != 0 ) {
6491
   1AA2 90 3A 0E           6490         mov     dptr,#_flash_ec
6492
   1AA5 E0                 6491         movx    a,@dptr
6493
   1AA6 FA                 6492         mov     r2,a
6494
   1AA7 60 17              6493         jz      00112$
6495
                           6494 ;       ../../include/ztex-flash2.h:707: spi_deselect();
6496
   1AA9 12 08 ED           6495         lcall   _spi_deselect
6497
                           6496 ;       ../../include/ztex-conf.h:137: EP0CS |= 0x01;   // set stall
6498
   1AAC 90 E6 A0           6497         mov     dptr,#_EP0CS
6499
   1AAF E0                 6498         movx    a,@dptr
6500
   1AB0 FA                 6499         mov     r2,a
6501
   1AB1 44 01              6500         orl     a,#0x01
6502
   1AB3 F0                 6501         movx    @dptr,a
6503
                           6502 ;       ../../include/ztex-conf.h:138: ep0_payload_remaining = 0;
6504
   1AB4 90 3A 36           6503         mov     dptr,#_ep0_payload_remaining
6505
   1AB7 E4                 6504         clr     a
6506
   1AB8 F0                 6505         movx    @dptr,a
6507
   1AB9 A3                 6506         inc     dptr
6508
   1ABA F0                 6507         movx    @dptr,a
6509
                           6508 ;       ../../include/ztex-conf.h:139: break;
6510
                           6509 ;       ../../include/ztex-conf.h:128: case $0:
6511
   1ABB 80 03              6510         sjmp    00112$
6512
   1ABD                    6511 00111$:
6513
                           6512 ;       ../../include/ztex-fpga7.h:211: fpga_send_ep0();
6514
   1ABD 12 0E 67           6513         lcall   _fpga_send_ep0
6515
                           6514 ;       ../../include/ztex-isr.h:411: }
6516
   1AC0                    6515 00112$:
6517
                           6516 ;       ../../include/ztex-isr.h:413: EP0BCL = 0;
6518
   1AC0 90 E6 8B           6517         mov     dptr,#_EP0BCL
6519
   1AC3 E4                 6518         clr     a
6520
   1AC4 F0                 6519         movx    @dptr,a
6521
                           6520 ;       ../../include/ztex-isr.h:415: EXIF &= ~bmBIT4;            // clear main USB interrupt flag
6522
   1AC5 53 91 EF           6521         anl     _EXIF,#0xEF
6523
                           6522 ;       ../../include/ztex-isr.h:416: EPIRQ = bmBIT1;           // clear EP0OUT IRQ
6524
   1AC8 90 E6 5F           6523         mov     dptr,#_EPIRQ
6525
   1ACB 74 02              6524         mov     a,#0x02
6526
   1ACD F0                 6525         movx    @dptr,a
6527
                           6526 ;       ../../include/ztex-isr.h:417: if ( ep0_payload_remaining == 0 ) {
6528
   1ACE 90 3A 36           6527         mov     dptr,#_ep0_payload_remaining
6529
   1AD1 E0                 6528         movx    a,@dptr
6530
   1AD2 FA                 6529         mov     r2,a
6531
   1AD3 A3                 6530         inc     dptr
6532
   1AD4 E0                 6531         movx    a,@dptr
6533
   1AD5 FB                 6532         mov     r3,a
6534
   1AD6 4A                 6533         orl     a,r2
6535
   1AD7 70 08              6534         jnz     00114$
6536
                           6535 ;       ../../include/ztex-isr.h:418: EP0CS |= 0x80;            // clear the HSNAK bit
6537
   1AD9 90 E6 A0           6536         mov     dptr,#_EP0CS
6538
   1ADC E0                 6537         movx    a,@dptr
6539
   1ADD FA                 6538         mov     r2,a
6540
   1ADE 44 80              6539         orl     a,#0x80
6541
   1AE0 F0                 6540         movx    @dptr,a
6542
   1AE1                    6541 00114$:
6543
                           6542 ;       ../../include/ztex-isr.h:420: EUSB = 1;
6544
   1AE1 D2 E8              6543         setb    _EUSB
6545
   1AE3 D0 D0              6544         pop     psw
6546
   1AE5 D0 01              6545         pop     (0+1)
6547
   1AE7 D0 00              6546         pop     (0+0)
6548
   1AE9 D0 07              6547         pop     (0+7)
6549
   1AEB D0 06              6548         pop     (0+6)
6550
   1AED D0 05              6549         pop     (0+5)
6551
   1AEF D0 04              6550         pop     (0+4)
6552
   1AF1 D0 03              6551         pop     (0+3)
6553
   1AF3 D0 02              6552         pop     (0+2)
6554
   1AF5 D0 83              6553         pop     dph
6555
   1AF7 D0 82              6554         pop     dpl
6556
   1AF9 D0 F0              6555         pop     b
6557
   1AFB D0 E0              6556         pop     acc
6558
   1AFD D0 20              6557         pop     bits
6559
   1AFF 32                 6558         reti
6560
                           6559 ;------------------------------------------------------------
6561
                           6560 ;Allocation info for local variables in function 'EP1IN_ISR'
6562
                           6561 ;------------------------------------------------------------
6563
                           6562 ;------------------------------------------------------------
6564
                           6563 ;       ../../include/ztex-isr.h:427: void EP1IN_ISR() __interrupt
6565
                           6564 ;       -----------------------------------------
6566
                           6565 ;        function EP1IN_ISR
6567
                           6566 ;       -----------------------------------------
6568
   1B00                    6567 _EP1IN_ISR:
6569
   1B00 C0 E0              6568         push    acc
6570
   1B02 C0 82              6569         push    dpl
6571
   1B04 C0 83              6570         push    dph
6572
                           6571 ;       ../../include/ztex-isr.h:429: EXIF &= ~bmBIT4;
6573
   1B06 53 91 EF           6572         anl     _EXIF,#0xEF
6574
                           6573 ;       ../../include/ztex-isr.h:430: EPIRQ = bmBIT2;
6575
   1B09 90 E6 5F           6574         mov     dptr,#_EPIRQ
6576
   1B0C 74 04              6575         mov     a,#0x04
6577
   1B0E F0                 6576         movx    @dptr,a
6578
   1B0F D0 83              6577         pop     dph
6579
   1B11 D0 82              6578         pop     dpl
6580
   1B13 D0 E0              6579         pop     acc
6581
   1B15 32                 6580         reti
6582
                           6581 ;       eliminated unneeded push/pop psw
6583
                           6582 ;       eliminated unneeded push/pop b
6584
                           6583 ;------------------------------------------------------------
6585
                           6584 ;Allocation info for local variables in function 'EP1OUT_ISR'
6586
                           6585 ;------------------------------------------------------------
6587
                           6586 ;------------------------------------------------------------
6588
                           6587 ;       ../../include/ztex-isr.h:437: void EP1OUT_ISR() __interrupt
6589
                           6588 ;       -----------------------------------------
6590
                           6589 ;        function EP1OUT_ISR
6591
                           6590 ;       -----------------------------------------
6592
   1B16                    6591 _EP1OUT_ISR:
6593
   1B16 C0 E0              6592         push    acc
6594
   1B18 C0 82              6593         push    dpl
6595
   1B1A C0 83              6594         push    dph
6596
                           6595 ;       ../../include/ztex-isr.h:439: EXIF &= ~bmBIT4;
6597
   1B1C 53 91 EF           6596         anl     _EXIF,#0xEF
6598
                           6597 ;       ../../include/ztex-isr.h:440: EPIRQ = bmBIT3;
6599
   1B1F 90 E6 5F           6598         mov     dptr,#_EPIRQ
6600
   1B22 74 08              6599         mov     a,#0x08
6601
   1B24 F0                 6600         movx    @dptr,a
6602
   1B25 D0 83              6601         pop     dph
6603
   1B27 D0 82              6602         pop     dpl
6604
   1B29 D0 E0              6603         pop     acc
6605
   1B2B 32                 6604         reti
6606
                           6605 ;       eliminated unneeded push/pop psw
6607
                           6606 ;       eliminated unneeded push/pop b
6608
                           6607 ;------------------------------------------------------------
6609
                           6608 ;Allocation info for local variables in function 'EP2_ISR'
6610
                           6609 ;------------------------------------------------------------
6611
                           6610 ;------------------------------------------------------------
6612
                           6611 ;       ../../include/ztex-isr.h:446: void EP2_ISR() __interrupt
6613
                           6612 ;       -----------------------------------------
6614
                           6613 ;        function EP2_ISR
6615
                           6614 ;       -----------------------------------------
6616
   1B2C                    6615 _EP2_ISR:
6617
   1B2C C0 E0              6616         push    acc
6618
   1B2E C0 82              6617         push    dpl
6619
   1B30 C0 83              6618         push    dph
6620
                           6619 ;       ../../include/ztex-isr.h:448: EXIF &= ~bmBIT4;
6621
   1B32 53 91 EF           6620         anl     _EXIF,#0xEF
6622
                           6621 ;       ../../include/ztex-isr.h:449: EPIRQ = bmBIT4;
6623
   1B35 90 E6 5F           6622         mov     dptr,#_EPIRQ
6624
   1B38 74 10              6623         mov     a,#0x10
6625
   1B3A F0                 6624         movx    @dptr,a
6626
   1B3B D0 83              6625         pop     dph
6627
   1B3D D0 82              6626         pop     dpl
6628
   1B3F D0 E0              6627         pop     acc
6629
   1B41 32                 6628         reti
6630
                           6629 ;       eliminated unneeded push/pop psw
6631
                           6630 ;       eliminated unneeded push/pop b
6632
                           6631 ;------------------------------------------------------------
6633
                           6632 ;Allocation info for local variables in function 'EP4_ISR'
6634
                           6633 ;------------------------------------------------------------
6635
                           6634 ;------------------------------------------------------------
6636
                           6635 ;       ../../include/ztex-isr.h:455: void EP4_ISR() __interrupt
6637
                           6636 ;       -----------------------------------------
6638
                           6637 ;        function EP4_ISR
6639
                           6638 ;       -----------------------------------------
6640
   1B42                    6639 _EP4_ISR:
6641
   1B42 C0 E0              6640         push    acc
6642
   1B44 C0 82              6641         push    dpl
6643
   1B46 C0 83              6642         push    dph
6644
                           6643 ;       ../../include/ztex-isr.h:457: EXIF &= ~bmBIT4;
6645
   1B48 53 91 EF           6644         anl     _EXIF,#0xEF
6646
                           6645 ;       ../../include/ztex-isr.h:458: EPIRQ = bmBIT5;
6647
   1B4B 90 E6 5F           6646         mov     dptr,#_EPIRQ
6648
   1B4E 74 20              6647         mov     a,#0x20
6649
   1B50 F0                 6648         movx    @dptr,a
6650
   1B51 D0 83              6649         pop     dph
6651
   1B53 D0 82              6650         pop     dpl
6652
   1B55 D0 E0              6651         pop     acc
6653
   1B57 32                 6652         reti
6654
                           6653 ;       eliminated unneeded push/pop psw
6655
                           6654 ;       eliminated unneeded push/pop b
6656
                           6655 ;------------------------------------------------------------
6657
                           6656 ;Allocation info for local variables in function 'EP6_ISR'
6658
                           6657 ;------------------------------------------------------------
6659
                           6658 ;------------------------------------------------------------
6660
                           6659 ;       ../../include/ztex-isr.h:464: void EP6_ISR() __interrupt
6661
                           6660 ;       -----------------------------------------
6662
                           6661 ;        function EP6_ISR
6663
                           6662 ;       -----------------------------------------
6664
   1B58                    6663 _EP6_ISR:
6665
   1B58 C0 E0              6664         push    acc
6666
   1B5A C0 82              6665         push    dpl
6667
   1B5C C0 83              6666         push    dph
6668
                           6667 ;       ../../include/ztex-isr.h:466: EXIF &= ~bmBIT4;
6669
   1B5E 53 91 EF           6668         anl     _EXIF,#0xEF
6670
                           6669 ;       ../../include/ztex-isr.h:467: EPIRQ = bmBIT6;
6671
   1B61 90 E6 5F           6670         mov     dptr,#_EPIRQ
6672
   1B64 74 40              6671         mov     a,#0x40
6673
   1B66 F0                 6672         movx    @dptr,a
6674
   1B67 D0 83              6673         pop     dph
6675
   1B69 D0 82              6674         pop     dpl
6676
   1B6B D0 E0              6675         pop     acc
6677
   1B6D 32                 6676         reti
6678
                           6677 ;       eliminated unneeded push/pop psw
6679
                           6678 ;       eliminated unneeded push/pop b
6680
                           6679 ;------------------------------------------------------------
6681
                           6680 ;Allocation info for local variables in function 'EP8_ISR'
6682
                           6681 ;------------------------------------------------------------
6683
                           6682 ;------------------------------------------------------------
6684
                           6683 ;       ../../include/ztex-isr.h:473: void EP8_ISR() __interrupt
6685
                           6684 ;       -----------------------------------------
6686
                           6685 ;        function EP8_ISR
6687
                           6686 ;       -----------------------------------------
6688
   1B6E                    6687 _EP8_ISR:
6689
   1B6E C0 E0              6688         push    acc
6690
   1B70 C0 82              6689         push    dpl
6691
   1B72 C0 83              6690         push    dph
6692
                           6691 ;       ../../include/ztex-isr.h:475: EXIF &= ~bmBIT4;
6693
   1B74 53 91 EF           6692         anl     _EXIF,#0xEF
6694
                           6693 ;       ../../include/ztex-isr.h:476: EPIRQ = bmBIT7;
6695
   1B77 90 E6 5F           6694         mov     dptr,#_EPIRQ
6696
   1B7A 74 80              6695         mov     a,#0x80
6697
   1B7C F0                 6696         movx    @dptr,a
6698
   1B7D D0 83              6697         pop     dph
6699
   1B7F D0 82              6698         pop     dpl
6700
   1B81 D0 E0              6699         pop     acc
6701
   1B83 32                 6700         reti
6702
                           6701 ;       eliminated unneeded push/pop psw
6703
                           6702 ;       eliminated unneeded push/pop b
6704
                           6703 ;------------------------------------------------------------
6705
                           6704 ;Allocation info for local variables in function 'mac_eeprom_init'
6706
                           6705 ;------------------------------------------------------------
6707
                           6706 ;b                         Allocated to registers r2
6708
                           6707 ;c                         Allocated to registers r2
6709
                           6708 ;d                         Allocated to registers r4
6710
                           6709 ;buf                       Allocated with name '_mac_eeprom_init_buf_1_1'
6711
                           6710 ;------------------------------------------------------------
6712
                           6711 ;       ../../include/ztex.h:269: void mac_eeprom_init ( ) {
6713
                           6712 ;       -----------------------------------------
6714
                           6713 ;        function mac_eeprom_init
6715
                           6714 ;       -----------------------------------------
6716
   1B84                    6715 _mac_eeprom_init:
6717
                           6716 ;       ../../include/ztex.h:274: mac_eeprom_read ( buf, 0, 3 );        // read signature
6718
   1B84 75 10 00           6717         mov     _mac_eeprom_read_PARM_2,#0x00
6719
   1B87 75 11 03           6718         mov     _mac_eeprom_read_PARM_3,#0x03
6720
   1B8A 90 3A 31           6719         mov     dptr,#_mac_eeprom_init_buf_1_1
6721
   1B8D 12 05 D4           6720         lcall   _mac_eeprom_read
6722
                           6721 ;       ../../include/ztex.h:275: if ( buf[0]==67 && buf[1]==68 && buf[2]==48 ) {
6723
   1B90 90 3A 31           6722         mov     dptr,#_mac_eeprom_init_buf_1_1
6724
   1B93 E0                 6723         movx    a,@dptr
6725
   1B94 FA                 6724         mov     r2,a
6726
   1B95 BA 43 24           6725         cjne    r2,#0x43,00102$
6727
   1B98 90 3A 32           6726         mov     dptr,#(_mac_eeprom_init_buf_1_1 + 0x0001)
6728
   1B9B E0                 6727         movx    a,@dptr
6729
   1B9C FA                 6728         mov     r2,a
6730
   1B9D BA 44 1C           6729         cjne    r2,#0x44,00102$
6731
   1BA0 90 3A 33           6730         mov     dptr,#(_mac_eeprom_init_buf_1_1 + 0x0002)
6732
   1BA3 E0                 6731         movx    a,@dptr
6733
   1BA4 FA                 6732         mov     r2,a
6734
   1BA5 BA 30 14           6733         cjne    r2,#0x30,00102$
6735
                           6734 ;       ../../include/ztex.h:276: config_data_valid = 1;
6736
   1BA8 90 3A 06           6735         mov     dptr,#_config_data_valid
6737
   1BAB 74 01              6736         mov     a,#0x01
6738
   1BAD F0                 6737         movx    @dptr,a
6739
                           6738 ;       ../../include/ztex.h:277: mac_eeprom_read ( SN_STRING, 16, 10 );        // copy serial number
6740
   1BAE 75 10 10           6739         mov     _mac_eeprom_read_PARM_2,#0x10
6741
   1BB1 75 11 0A           6740         mov     _mac_eeprom_read_PARM_3,#0x0A
6742
   1BB4 90 00 8A           6741         mov     dptr,#_SN_STRING
6743
   1BB7 12 05 D4           6742         lcall   _mac_eeprom_read
6744
   1BBA 80 05              6743         sjmp    00123$
6745
   1BBC                    6744 00102$:
6746
                           6745 ;       ../../include/ztex.h:280: config_data_valid = 0;
6747
   1BBC 90 3A 06           6746         mov     dptr,#_config_data_valid
6748
   1BBF E4                 6747         clr     a
6749
   1BC0 F0                 6748         movx    @dptr,a
6750
                           6749 ;       ../../include/ztex.h:283: for (b=0; b<10; b++) {        // abort if SN != "0000000000"
6751
   1BC1                    6750 00123$:
6752
   1BC1 7A 00              6751         mov     r2,#0x00
6753
   1BC3                    6752 00108$:
6754
   1BC3 BA 0A 00           6753         cjne    r2,#0x0A,00133$
6755
   1BC6                    6754 00133$:
6756
   1BC6 50 12              6755         jnc     00111$
6757
                           6756 ;       ../../include/ztex.h:284: if ( SN_STRING[b] != 48 )
6758
   1BC8 EA                 6757         mov     a,r2
6759
   1BC9 24 8A              6758         add     a,#_SN_STRING
6760
   1BCB F5 82              6759         mov     dpl,a
6761
   1BCD E4                 6760         clr     a
6762
   1BCE 34 00              6761         addc    a,#(_SN_STRING >> 8)
6763
   1BD0 F5 83              6762         mov     dph,a
6764
   1BD2 E0                 6763         movx    a,@dptr
6765
   1BD3 FB                 6764         mov     r3,a
6766
                           6765 ;       ../../include/ztex.h:285: return;
6767
   1BD4 BB 30 54           6766         cjne    r3,#0x30,00116$
6768
                           6767 ;       ../../include/ztex.h:283: for (b=0; b<10; b++) {        // abort if SN != "0000000000"
6769
   1BD7 0A                 6768         inc     r2
6770
   1BD8 80 E9              6769         sjmp    00108$
6771
   1BDA                    6770 00111$:
6772
                           6771 ;       ../../include/ztex.h:288: mac_eeprom_read ( buf, 0xfb, 5 );     // read the last 5 MAC digits
6773
   1BDA 75 10 FB           6772         mov     _mac_eeprom_read_PARM_2,#0xFB
6774
   1BDD 75 11 05           6773         mov     _mac_eeprom_read_PARM_3,#0x05
6775
   1BE0 90 3A 31           6774         mov     dptr,#_mac_eeprom_init_buf_1_1
6776
   1BE3 12 05 D4           6775         lcall   _mac_eeprom_read
6777
                           6776 ;       ../../include/ztex.h:290: c=0;
6778
   1BE6 7A 00              6777         mov     r2,#0x00
6779
                           6778 ;       ../../include/ztex.h:291: for (b=0; b<5; b++) { // convert to MAC to SN string
6780
   1BE8 7B 00              6779         mov     r3,#0x00
6781
   1BEA                    6780 00112$:
6782
   1BEA BB 05 00           6781         cjne    r3,#0x05,00136$
6783
   1BED                    6782 00136$:
6784
   1BED 50 3C              6783         jnc     00116$
6785
                           6784 ;       ../../include/ztex.h:292: d = buf[b];
6786
   1BEF EB                 6785         mov     a,r3
6787
   1BF0 24 31              6786         add     a,#_mac_eeprom_init_buf_1_1
6788
   1BF2 F5 82              6787         mov     dpl,a
6789
   1BF4 E4                 6788         clr     a
6790
   1BF5 34 3A              6789         addc    a,#(_mac_eeprom_init_buf_1_1 >> 8)
6791
   1BF7 F5 83              6790         mov     dph,a
6792
   1BF9 E0                 6791         movx    a,@dptr
6793
   1BFA FC                 6792         mov     r4,a
6794
                           6793 ;       ../../include/ztex.h:293: SN_STRING[c] = hexdigits[d>>4];
6795
   1BFB EA                 6794         mov     a,r2
6796
   1BFC 24 8A              6795         add     a,#_SN_STRING
6797
   1BFE FD                 6796         mov     r5,a
6798
   1BFF E4                 6797         clr     a
6799
   1C00 34 00              6798         addc    a,#(_SN_STRING >> 8)
6800
   1C02 FE                 6799         mov     r6,a
6801
   1C03 EC                 6800         mov     a,r4
6802
   1C04 C4                 6801         swap    a
6803
   1C05 54 0F              6802         anl     a,#0x0f
6804
   1C07 90 1E EE           6803         mov     dptr,#_mac_eeprom_init_hexdigits_1_1
6805
   1C0A 93                 6804         movc    a,@a+dptr
6806
   1C0B FF                 6805         mov     r7,a
6807
   1C0C 8D 82              6806         mov     dpl,r5
6808
   1C0E 8E 83              6807         mov     dph,r6
6809
   1C10 F0                 6808         movx    @dptr,a
6810
                           6809 ;       ../../include/ztex.h:294: c++;
6811
   1C11 0A                 6810         inc     r2
6812
                           6811 ;       ../../include/ztex.h:295: SN_STRING[c] = hexdigits[d & 15];
6813
   1C12 EA                 6812         mov     a,r2
6814
   1C13 24 8A              6813         add     a,#_SN_STRING
6815
   1C15 FD                 6814         mov     r5,a
6816
   1C16 E4                 6815         clr     a
6817
   1C17 34 00              6816         addc    a,#(_SN_STRING >> 8)
6818
   1C19 FE                 6817         mov     r6,a
6819
   1C1A 74 0F              6818         mov     a,#0x0F
6820
   1C1C 5C                 6819         anl     a,r4
6821
   1C1D 90 1E EE           6820         mov     dptr,#_mac_eeprom_init_hexdigits_1_1
6822
   1C20 93                 6821         movc    a,@a+dptr
6823
   1C21 FC                 6822         mov     r4,a
6824
   1C22 8D 82              6823         mov     dpl,r5
6825
   1C24 8E 83              6824         mov     dph,r6
6826
   1C26 F0                 6825         movx    @dptr,a
6827
                           6826 ;       ../../include/ztex.h:296: c++;
6828
   1C27 0A                 6827         inc     r2
6829
                           6828 ;       ../../include/ztex.h:291: for (b=0; b<5; b++) { // convert to MAC to SN string
6830
   1C28 0B                 6829         inc     r3
6831
   1C29 80 BF              6830         sjmp    00112$
6832
   1C2B                    6831 00116$:
6833
   1C2B 22                 6832         ret
6834
                           6833 ;------------------------------------------------------------
6835
                           6834 ;Allocation info for local variables in function 'init_USB'
6836
                           6835 ;------------------------------------------------------------
6837
                           6836 ;------------------------------------------------------------
6838
                           6837 ;       ../../include/ztex.h:345: void init_USB ()
6839
                           6838 ;       -----------------------------------------
6840
                           6839 ;        function init_USB
6841
                           6840 ;       -----------------------------------------
6842
   1C2C                    6841 _init_USB:
6843
                           6842 ;       ../../include/ztex.h:347: USBCS |= bmBIT3;
6844
   1C2C 90 E6 80           6843         mov     dptr,#_USBCS
6845
   1C2F E0                 6844         movx    a,@dptr
6846
   1C30 44 08              6845         orl     a,#0x08
6847
   1C32 F0                 6846         movx    @dptr,a
6848
                           6847 ;       ../../include/ztex.h:349: CPUCS = bmBIT4 | bmBIT1;
6849
   1C33 90 E6 00           6848         mov     dptr,#_CPUCS
6850
   1C36 74 12              6849         mov     a,#0x12
6851
   1C38 F0                 6850         movx    @dptr,a
6852
                           6851 ;       ../../include/ztex.h:350: wait(2);
6853
   1C39 90 00 02           6852         mov     dptr,#0x0002
6854
   1C3C 12 02 65           6853         lcall   _wait
6855
                           6854 ;       ../../include/ztex.h:351: CKCON &= ~7;
6856
   1C3F 53 8E F8           6855         anl     _CKCON,#0xF8
6857
                           6856 ;       ../../include/ztex.h:378: init_fpga();
6858
   1C42 12 0D 52           6857         lcall   _init_fpga
6859
                           6858 ;       ../../include/ztex-fpga-flash2.h:105: fpga_flash_result= 255;
6860
   1C45 90 3A 26           6859         mov     dptr,#_fpga_flash_result
6861
   1C48 74 FF              6860         mov     a,#0xFF
6862
   1C4A F0                 6861         movx    @dptr,a
6863
                           6862 ;       ../../include/ztex.h:385: EA = 0;
6864
   1C4B C2 AF              6863         clr     _EA
6865
                           6864 ;       ../../include/ztex.h:386: EUSB = 0;
6866
   1C4D C2 E8              6865         clr     _EUSB
6867
                           6866 ;       ../../include/ezintavecs.h:123: INT8VEC_USB.op=0x02;
6868
   1C4F 90 00 43           6867         mov     dptr,#_INT8VEC_USB
6869
   1C52 74 02              6868         mov     a,#0x02
6870
   1C54 F0                 6869         movx    @dptr,a
6871
                           6870 ;       ../../include/ezintavecs.h:124: INT8VEC_USB.addrH = 0x01;
6872
   1C55 90 00 44           6871         mov     dptr,#(_INT8VEC_USB + 0x0001)
6873
   1C58 74 01              6872         mov     a,#0x01
6874
   1C5A F0                 6873         movx    @dptr,a
6875
                           6874 ;       ../../include/ezintavecs.h:125: INT8VEC_USB.addrL = 0xb8;
6876
   1C5B 90 00 45           6875         mov     dptr,#(_INT8VEC_USB + 0x0002)
6877
   1C5E 74 B8              6876         mov     a,#0xB8
6878
   1C60 F0                 6877         movx    @dptr,a
6879
                           6878 ;       ../../include/ezintavecs.h:126: INTSETUP |= 8;
6880
   1C61 90 E6 68           6879         mov     dptr,#_INTSETUP
6881
   1C64 E0                 6880         movx    a,@dptr
6882
   1C65 44 08              6881         orl     a,#0x08
6883
   1C67 F0                 6882         movx    @dptr,a
6884
                           6883 ;       ../../include/ezintavecs.h:115: $0.op=0x02;
6885
   1C68 90 01 00           6884         mov     dptr,#_INTVEC_SUDAV
6886
   1C6B 74 02              6885         mov     a,#0x02
6887
   1C6D F0                 6886         movx    @dptr,a
6888
                           6887 ;       ../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
6889
   1C6E 7A 8C              6888         mov     r2,#_SUDAV_ISR
6890
   1C70 7B 12              6889         mov     r3,#(_SUDAV_ISR >> 8)
6891
   1C72 8B 04              6890         mov     ar4,r3
6892
   1C74 90 01 01           6891         mov     dptr,#(_INTVEC_SUDAV + 0x0001)
6893
   1C77 EC                 6892         mov     a,r4
6894
   1C78 F0                 6893         movx    @dptr,a
6895
                           6894 ;       ../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
6896
   1C79 90 01 02           6895         mov     dptr,#(_INTVEC_SUDAV + 0x0002)
6897
   1C7C EA                 6896         mov     a,r2
6898
   1C7D F0                 6897         movx    @dptr,a
6899
                           6898 ;       ../../include/ezintavecs.h:115: $0.op=0x02;
6900
   1C7E 90 01 04           6899         mov     dptr,#_INTVEC_SOF
6901
   1C81 74 02              6900         mov     a,#0x02
6902
   1C83 F0                 6901         movx    @dptr,a
6903
                           6902 ;       ../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
6904
   1C84 7A C5              6903         mov     r2,#_SOF_ISR
6905
   1C86 7B 18              6904         mov     r3,#(_SOF_ISR >> 8)
6906
   1C88 8B 04              6905         mov     ar4,r3
6907
   1C8A 90 01 05           6906         mov     dptr,#(_INTVEC_SOF + 0x0001)
6908
   1C8D EC                 6907         mov     a,r4
6909
   1C8E F0                 6908         movx    @dptr,a
6910
                           6909 ;       ../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
6911
   1C8F 90 01 06           6910         mov     dptr,#(_INTVEC_SOF + 0x0002)
6912
   1C92 EA                 6911         mov     a,r2
6913
   1C93 F0                 6912         movx    @dptr,a
6914
                           6913 ;       ../../include/ezintavecs.h:115: $0.op=0x02;
6915
   1C94 90 01 08           6914         mov     dptr,#_INTVEC_SUTOK
6916
   1C97 74 02              6915         mov     a,#0x02
6917
   1C99 F0                 6916         movx    @dptr,a
6918
                           6917 ;       ../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
6919
   1C9A 7A DB              6918         mov     r2,#_SUTOK_ISR
6920
   1C9C 7B 18              6919         mov     r3,#(_SUTOK_ISR >> 8)
6921
   1C9E 8B 04              6920         mov     ar4,r3
6922
   1CA0 90 01 09           6921         mov     dptr,#(_INTVEC_SUTOK + 0x0001)
6923
   1CA3 EC                 6922         mov     a,r4
6924
   1CA4 F0                 6923         movx    @dptr,a
6925
                           6924 ;       ../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
6926
   1CA5 90 01 0A           6925         mov     dptr,#(_INTVEC_SUTOK + 0x0002)
6927
   1CA8 EA                 6926         mov     a,r2
6928
   1CA9 F0                 6927         movx    @dptr,a
6929
                           6928 ;       ../../include/ezintavecs.h:115: $0.op=0x02;
6930
   1CAA 90 01 0C           6929         mov     dptr,#_INTVEC_SUSPEND
6931
   1CAD 74 02              6930         mov     a,#0x02
6932
   1CAF F0                 6931         movx    @dptr,a
6933
                           6932 ;       ../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
6934
   1CB0 7A F1              6933         mov     r2,#_SUSP_ISR
6935
   1CB2 7B 18              6934         mov     r3,#(_SUSP_ISR >> 8)
6936
   1CB4 8B 04              6935         mov     ar4,r3
6937
   1CB6 90 01 0D           6936         mov     dptr,#(_INTVEC_SUSPEND + 0x0001)
6938
   1CB9 EC                 6937         mov     a,r4
6939
   1CBA F0                 6938         movx    @dptr,a
6940
                           6939 ;       ../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
6941
   1CBB 90 01 0E           6940         mov     dptr,#(_INTVEC_SUSPEND + 0x0002)
6942
   1CBE EA                 6941         mov     a,r2
6943
   1CBF F0                 6942         movx    @dptr,a
6944
                           6943 ;       ../../include/ezintavecs.h:115: $0.op=0x02;
6945
   1CC0 90 01 10           6944         mov     dptr,#_INTVEC_USBRESET
6946
   1CC3 74 02              6945         mov     a,#0x02
6947
   1CC5 F0                 6946         movx    @dptr,a
6948
                           6947 ;       ../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
6949
   1CC6 7A 07              6948         mov     r2,#_URES_ISR
6950
   1CC8 7B 19              6949         mov     r3,#(_URES_ISR >> 8)
6951
   1CCA 8B 04              6950         mov     ar4,r3
6952
   1CCC 90 01 11           6951         mov     dptr,#(_INTVEC_USBRESET + 0x0001)
6953
   1CCF EC                 6952         mov     a,r4
6954
   1CD0 F0                 6953         movx    @dptr,a
6955
                           6954 ;       ../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
6956
   1CD1 90 01 12           6955         mov     dptr,#(_INTVEC_USBRESET + 0x0002)
6957
   1CD4 EA                 6956         mov     a,r2
6958
   1CD5 F0                 6957         movx    @dptr,a
6959
                           6958 ;       ../../include/ezintavecs.h:115: $0.op=0x02;
6960
   1CD6 90 01 14           6959         mov     dptr,#_INTVEC_HISPEED
6961
   1CD9 74 02              6960         mov     a,#0x02
6962
   1CDB F0                 6961         movx    @dptr,a
6963
                           6962 ;       ../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
6964
   1CDC 7A 1D              6963         mov     r2,#_HSGRANT_ISR
6965
   1CDE 7B 19              6964         mov     r3,#(_HSGRANT_ISR >> 8)
6966
   1CE0 8B 04              6965         mov     ar4,r3
6967
   1CE2 90 01 15           6966         mov     dptr,#(_INTVEC_HISPEED + 0x0001)
6968
   1CE5 EC                 6967         mov     a,r4
6969
   1CE6 F0                 6968         movx    @dptr,a
6970
                           6969 ;       ../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
6971
   1CE7 90 01 16           6970         mov     dptr,#(_INTVEC_HISPEED + 0x0002)
6972
   1CEA EA                 6971         mov     a,r2
6973
   1CEB F0                 6972         movx    @dptr,a
6974
                           6973 ;       ../../include/ezintavecs.h:115: $0.op=0x02;
6975
   1CEC 90 01 18           6974         mov     dptr,#_INTVEC_EP0ACK
6976
   1CEF 74 02              6975         mov     a,#0x02
6977
   1CF1 F0                 6976         movx    @dptr,a
6978
                           6977 ;       ../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
6979
   1CF2 7A 33              6978         mov     r2,#_EP0ACK_ISR
6980
   1CF4 7B 19              6979         mov     r3,#(_EP0ACK_ISR >> 8)
6981
   1CF6 8B 04              6980         mov     ar4,r3
6982
   1CF8 90 01 19           6981         mov     dptr,#(_INTVEC_EP0ACK + 0x0001)
6983
   1CFB EC                 6982         mov     a,r4
6984
   1CFC F0                 6983         movx    @dptr,a
6985
                           6984 ;       ../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
6986
   1CFD 90 01 1A           6985         mov     dptr,#(_INTVEC_EP0ACK + 0x0002)
6987
   1D00 EA                 6986         mov     a,r2
6988
   1D01 F0                 6987         movx    @dptr,a
6989
                           6988 ;       ../../include/ezintavecs.h:115: $0.op=0x02;
6990
   1D02 90 01 20           6989         mov     dptr,#_INTVEC_EP0IN
6991
   1D05 74 02              6990         mov     a,#0x02
6992
   1D07 F0                 6991         movx    @dptr,a
6993
                           6992 ;       ../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
6994
   1D08 7A 49              6993         mov     r2,#_EP0IN_ISR
6995
   1D0A 7B 19              6994         mov     r3,#(_EP0IN_ISR >> 8)
6996
   1D0C 8B 04              6995         mov     ar4,r3
6997
   1D0E 90 01 21           6996         mov     dptr,#(_INTVEC_EP0IN + 0x0001)
6998
   1D11 EC                 6997         mov     a,r4
6999
   1D12 F0                 6998         movx    @dptr,a
7000
                           6999 ;       ../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
7001
   1D13 90 01 22           7000         mov     dptr,#(_INTVEC_EP0IN + 0x0002)
7002
   1D16 EA                 7001         mov     a,r2
7003
   1D17 F0                 7002         movx    @dptr,a
7004
                           7003 ;       ../../include/ezintavecs.h:115: $0.op=0x02;
7005
   1D18 90 01 24           7004         mov     dptr,#_INTVEC_EP0OUT
7006
   1D1B 74 02              7005         mov     a,#0x02
7007
   1D1D F0                 7006         movx    @dptr,a
7008
                           7007 ;       ../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
7009
   1D1E 7A 0B              7008         mov     r2,#_EP0OUT_ISR
7010
   1D20 7B 1A              7009         mov     r3,#(_EP0OUT_ISR >> 8)
7011
   1D22 8B 04              7010         mov     ar4,r3
7012
   1D24 90 01 25           7011         mov     dptr,#(_INTVEC_EP0OUT + 0x0001)
7013
   1D27 EC                 7012         mov     a,r4
7014
   1D28 F0                 7013         movx    @dptr,a
7015
                           7014 ;       ../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
7016
   1D29 90 01 26           7015         mov     dptr,#(_INTVEC_EP0OUT + 0x0002)
7017
   1D2C EA                 7016         mov     a,r2
7018
   1D2D F0                 7017         movx    @dptr,a
7019
                           7018 ;       ../../include/ezintavecs.h:115: $0.op=0x02;
7020
   1D2E 90 01 28           7019         mov     dptr,#_INTVEC_EP1IN
7021
   1D31 74 02              7020         mov     a,#0x02
7022
   1D33 F0                 7021         movx    @dptr,a
7023
                           7022 ;       ../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
7024
   1D34 7A 00              7023         mov     r2,#_EP1IN_ISR
7025
   1D36 7B 1B              7024         mov     r3,#(_EP1IN_ISR >> 8)
7026
   1D38 8B 04              7025         mov     ar4,r3
7027
   1D3A 90 01 29           7026         mov     dptr,#(_INTVEC_EP1IN + 0x0001)
7028
   1D3D EC                 7027         mov     a,r4
7029
   1D3E F0                 7028         movx    @dptr,a
7030
                           7029 ;       ../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
7031
   1D3F 90 01 2A           7030         mov     dptr,#(_INTVEC_EP1IN + 0x0002)
7032
   1D42 EA                 7031         mov     a,r2
7033
   1D43 F0                 7032         movx    @dptr,a
7034
                           7033 ;       ../../include/ezintavecs.h:115: $0.op=0x02;
7035
   1D44 90 01 2C           7034         mov     dptr,#_INTVEC_EP1OUT
7036
   1D47 74 02              7035         mov     a,#0x02
7037
   1D49 F0                 7036         movx    @dptr,a
7038
                           7037 ;       ../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
7039
   1D4A 7A 16              7038         mov     r2,#_EP1OUT_ISR
7040
   1D4C 7B 1B              7039         mov     r3,#(_EP1OUT_ISR >> 8)
7041
   1D4E 8B 04              7040         mov     ar4,r3
7042
   1D50 90 01 2D           7041         mov     dptr,#(_INTVEC_EP1OUT + 0x0001)
7043
   1D53 EC                 7042         mov     a,r4
7044
   1D54 F0                 7043         movx    @dptr,a
7045
                           7044 ;       ../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
7046
   1D55 90 01 2E           7045         mov     dptr,#(_INTVEC_EP1OUT + 0x0002)
7047
   1D58 EA                 7046         mov     a,r2
7048
   1D59 F0                 7047         movx    @dptr,a
7049
                           7048 ;       ../../include/ezintavecs.h:115: $0.op=0x02;
7050
   1D5A 90 01 30           7049         mov     dptr,#_INTVEC_EP2
7051
   1D5D 74 02              7050         mov     a,#0x02
7052
   1D5F F0                 7051         movx    @dptr,a
7053
                           7052 ;       ../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
7054
   1D60 7A 2C              7053         mov     r2,#_EP2_ISR
7055
   1D62 7B 1B              7054         mov     r3,#(_EP2_ISR >> 8)
7056
   1D64 8B 04              7055         mov     ar4,r3
7057
   1D66 90 01 31           7056         mov     dptr,#(_INTVEC_EP2 + 0x0001)
7058
   1D69 EC                 7057         mov     a,r4
7059
   1D6A F0                 7058         movx    @dptr,a
7060
                           7059 ;       ../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
7061
   1D6B 90 01 32           7060         mov     dptr,#(_INTVEC_EP2 + 0x0002)
7062
   1D6E EA                 7061         mov     a,r2
7063
   1D6F F0                 7062         movx    @dptr,a
7064
                           7063 ;       ../../include/ezintavecs.h:115: $0.op=0x02;
7065
   1D70 90 01 34           7064         mov     dptr,#_INTVEC_EP4
7066
   1D73 74 02              7065         mov     a,#0x02
7067
   1D75 F0                 7066         movx    @dptr,a
7068
                           7067 ;       ../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
7069
   1D76 7A 42              7068         mov     r2,#_EP4_ISR
7070
   1D78 7B 1B              7069         mov     r3,#(_EP4_ISR >> 8)
7071
   1D7A 8B 04              7070         mov     ar4,r3
7072
   1D7C 90 01 35           7071         mov     dptr,#(_INTVEC_EP4 + 0x0001)
7073
   1D7F EC                 7072         mov     a,r4
7074
   1D80 F0                 7073         movx    @dptr,a
7075
                           7074 ;       ../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
7076
   1D81 90 01 36           7075         mov     dptr,#(_INTVEC_EP4 + 0x0002)
7077
   1D84 EA                 7076         mov     a,r2
7078
   1D85 F0                 7077         movx    @dptr,a
7079
                           7078 ;       ../../include/ezintavecs.h:115: $0.op=0x02;
7080
   1D86 90 01 38           7079         mov     dptr,#_INTVEC_EP6
7081
   1D89 74 02              7080         mov     a,#0x02
7082
   1D8B F0                 7081         movx    @dptr,a
7083
                           7082 ;       ../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
7084
   1D8C 7A 58              7083         mov     r2,#_EP6_ISR
7085
   1D8E 7B 1B              7084         mov     r3,#(_EP6_ISR >> 8)
7086
   1D90 8B 04              7085         mov     ar4,r3
7087
   1D92 90 01 39           7086         mov     dptr,#(_INTVEC_EP6 + 0x0001)
7088
   1D95 EC                 7087         mov     a,r4
7089
   1D96 F0                 7088         movx    @dptr,a
7090
                           7089 ;       ../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
7091
   1D97 90 01 3A           7090         mov     dptr,#(_INTVEC_EP6 + 0x0002)
7092
   1D9A EA                 7091         mov     a,r2
7093
   1D9B F0                 7092         movx    @dptr,a
7094
                           7093 ;       ../../include/ezintavecs.h:115: $0.op=0x02;
7095
   1D9C 90 01 3C           7094         mov     dptr,#_INTVEC_EP8
7096
   1D9F 74 02              7095         mov     a,#0x02
7097
   1DA1 F0                 7096         movx    @dptr,a
7098
                           7097 ;       ../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
7099
   1DA2 7A 6E              7098         mov     r2,#_EP8_ISR
7100
   1DA4 7B 1B              7099         mov     r3,#(_EP8_ISR >> 8)
7101
   1DA6 8B 04              7100         mov     ar4,r3
7102
   1DA8 90 01 3D           7101         mov     dptr,#(_INTVEC_EP8 + 0x0001)
7103
   1DAB EC                 7102         mov     a,r4
7104
   1DAC F0                 7103         movx    @dptr,a
7105
                           7104 ;       ../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
7106
   1DAD 90 01 3E           7105         mov     dptr,#(_INTVEC_EP8 + 0x0002)
7107
   1DB0 EA                 7106         mov     a,r2
7108
   1DB1 F0                 7107         movx    @dptr,a
7109
                           7108 ;       ../../include/ztex.h:407: EXIF &= ~bmBIT4;
7110
   1DB2 53 91 EF           7109         anl     _EXIF,#0xEF
7111
                           7110 ;       ../../include/ztex.h:408: USBIRQ = 0x7f;
7112
   1DB5 90 E6 5D           7111         mov     dptr,#_USBIRQ
7113
   1DB8 74 7F              7112         mov     a,#0x7F
7114
   1DBA F0                 7113         movx    @dptr,a
7115
                           7114 ;       ../../include/ztex.h:409: USBIE |= 0x7f;
7116
   1DBB 90 E6 5C           7115         mov     dptr,#_USBIE
7117
   1DBE E0                 7116         movx    a,@dptr
7118
   1DBF FA                 7117         mov     r2,a
7119
   1DC0 44 7F              7118         orl     a,#0x7F
7120
   1DC2 F0                 7119         movx    @dptr,a
7121
                           7120 ;       ../../include/ztex.h:410: EPIRQ = 0xff;
7122
   1DC3 90 E6 5F           7121         mov     dptr,#_EPIRQ
7123
   1DC6 74 FF              7122         mov     a,#0xFF
7124
   1DC8 F0                 7123         movx    @dptr,a
7125
                           7124 ;       ../../include/ztex.h:411: EPIE = 0xff;
7126
   1DC9 90 E6 5E           7125         mov     dptr,#_EPIE
7127
   1DCC 74 FF              7126         mov     a,#0xFF
7128
   1DCE F0                 7127         movx    @dptr,a
7129
                           7128 ;       ../../include/ztex.h:413: EUSB = 1;
7130
   1DCF D2 E8              7129         setb    _EUSB
7131
                           7130 ;       ../../include/ztex.h:414: EA = 1;
7132
   1DD1 D2 AF              7131         setb    _EA
7133
                           7132 ;       ../../include/ztex.h:333: EP$0CFG = bmBIT7 | bmBIT5;
7134
   1DD3 90 E6 11           7133         mov     dptr,#_EP1INCFG
7135
   1DD6 74 A0              7134         mov     a,#0xA0
7136
   1DD8 F0                 7135         movx    @dptr,a
7137
                           7136 ;       ../../include/ezregs.h:46: __endasm;
7138
                           7137
7139
   1DD9 00                 7138          nop
7140
   1DDA 00                 7139          nop
7141
   1DDB 00                 7140          nop
7142
   1DDC 00                 7141          nop
7143
                           7142
7144
                           7143 ;       ../../include/ztex.h:333: EP$0CFG = bmBIT7 | bmBIT5;
7145
   1DDD 90 E6 10           7144         mov     dptr,#_EP1OUTCFG
7146
   1DE0 74 A0              7145         mov     a,#0xA0
7147
   1DE2 F0                 7146         movx    @dptr,a
7148
                           7147 ;       ../../include/ezregs.h:46: __endasm;
7149
                           7148
7150
   1DE3 00                 7149          nop
7151
   1DE4 00                 7150          nop
7152
   1DE5 00                 7151          nop
7153
   1DE6 00                 7152          nop
7154
                           7153
7155
                           7154 ;       ../../include/ztex.h:328: ;
7156
   1DE7 90 E6 12           7155         mov     dptr,#_EP2CFG
7157
   1DEA E4                 7156         clr     a
7158
   1DEB F0                 7157         movx    @dptr,a
7159
                           7158 ;       ../../include/ezregs.h:46: __endasm;
7160
                           7159
7161
   1DEC 00                 7160          nop
7162
   1DED 00                 7161          nop
7163
   1DEE 00                 7162          nop
7164
   1DEF 00                 7163          nop
7165
                           7164
7166
                           7165 ;       ../../include/ztex.h:328: ;
7167
   1DF0 90 E6 13           7166         mov     dptr,#_EP4CFG
7168
   1DF3 E4                 7167         clr     a
7169
   1DF4 F0                 7168         movx    @dptr,a
7170
                           7169 ;       ../../include/ezregs.h:46: __endasm;
7171
                           7170
7172
   1DF5 00                 7171          nop
7173
   1DF6 00                 7172          nop
7174
   1DF7 00                 7173          nop
7175
   1DF8 00                 7174          nop
7176
                           7175
7177
                           7176 ;       ../../include/ztex.h:328: ;
7178
   1DF9 90 E6 14           7177         mov     dptr,#_EP6CFG
7179
   1DFC E4                 7178         clr     a
7180
   1DFD F0                 7179         movx    @dptr,a
7181
                           7180 ;       ../../include/ezregs.h:46: __endasm;
7182
                           7181
7183
   1DFE 00                 7182          nop
7184
   1DFF 00                 7183          nop
7185
   1E00 00                 7184          nop
7186
   1E01 00                 7185          nop
7187
                           7186
7188
                           7187 ;       ../../include/ztex.h:328: ;
7189
   1E02 90 E6 15           7188         mov     dptr,#_EP8CFG
7190
   1E05 E4                 7189         clr     a
7191
   1E06 F0                 7190         movx    @dptr,a
7192
                           7191 ;       ../../include/ezregs.h:46: __endasm;
7193
                           7192
7194
   1E07 00                 7193          nop
7195
   1E08 00                 7194          nop
7196
   1E09 00                 7195          nop
7197
   1E0A 00                 7196          nop
7198
                           7197
7199
                           7198 ;       ../../include/ztex.h:434: flash_init();
7200
   1E0B 12 0C 2D           7199         lcall   _flash_init
7201
                           7200 ;       ../../include/ztex.h:435: if ( !flash_enabled ) {
7202
   1E0E 90 3A 07           7201         mov     dptr,#_flash_enabled
7203
   1E11 E0                 7202         movx    a,@dptr
7204
   1E12 FA                 7203         mov     r2,a
7205
   1E13 70 09              7204         jnz     00102$
7206
                           7205 ;       ../../include/ztex.h:436: wait(250);
7207
   1E15 90 00 FA           7206         mov     dptr,#0x00FA
7208
   1E18 12 02 65           7207         lcall   _wait
7209
                           7208 ;       ../../include/ztex.h:437: flash_init();
7210
   1E1B 12 0C 2D           7209         lcall   _flash_init
7211
   1E1E                    7210 00102$:
7212
                           7211 ;       ../../include/ztex.h:447: mac_eeprom_init();
7213
   1E1E 12 1B 84           7212         lcall   _mac_eeprom_init
7214
                           7213 ;       ../../include/ztex.h:453: fpga_configure_from_flash_init();
7215
   1E21 12 10 50           7214         lcall   _fpga_configure_from_flash_init
7216
                           7215 ;       ../../include/ztex.h:456: USBCS |= bmBIT7 | bmBIT1;
7217
   1E24 90 E6 80           7216         mov     dptr,#_USBCS
7218
   1E27 E0                 7217         movx    a,@dptr
7219
   1E28 44 82              7218         orl     a,#0x82
7220
   1E2A F0                 7219         movx    @dptr,a
7221
                           7220 ;       ../../include/ztex.h:457: wait(10);
7222
   1E2B 90 00 0A           7221         mov     dptr,#0x000A
7223
   1E2E 12 02 65           7222         lcall   _wait
7224
                           7223 ;       ../../include/ztex.h:459: USBCS &= ~bmBIT3;
7225
   1E31 90 E6 80           7224         mov     dptr,#_USBCS
7226
   1E34 E0                 7225         movx    a,@dptr
7227
   1E35 54 F7              7226         anl     a,#0xF7
7228
   1E37 F0                 7227         movx    @dptr,a
7229
   1E38 22                 7228         ret
7230
                           7229 ;------------------------------------------------------------
7231
                           7230 ;Allocation info for local variables in function 'main'
7232
                           7231 ;------------------------------------------------------------
7233
                           7232 ;------------------------------------------------------------
7234
                           7233 ;       default.c:35: void main(void)
7235
                           7234 ;       -----------------------------------------
7236
                           7235 ;        function main
7237
                           7236 ;       -----------------------------------------
7238
   1E39                    7237 _main:
7239
                           7238 ;       default.c:37: init_USB();
7240
   1E39 12 1C 2C           7239         lcall   _init_USB
7241
                           7240 ;       default.c:39: if ( config_data_valid ) {
7242
   1E3C 90 3A 06           7241         mov     dptr,#_config_data_valid
7243
   1E3F E0                 7242         movx    a,@dptr
7244
   1E40 FA                 7243         mov     r2,a
7245
   1E41 60 0C              7244         jz      00104$
7246
                           7245 ;       default.c:40: mac_eeprom_read ( (__xdata BYTE*) (productString+20), 6, 1 );
7247
   1E43 90 1E 76           7246         mov     dptr,#(_productString + 0x0014)
7248
   1E46 75 10 06           7247         mov     _mac_eeprom_read_PARM_2,#0x06
7249
   1E49 75 11 01           7248         mov     _mac_eeprom_read_PARM_3,#0x01
7250
   1E4C 12 05 D4           7249         lcall   _mac_eeprom_read
7251
                           7250 ;       default.c:43: while (1) {       }                                       //  twiddle thumbs
7252
   1E4F                    7251 00104$:
7253
   1E4F 80 FE              7252         sjmp    00104$
7254
                           7253         .area CSEG    (CODE)
7255
                           7254         .area CONST   (CODE)
7256
   1E55                    7255 _fpga_flash_boot_id:
7257
   1E55 5A                 7256         .db #0x5A
7258
   1E56 54                 7257         .db #0x54
7259
   1E57 45                 7258         .db #0x45
7260
   1E58 58                 7259         .db #0x58
7261
   1E59 42                 7260         .db #0x42
7262
   1E5A 53                 7261         .db #0x53
7263
   1E5B 01                 7262         .db #0x01
7264
   1E5C 01                 7263         .db #0x01
7265
   1E5D                    7264 _manufacturerString:
7266
   1E5D 5A 54 45 58        7265         .ascii "ZTEX"
7267
   1E61 00                 7266         .db 0x00
7268
   1E62                    7267 _productString:
7269
   1E62 55 53 42 2D 46 50  7268         .ascii "USB-FPGA Module 2.01  (default)"
7270
        47 41 20 4D 6F 64
7271
        75 6C 65 20 32 2E
7272
        30 31 20 20 28 64
7273
        65 66 61 75 6C 74
7274
        29
7275
   1E81 00                 7269         .db 0x00
7276
   1E82                    7270 _configurationString:
7277
   1E82 64 65 66 61 75 6C  7271         .ascii "default"
7278
        74
7279
   1E89 00                 7272         .db 0x00
7280
   1E8A                    7273 _DeviceDescriptor:
7281
   1E8A 12                 7274         .db #0x12
7282
   1E8B 01                 7275         .db #0x01
7283
   1E8C 00                 7276         .db #0x00
7284
   1E8D 02                 7277         .db #0x02
7285
   1E8E FF                 7278         .db #0xFF
7286
   1E8F FF                 7279         .db #0xFF
7287
   1E90 FF                 7280         .db #0xFF
7288
   1E91 40                 7281         .db #0x40
7289
   1E92 1A                 7282         .db #0x1A
7290
   1E93 22                 7283         .db #0x22
7291
   1E94 00                 7284         .db #0x00
7292
   1E95 01                 7285         .db #0x01
7293
   1E96 00                 7286         .db #0x00
7294
   1E97 00                 7287         .db #0x00
7295
   1E98 01                 7288         .db #0x01
7296
   1E99 02                 7289         .db #0x02
7297
   1E9A 03                 7290         .db #0x03
7298
   1E9B 01                 7291         .db #0x01
7299
   1E9C                    7292 _DeviceQualifierDescriptor:
7300
   1E9C 0A                 7293         .db #0x0A
7301
   1E9D 06                 7294         .db #0x06
7302
   1E9E 00                 7295         .db #0x00
7303
   1E9F 02                 7296         .db #0x02
7304
   1EA0 FF                 7297         .db #0xFF
7305
   1EA1 FF                 7298         .db #0xFF
7306
   1EA2 FF                 7299         .db #0xFF
7307
   1EA3 40                 7300         .db #0x40
7308
   1EA4 01                 7301         .db #0x01
7309
   1EA5 00                 7302         .db #0x00
7310
   1EA6                    7303 _HighSpeedConfigDescriptor:
7311
   1EA6 09                 7304         .db #0x09
7312
   1EA7 02                 7305         .db #0x02
7313
   1EA8 20                 7306         .db #0x20
7314
   1EA9 00                 7307         .db #0x00
7315
   1EAA 01                 7308         .db #0x01
7316
   1EAB 01                 7309         .db #0x01
7317
   1EAC 04                 7310         .db #0x04
7318
   1EAD C0                 7311         .db #0xC0
7319
   1EAE 32                 7312         .db #0x32
7320
   1EAF 09                 7313         .db #0x09
7321
   1EB0 04                 7314         .db #0x04
7322
   1EB1 00                 7315         .db #0x00
7323
   1EB2 00                 7316         .db #0x00
7324
   1EB3 02                 7317         .db #0x02
7325
   1EB4 FF                 7318         .db #0xFF
7326
   1EB5 FF                 7319         .db #0xFF
7327
   1EB6 FF                 7320         .db #0xFF
7328
   1EB7 00                 7321         .db #0x00
7329
   1EB8 07                 7322         .db #0x07
7330
   1EB9 05                 7323         .db #0x05
7331
   1EBA 81                 7324         .db #0x81
7332
   1EBB 02                 7325         .db #0x02
7333
   1EBC 00                 7326         .db #0x00
7334
   1EBD 02                 7327         .db #0x02
7335
   1EBE 00                 7328         .db #0x00
7336
   1EBF 07                 7329         .db #0x07
7337
   1EC0 05                 7330         .db #0x05
7338
   1EC1 01                 7331         .db #0x01
7339
   1EC2 02                 7332         .db #0x02
7340
   1EC3 00                 7333         .db #0x00
7341
   1EC4 02                 7334         .db #0x02
7342
   1EC5 00                 7335         .db #0x00
7343
   1EC6                    7336 _HighSpeedConfigDescriptor_PadByte:
7344
   1EC6 00                 7337         .db #0x00
7345
   1EC7 00                 7338         .db 0x00
7346
   1EC8                    7339 _FullSpeedConfigDescriptor:
7347
   1EC8 09                 7340         .db #0x09
7348
   1EC9 02                 7341         .db #0x02
7349
   1ECA 20                 7342         .db #0x20
7350
   1ECB 00                 7343         .db #0x00
7351
   1ECC 01                 7344         .db #0x01
7352
   1ECD 01                 7345         .db #0x01
7353
   1ECE 04                 7346         .db #0x04
7354
   1ECF C0                 7347         .db #0xC0
7355
   1ED0 32                 7348         .db #0x32
7356
   1ED1 09                 7349         .db #0x09
7357
   1ED2 04                 7350         .db #0x04
7358
   1ED3 00                 7351         .db #0x00
7359
   1ED4 00                 7352         .db #0x00
7360
   1ED5 02                 7353         .db #0x02
7361
   1ED6 FF                 7354         .db #0xFF
7362
   1ED7 FF                 7355         .db #0xFF
7363
   1ED8 FF                 7356         .db #0xFF
7364
   1ED9 00                 7357         .db #0x00
7365
   1EDA 07                 7358         .db #0x07
7366
   1EDB 05                 7359         .db #0x05
7367
   1EDC 81                 7360         .db #0x81
7368
   1EDD 02                 7361         .db #0x02
7369
   1EDE 40                 7362         .db #0x40
7370
   1EDF 00                 7363         .db #0x00
7371
   1EE0 00                 7364         .db #0x00
7372
   1EE1 07                 7365         .db #0x07
7373
   1EE2 05                 7366         .db #0x05
7374
   1EE3 01                 7367         .db #0x01
7375
   1EE4 02                 7368         .db #0x02
7376
   1EE5 40                 7369         .db #0x40
7377
   1EE6 00                 7370         .db #0x00
7378
   1EE7 00                 7371         .db #0x00
7379
   1EE8                    7372 _FullSpeedConfigDescriptor_PadByte:
7380
   1EE8 00                 7373         .db #0x00
7381
   1EE9 00                 7374         .db 0x00
7382
   1EEA                    7375 _EmptyStringDescriptor:
7383
   1EEA 04                 7376         .db #0x04
7384
   1EEB 03                 7377         .db #0x03
7385
   1EEC 00                 7378         .db #0x00
7386
   1EED 00                 7379         .db #0x00
7387
   1EEE                    7380 _mac_eeprom_init_hexdigits_1_1:
7388
   1EEE 30 31 32 33 34 35  7381         .ascii "0123456789ABCDEF"
7389
        36 37 38 39 41 42
7390
        43 44 45 46
7391
   1EFE 00                 7382         .db 0x00
7392
                           7383         .area XINIT   (CODE)
7393
   1EFF                    7384 __xinit__ep0_payload_remaining:
7394
   1EFF 00 00              7385         .byte #0x00,#0x00
7395
   1F01                    7386 __xinit__ep0_payload_transfer:
7396
   1F01 00                 7387         .db #0x00
7397
   1F02                    7388 __xinit__ep0_prev_setup_request:
7398
   1F02 FF                 7389         .db #0xFF
7399
   1F03                    7390 __xinit__ep0_vendor_cmd_setup:
7400
   1F03 00                 7391         .db #0x00
7401
   1F04                    7392 __xinit__ISOFRAME_COUNTER:
7402
   1F04 00 00              7393         .byte #0x00,#0x00
7403
   1F06 00 00              7394         .byte #0x00,#0x00
7404
   1F08 00 00              7395         .byte #0x00,#0x00
7405
   1F0A 00 00              7396         .byte #0x00,#0x00
7406
                           7397         .area CABS    (ABS,CODE)

powered by: WebSVN 2.1.0

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