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.04/] [default.lst] - 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:08: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
   0000                     751 bits:
752
   0000                     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
   0000                     765 _eeprom_select_PARM_2:
766
   0000                     766         .ds 1
767
   0001                     767 _eeprom_select_PARM_3:
768
   0001                     768         .ds 1
769
   0002                     769 _eeprom_read_PARM_2:
770
   0002                     770         .ds 2
771
   0004                     771 _eeprom_read_PARM_3:
772
   0004                     772         .ds 1
773
   0005                     773 _eeprom_write_PARM_2:
774
   0005                     774         .ds 2
775
   0007                     775 _eeprom_write_PARM_3:
776
   0007                     776         .ds 1
777
   0008                     777 _mac_eeprom_read_PARM_2:
778
   0008                     778         .ds 1
779
   0009                     779 _mac_eeprom_read_PARM_3:
780
   0009                     780         .ds 1
781
   000A                     781 _mac_eeprom_write_PARM_2:
782
   000A                     782         .ds 1
783
   000B                     783 _mac_eeprom_write_PARM_3:
784
   000B                     784         .ds 1
785
   000C                     785 _flash_write_PARM_2:
786
   000C                     786         .ds 1
787
   000D                     787 _fpga_send_ep0_oOEC_1_1:
788
   000D                     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
   0000                     800 _flash_read_PARM_2::
801
   0000                     801         .ds 1
802
                            802         .area   OSEG    (OVR,DATA)
803
                            803         .area   OSEG    (OVR,DATA)
804
   0000                     804 _spi_write_PARM_2::
805
   0000                     805         .ds 1
806
                            806         .area   OSEG    (OVR,DATA)
807
   0000                     807 _sendStringDescriptor_PARM_2::
808
   0000                     808         .ds 1
809
   0001                     809 _sendStringDescriptor_PARM_3::
810
   0001                     810         .ds 1
811
                            811 ;--------------------------------------------------------
812
                            812 ; Stack segment in internal ram
813
                            813 ;--------------------------------------------------------
814
                            814         .area   SSEG    (DATA)
815
   0000                     815 __start__stack:
816
   0000                     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
   0000                    1084 _eeprom_addr::
1085
   0000                    1085         .ds 2
1086
   0002                    1086 _eeprom_write_bytes::
1087
   0002                    1087         .ds 2
1088
   0004                    1088 _eeprom_write_checksum::
1089
   0004                    1089         .ds 1
1090
   0005                    1090 _mac_eeprom_addr::
1091
   0005                    1091         .ds 1
1092
   0006                    1092 _config_data_valid::
1093
   0006                    1093         .ds 1
1094
   0007                    1094 _flash_enabled::
1095
   0007                    1095         .ds 1
1096
   0008                    1096 _flash_sector_size::
1097
   0008                    1097         .ds 2
1098
   000A                    1098 _flash_sectors::
1099
   000A                    1099         .ds 4
1100
   000E                    1100 _flash_ec::
1101
   000E                    1101         .ds 1
1102
   000F                    1102 _spi_vendor::
1103
   000F                    1103         .ds 1
1104
   0010                    1104 _spi_device::
1105
   0010                    1105         .ds 1
1106
   0011                    1106 _spi_memtype::
1107
   0011                    1107         .ds 1
1108
   0012                    1108 _spi_erase_cmd::
1109
   0012                    1109         .ds 1
1110
   0013                    1110 _spi_last_cmd::
1111
   0013                    1111         .ds 1
1112
   0014                    1112 _spi_buffer::
1113
   0014                    1113         .ds 4
1114
   0018                    1114 _spi_write_addr_hi::
1115
   0018                    1115         .ds 2
1116
   001A                    1116 _spi_write_addr_lo::
1117
   001A                    1117         .ds 1
1118
   001B                    1118 _spi_need_pp::
1119
   001B                    1119         .ds 1
1120
   001C                    1120 _spi_write_sector::
1121
   001C                    1121         .ds 2
1122
   001E                    1122 _ep0_read_mode::
1123
   001E                    1123         .ds 1
1124
   001F                    1124 _ep0_write_mode::
1125
   001F                    1125         .ds 1
1126
   0020                    1126 _fpga_checksum::
1127
   0020                    1127         .ds 1
1128
   0021                    1128 _fpga_bytes::
1129
   0021                    1129         .ds 4
1130
   0025                    1130 _fpga_init_b::
1131
   0025                    1131         .ds 1
1132
   0026                    1132 _fpga_flash_result::
1133
   0026                    1133         .ds 1
1134
   0027                    1134 _fpga_conf_initialized::
1135
   0027                    1135         .ds 1
1136
   0028                    1136 _OOEA::
1137
   0028                    1137         .ds 1
1138
   0029                    1138 _fpga_first_free_sector_buf_1_1:
1139
   0029                    1139         .ds 4
1140
   002D                    1140 _fpga_configure_from_flash_init_buf_1_1:
1141
   002D                    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
   0031                    1151 _mac_eeprom_init_buf_1_1:
1152
   0031                    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
   0000                    1161 _ep0_payload_remaining::
1162
   0000                    1162         .ds 2
1163
   0002                    1163 _ep0_payload_transfer::
1164
   0002                    1164         .ds 1
1165
   0003                    1165 _ep0_prev_setup_request::
1166
   0003                    1166         .ds 1
1167
   0004                    1167 _ep0_vendor_cmd_setup::
1168
   0004                    1168         .ds 1
1169
   0005                    1169 _ISOFRAME_COUNTER::
1170
   0005                    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
   0000                    1185 __interrupt_vect:
1186
   0000 02s00r00           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
   0000 02s00r03           1201         ljmp    __sdcc_program_startup
1202
                           1202 ;--------------------------------------------------------
1203
                           1203 ; Home
1204
                           1204 ;--------------------------------------------------------
1205
                           1205         .area HOME    (CODE)
1206
                           1206         .area HOME    (CODE)
1207
   0003                    1207 __sdcc_program_startup:
1208
   0003 12s1BrD5           1208         lcall   _main
1209
                           1209 ;       return from main will lock up
1210
   0006 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
   0000                    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
   0000 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
   0001                    1467 _wait:
1468
   0001 AA 82              1468         mov     r2,dpl
1469
   0003 AB 83              1469         mov     r3,dph
1470
                           1470 ;       ../../include/ztex-utils.h:80: for (j=0; j
1471
   0005 7C 00              1471         mov     r4,#0x00
1472
   0007 7D 00              1472         mov     r5,#0x00
1473
   0009                    1473 00104$:
1474
   0009 C3                 1474         clr     c
1475
   000A EC                 1475         mov     a,r4
1476
   000B 9A                 1476         subb    a,r2
1477
   000C ED                 1477         mov     a,r5
1478
   000D 9B                 1478         subb    a,r3
1479
   000E 50 14              1479         jnc     00108$
1480
                           1480 ;       ../../include/ztex-utils.h:81: for (i=0; i<1200; i++);
1481
   0010 7E B0              1481         mov     r6,#0xB0
1482
   0012 7F 04              1482         mov     r7,#0x04
1483
   0014                    1483 00103$:
1484
   0014 1E                 1484         dec     r6
1485
   0015 BE FF 01           1485         cjne    r6,#0xff,00117$
1486
   0018 1F                 1486         dec     r7
1487
   0019                    1487 00117$:
1488
   0019 EE                 1488         mov     a,r6
1489
   001A 4F                 1489         orl     a,r7
1490
   001B 70 F7              1490         jnz     00103$
1491
                           1491 ;       ../../include/ztex-utils.h:80: for (j=0; j
1492
   001D 0C                 1492         inc     r4
1493
   001E BC 00 E8           1493         cjne    r4,#0x00,00104$
1494
   0021 0D                 1494         inc     r5
1495
   0022 80 E5              1495         sjmp    00104$
1496
   0024                    1496 00108$:
1497
   0024 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
   0025                    1509 _uwait:
1510
   0025 AA 82              1510         mov     r2,dpl
1511
   0027 AB 83              1511         mov     r3,dph
1512
                           1512 ;       ../../include/ztex-utils.h:90: for (j=0; j
1513
   0029 7C 00              1513         mov     r4,#0x00
1514
   002B 7D 00              1514         mov     r5,#0x00
1515
   002D                    1515 00104$:
1516
   002D C3                 1516         clr     c
1517
   002E EC                 1517         mov     a,r4
1518
   002F 9A                 1518         subb    a,r2
1519
   0030 ED                 1519         mov     a,r5
1520
   0031 9B                 1520         subb    a,r3
1521
   0032 50 14              1521         jnc     00108$
1522
                           1522 ;       ../../include/ztex-utils.h:91: for (i=0; i<10; i++);
1523
   0034 7E 0A              1523         mov     r6,#0x0A
1524
   0036 7F 00              1524         mov     r7,#0x00
1525
   0038                    1525 00103$:
1526
   0038 1E                 1526         dec     r6
1527
   0039 BE FF 01           1527         cjne    r6,#0xff,00117$
1528
   003C 1F                 1528         dec     r7
1529
   003D                    1529 00117$:
1530
   003D EE                 1530         mov     a,r6
1531
   003E 4F                 1531         orl     a,r7
1532
   003F 70 F7              1532         jnz     00103$
1533
                           1533 ;       ../../include/ztex-utils.h:90: for (j=0; j
1534
   0041 0C                 1534         inc     r4
1535
   0042 BC 00 E8           1535         cjne    r4,#0x00,00104$
1536
   0045 0D                 1536         inc     r5
1537
   0046 80 E5              1537         sjmp    00104$
1538
   0048                    1538 00108$:
1539
   0048 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
   0049                    1548 _MEM_COPY1_int:
1549
                           1549 ;       ../../include/ztex-utils.h:110: __endasm;
1550
                           1550
1551
   0049                    1551         020001$:
1552
   0049 75 AF 07           1552              mov _AUTOPTRSETUP,#0x07
1553
   004C 90 E6 7B           1553              mov dptr,#_XAUTODAT1
1554
   004F E0                 1554              movx a,@dptr
1555
   0050 90 E6 7C           1555              mov dptr,#_XAUTODAT2
1556
   0053 F0                 1556              movx @dptr,a
1557
   0054 DA F3              1557              djnz r2, 020001$
1558
   0056 22                 1558              ret
1559
                           1559
1560
   0057 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
   0058                    1571 _i2c_waitWrite:
1572
                           1572 ;       ../../include/ztex-eeprom.h:44: for ( toc=0; toc<255 && !(I2CS & bmBIT0); toc++ );
1573
   0058 7A 00              1573         mov     r2,#0x00
1574
   005A                    1574 00105$:
1575
   005A BA FF 00           1575         cjne    r2,#0xFF,00116$
1576
   005D                    1576 00116$:
1577
   005D 50 0B              1577         jnc     00108$
1578
   005F 90 E6 78           1578         mov     dptr,#_I2CS
1579
   0062 E0                 1579         movx    a,@dptr
1580
   0063 FB                 1580         mov     r3,a
1581
   0064 20 E0 03           1581         jb      acc.0,00108$
1582
   0067 0A                 1582         inc     r2
1583
   0068 80 F0              1583         sjmp    00105$
1584
   006A                    1584 00108$:
1585
                           1585 ;       ../../include/ztex-eeprom.h:45: i2csbuf = I2CS;
1586
   006A 90 E6 78           1586         mov     dptr,#_I2CS
1587
   006D E0                 1587         movx    a,@dptr
1588
                           1588 ;       ../../include/ztex-eeprom.h:46: if ( (i2csbuf & bmBIT2) || (!(i2csbuf & bmBIT1)) ) {
1589
   006E FA                 1589         mov     r2,a
1590
   006F 20 E2 04           1590         jb      acc.2,00101$
1591
   0072 EA                 1591         mov     a,r2
1592
   0073 20 E1 0B           1592         jb      acc.1,00102$
1593
   0076                    1593 00101$:
1594
                           1594 ;       ../../include/ztex-eeprom.h:47: I2CS |= bmBIT6;
1595
   0076 90 E6 78           1595         mov     dptr,#_I2CS
1596
   0079 E0                 1596         movx    a,@dptr
1597
   007A 44 40              1597         orl     a,#0x40
1598
   007C F0                 1598         movx    @dptr,a
1599
                           1599 ;       ../../include/ztex-eeprom.h:48: return 1;
1600
   007D 75 82 01           1600         mov     dpl,#0x01
1601
                           1601 ;       ../../include/ztex-eeprom.h:50: return 0;
1602
   0080 22                 1602         ret
1603
   0081                    1603 00102$:
1604
   0081 75 82 00           1604         mov     dpl,#0x00
1605
   0084 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
   0085                    1616 _i2c_waitRead:
1617
                           1617 ;       ../../include/ztex-eeprom.h:60: for ( toc=0; toc<255 && !(I2CS & bmBIT0); toc++ );
1618
   0085 7A 00              1618         mov     r2,#0x00
1619
   0087                    1619 00104$:
1620
   0087 BA FF 00           1620         cjne    r2,#0xFF,00115$
1621
   008A                    1621 00115$:
1622
   008A 50 0B              1622         jnc     00107$
1623
   008C 90 E6 78           1623         mov     dptr,#_I2CS
1624
   008F E0                 1624         movx    a,@dptr
1625
   0090 FB                 1625         mov     r3,a
1626
   0091 20 E0 03           1626         jb      acc.0,00107$
1627
   0094 0A                 1627         inc     r2
1628
   0095 80 F0              1628         sjmp    00104$
1629
   0097                    1629 00107$:
1630
                           1630 ;       ../../include/ztex-eeprom.h:61: i2csbuf = I2CS;
1631
   0097 90 E6 78           1631         mov     dptr,#_I2CS
1632
   009A E0                 1632         movx    a,@dptr
1633
                           1633 ;       ../../include/ztex-eeprom.h:62: if (i2csbuf & bmBIT2) {
1634
   009B FA                 1634         mov     r2,a
1635
   009C 30 E2 0B           1635         jnb     acc.2,00102$
1636
                           1636 ;       ../../include/ztex-eeprom.h:63: I2CS |= bmBIT6;
1637
   009F 90 E6 78           1637         mov     dptr,#_I2CS
1638
   00A2 E0                 1638         movx    a,@dptr
1639
   00A3 44 40              1639         orl     a,#0x40
1640
   00A5 F0                 1640         movx    @dptr,a
1641
                           1641 ;       ../../include/ztex-eeprom.h:64: return 1;
1642
   00A6 75 82 01           1642         mov     dpl,#0x01
1643
                           1643 ;       ../../include/ztex-eeprom.h:66: return 0;
1644
   00A9 22                 1644         ret
1645
   00AA                    1645 00102$:
1646
   00AA 75 82 00           1646         mov     dpl,#0x00
1647
   00AD 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
   00AE                    1657 _i2c_waitStart:
1658
                           1658 ;       ../../include/ztex-eeprom.h:76: for ( toc=0; toc<255; toc++ ) {
1659
   00AE 7A 00              1659         mov     r2,#0x00
1660
   00B0                    1660 00103$:
1661
   00B0 BA FF 00           1661         cjne    r2,#0xFF,00112$
1662
   00B3                    1662 00112$:
1663
   00B3 50 0F              1663         jnc     00106$
1664
                           1664 ;       ../../include/ztex-eeprom.h:77: if ( ! (I2CS & bmBIT2) )
1665
   00B5 90 E6 78           1665         mov     dptr,#_I2CS
1666
   00B8 E0                 1666         movx    a,@dptr
1667
   00B9 FB                 1667         mov     r3,a
1668
   00BA 20 E2 04           1668         jb      acc.2,00105$
1669
                           1669 ;       ../../include/ztex-eeprom.h:78: return 0;
1670
   00BD 75 82 00           1670         mov     dpl,#0x00
1671
   00C0 22                 1671         ret
1672
   00C1                    1672 00105$:
1673
                           1673 ;       ../../include/ztex-eeprom.h:76: for ( toc=0; toc<255; toc++ ) {
1674
   00C1 0A                 1674         inc     r2
1675
   00C2 80 EC              1675         sjmp    00103$
1676
   00C4                    1676 00106$:
1677
                           1677 ;       ../../include/ztex-eeprom.h:80: return 1;
1678
   00C4 75 82 01           1678         mov     dpl,#0x01
1679
   00C7 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
   00C8                    1689 _i2c_waitStop:
1690
                           1690 ;       ../../include/ztex-eeprom.h:90: for ( toc=0; toc<255; toc++ ) {
1691
   00C8 7A 00              1691         mov     r2,#0x00
1692
   00CA                    1692 00103$:
1693
   00CA BA FF 00           1693         cjne    r2,#0xFF,00112$
1694
   00CD                    1694 00112$:
1695
   00CD 50 0F              1695         jnc     00106$
1696
                           1696 ;       ../../include/ztex-eeprom.h:91: if ( ! (I2CS & bmBIT6) )
1697
   00CF 90 E6 78           1697         mov     dptr,#_I2CS
1698
   00D2 E0                 1698         movx    a,@dptr
1699
   00D3 FB                 1699         mov     r3,a
1700
   00D4 20 E6 04           1700         jb      acc.6,00105$
1701
                           1701 ;       ../../include/ztex-eeprom.h:92: return 0;
1702
   00D7 75 82 00           1702         mov     dpl,#0x00
1703
   00DA 22                 1703         ret
1704
   00DB                    1704 00105$:
1705
                           1705 ;       ../../include/ztex-eeprom.h:90: for ( toc=0; toc<255; toc++ ) {
1706
   00DB 0A                 1706         inc     r2
1707
   00DC 80 EC              1707         sjmp    00103$
1708
   00DE                    1708 00106$:
1709
                           1709 ;       ../../include/ztex-eeprom.h:94: return 1;
1710
   00DE 75 82 01           1710         mov     dpl,#0x01
1711
   00E1 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
   00E2                    1724 _eeprom_select:
1725
   00E2 AA 82              1725         mov     r2,dpl
1726
                           1726 ;       ../../include/ztex-eeprom.h:105: eeprom_select_start:
1727
   00E4 C3                 1727         clr     c
1728
   00E5 E4                 1728         clr     a
1729
   00E6 95*00              1729         subb    a,_eeprom_select_PARM_2
1730
   00E8 E4                 1730         clr     a
1731
   00E9 33                 1731         rlc     a
1732
   00EA FB                 1732         mov     r3,a
1733
   00EB                    1733 00101$:
1734
                           1734 ;       ../../include/ztex-eeprom.h:106: I2CS |= bmBIT7;                // start bit
1735
   00EB 90 E6 78           1735         mov     dptr,#_I2CS
1736
   00EE E0                 1736         movx    a,@dptr
1737
   00EF 44 80              1737         orl     a,#0x80
1738
   00F1 F0                 1738         movx    @dptr,a
1739
                           1739 ;       ../../include/ztex-eeprom.h:107: i2c_waitStart();
1740
   00F2 C0 02              1740         push    ar2
1741
   00F4 C0 03              1741         push    ar3
1742
   00F6 12s00rAE           1742         lcall   _i2c_waitStart
1743
   00F9 D0 03              1743         pop     ar3
1744
   00FB D0 02              1744         pop     ar2
1745
                           1745 ;       ../../include/ztex-eeprom.h:108: I2DAT = addr;          // select device for writing
1746
   00FD 90 E6 79           1746         mov     dptr,#_I2DAT
1747
   0100 EA                 1747         mov     a,r2
1748
   0101 F0                 1748         movx    @dptr,a
1749
                           1749 ;       ../../include/ztex-eeprom.h:109: if ( ! i2c_waitWrite() ) {
1750
   0102 C0 02              1750         push    ar2
1751
   0104 C0 03              1751         push    ar3
1752
   0106 12s00r58           1752         lcall   _i2c_waitWrite
1753
   0109 E5 82              1753         mov     a,dpl
1754
   010B D0 03              1754         pop     ar3
1755
   010D D0 02              1755         pop     ar2
1756
   010F 70 12              1756         jnz     00107$
1757
                           1757 ;       ../../include/ztex-eeprom.h:110: if ( stop ) {
1758
   0111 E5*01              1758         mov     a,_eeprom_select_PARM_3
1759
   0113 60 0A              1759         jz      00103$
1760
                           1760 ;       ../../include/ztex-eeprom.h:111: I2CS |= bmBIT6;
1761
   0115 90 E6 78           1761         mov     dptr,#_I2CS
1762
   0118 E0                 1762         movx    a,@dptr
1763
   0119 44 40              1763         orl     a,#0x40
1764
   011B F0                 1764         movx    @dptr,a
1765
                           1765 ;       ../../include/ztex-eeprom.h:112: i2c_waitStop();
1766
   011C 12s00rC8           1766         lcall   _i2c_waitStop
1767
   011F                    1767 00103$:
1768
                           1768 ;       ../../include/ztex-eeprom.h:114: return 0;
1769
   011F 75 82 00           1769         mov     dpl,#0x00
1770
   0122 22                 1770         ret
1771
   0123                    1771 00107$:
1772
                           1772 ;       ../../include/ztex-eeprom.h:116: else if (toc
1773
   0123 EB                 1773         mov     a,r3
1774
   0124 60 10              1774         jz      00108$
1775
                           1775 ;       ../../include/ztex-eeprom.h:117: uwait(10);
1776
   0126 90 00 0A           1776         mov     dptr,#0x000A
1777
   0129 C0 02              1777         push    ar2
1778
   012B C0 03              1778         push    ar3
1779
   012D 12s00r25           1779         lcall   _uwait
1780
   0130 D0 03              1780         pop     ar3
1781
   0132 D0 02              1781         pop     ar2
1782
                           1782 ;       ../../include/ztex-eeprom.h:118: goto eeprom_select_start;
1783
   0134 80 B5              1783         sjmp    00101$
1784
   0136                    1784 00108$:
1785
                           1785 ;       ../../include/ztex-eeprom.h:120: if ( stop ) {
1786
   0136 E5*01              1786         mov     a,_eeprom_select_PARM_3
1787
   0138 60 08              1787         jz      00110$
1788
                           1788 ;       ../../include/ztex-eeprom.h:121: I2CS |= bmBIT6;
1789
   013A 90 E6 78           1789         mov     dptr,#_I2CS
1790
   013D E0                 1790         movx    a,@dptr
1791
   013E FA                 1791         mov     r2,a
1792
   013F 44 40              1792         orl     a,#0x40
1793
   0141 F0                 1793         movx    @dptr,a
1794
   0142                    1794 00110$:
1795
                           1795 ;       ../../include/ztex-eeprom.h:123: return 1;
1796
   0142 75 82 01           1796         mov     dpl,#0x01
1797
   0145 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
   0146                    1811 _eeprom_read:
1812
   0146 AA 82              1812         mov     r2,dpl
1813
   0148 AB 83              1813         mov     r3,dph
1814
                           1814 ;       ../../include/ztex-eeprom.h:132: BYTE bytes = 0,i;
1815
   014A 7C 00              1815         mov     r4,#0x00
1816
                           1816 ;       ../../include/ztex-eeprom.h:134: if ( length == 0 )
1817
   014C E5*04              1817         mov     a,_eeprom_read_PARM_3
1818
                           1818 ;       ../../include/ztex-eeprom.h:135: return 0;
1819
   014E 70 03              1819         jnz     00102$
1820
   0150 F5 82              1820         mov     dpl,a
1821
   0152 22                 1821         ret
1822
   0153                    1822 00102$:
1823
                           1823 ;       ../../include/ztex-eeprom.h:137: if ( eeprom_select(EEPROM_ADDR, 100,0) )
1824
   0153 75*00 64           1824         mov     _eeprom_select_PARM_2,#0x64
1825
   0156 75*01 00           1825         mov     _eeprom_select_PARM_3,#0x00
1826
   0159 75 82 A2           1826         mov     dpl,#0xA2
1827
   015C C0 02              1827         push    ar2
1828
   015E C0 03              1828         push    ar3
1829
   0160 C0 04              1829         push    ar4
1830
   0162 12s00rE2           1830         lcall   _eeprom_select
1831
   0165 E5 82              1831         mov     a,dpl
1832
   0167 D0 04              1832         pop     ar4
1833
   0169 D0 03              1833         pop     ar3
1834
   016B D0 02              1834         pop     ar2
1835
   016D 60 03              1835         jz      00134$
1836
   016F 02s02r4C           1836         ljmp    00117$
1837
   0172                    1837 00134$:
1838
                           1838 ;       ../../include/ztex-eeprom.h:140: I2DAT = HI(addr);              // write address
1839
   0172 90 E6 79           1839         mov     dptr,#_I2DAT
1840
   0175 E5*03              1840         mov     a,(_eeprom_read_PARM_2 + 1)
1841
   0177 F0                 1841         movx    @dptr,a
1842
                           1842 ;       ../../include/ztex-eeprom.h:141: if ( i2c_waitWrite() ) goto eeprom_read_end;
1843
   0178 C0 02              1843         push    ar2
1844
   017A C0 03              1844         push    ar3
1845
   017C C0 04              1845         push    ar4
1846
   017E 12s00r58           1846         lcall   _i2c_waitWrite
1847
   0181 E5 82              1847         mov     a,dpl
1848
   0183 D0 04              1848         pop     ar4
1849
   0185 D0 03              1849         pop     ar3
1850
   0187 D0 02              1850         pop     ar2
1851
   0189 60 03              1851         jz      00135$
1852
   018B 02s02r4C           1852         ljmp    00117$
1853
   018E                    1853 00135$:
1854
                           1854 ;       ../../include/ztex-eeprom.h:142: I2DAT = LO(addr);              // write address
1855
   018E 90 E6 79           1855         mov     dptr,#_I2DAT
1856
   0191 E5*02              1856         mov     a,_eeprom_read_PARM_2
1857
   0193 F0                 1857         movx    @dptr,a
1858
                           1858 ;       ../../include/ztex-eeprom.h:143: if ( i2c_waitWrite() ) goto eeprom_read_end;
1859
   0194 C0 02              1859         push    ar2
1860
   0196 C0 03              1860         push    ar3
1861
   0198 C0 04              1861         push    ar4
1862
   019A 12s00r58           1862         lcall   _i2c_waitWrite
1863
   019D E5 82              1863         mov     a,dpl
1864
   019F D0 04              1864         pop     ar4
1865
   01A1 D0 03              1865         pop     ar3
1866
   01A3 D0 02              1866         pop     ar2
1867
   01A5 60 03              1867         jz      00136$
1868
   01A7 02s02r4C           1868         ljmp    00117$
1869
   01AA                    1869 00136$:
1870
                           1870 ;       ../../include/ztex-eeprom.h:144: I2CS |= bmBIT6;
1871
   01AA 90 E6 78           1871         mov     dptr,#_I2CS
1872
   01AD E0                 1872         movx    a,@dptr
1873
   01AE 44 40              1873         orl     a,#0x40
1874
   01B0 F0                 1874         movx    @dptr,a
1875
                           1875 ;       ../../include/ztex-eeprom.h:145: i2c_waitStop();
1876
   01B1 C0 02              1876         push    ar2
1877
   01B3 C0 03              1877         push    ar3
1878
   01B5 C0 04              1878         push    ar4
1879
   01B7 12s00rC8           1879         lcall   _i2c_waitStop
1880
                           1880 ;       ../../include/ztex-eeprom.h:147: I2CS |= bmBIT7;                // start bit
1881
   01BA 90 E6 78           1881         mov     dptr,#_I2CS
1882
   01BD E0                 1882         movx    a,@dptr
1883
   01BE 44 80              1883         orl     a,#0x80
1884
   01C0 F0                 1884         movx    @dptr,a
1885
                           1885 ;       ../../include/ztex-eeprom.h:148: i2c_waitStart();
1886
   01C1 12s00rAE           1886         lcall   _i2c_waitStart
1887
                           1887 ;       ../../include/ztex-eeprom.h:149: I2DAT = EEPROM_ADDR | 1;       // select device for reading
1888
   01C4 90 E6 79           1888         mov     dptr,#_I2DAT
1889
   01C7 74 A3              1889         mov     a,#0xA3
1890
   01C9 F0                 1890         movx    @dptr,a
1891
                           1891 ;       ../../include/ztex-eeprom.h:150: if ( i2c_waitWrite() ) goto eeprom_read_end;
1892
   01CA 12s00r58           1892         lcall   _i2c_waitWrite
1893
   01CD E5 82              1893         mov     a,dpl
1894
   01CF D0 04              1894         pop     ar4
1895
   01D1 D0 03              1895         pop     ar3
1896
   01D3 D0 02              1896         pop     ar2
1897
   01D5 70 75              1897         jnz     00117$
1898
                           1898 ;       ../../include/ztex-eeprom.h:152: *buf = I2DAT;          // dummy read
1899
   01D7 90 E6 79           1899         mov     dptr,#_I2DAT
1900
   01DA E0                 1900         movx    a,@dptr
1901
   01DB 8A 82              1901         mov     dpl,r2
1902
   01DD 8B 83              1902         mov     dph,r3
1903
   01DF F0                 1903         movx    @dptr,a
1904
                           1904 ;       ../../include/ztex-eeprom.h:153: if ( i2c_waitRead()) goto eeprom_read_end;
1905
   01E0 C0 02              1905         push    ar2
1906
   01E2 C0 03              1906         push    ar3
1907
   01E4 C0 04              1907         push    ar4
1908
   01E6 12s00r85           1908         lcall   _i2c_waitRead
1909
   01E9 E5 82              1909         mov     a,dpl
1910
   01EB D0 04              1910         pop     ar4
1911
   01ED D0 03              1911         pop     ar3
1912
   01EF D0 02              1912         pop     ar2
1913
   01F1 70 59              1913         jnz     00117$
1914
   01F3 FD                 1914         mov     r5,a
1915
   01F4                    1915 00118$:
1916
                           1916 ;       ../../include/ztex-eeprom.h:154: for (; bytes
1917
   01F4 C3                 1917         clr     c
1918
   01F5 ED                 1918         mov     a,r5
1919
   01F6 95*04              1919         subb    a,_eeprom_read_PARM_3
1920
   01F8 50 2A              1920         jnc     00121$
1921
                           1921 ;       ../../include/ztex-eeprom.h:155: *buf = I2DAT;          // read data
1922
   01FA 90 E6 79           1922         mov     dptr,#_I2DAT
1923
   01FD E0                 1923         movx    a,@dptr
1924
   01FE 8A 82              1924         mov     dpl,r2
1925
   0200 8B 83              1925         mov     dph,r3
1926
   0202 F0                 1926         movx    @dptr,a
1927
   0203 A3                 1927         inc     dptr
1928
   0204 AA 82              1928         mov     r2,dpl
1929
   0206 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
   0208 C0 02              1932         push    ar2
1933
   020A C0 03              1933         push    ar3
1934
   020C C0 04              1934         push    ar4
1935
   020E C0 05              1935         push    ar5
1936
   0210 12s00r85           1936         lcall   _i2c_waitRead
1937
   0213 E5 82              1937         mov     a,dpl
1938
   0215 D0 05              1938         pop     ar5
1939
   0217 D0 04              1939         pop     ar4
1940
   0219 D0 03              1940         pop     ar3
1941
   021B D0 02              1941         pop     ar2
1942
   021D 70 2D              1942         jnz     00117$
1943
                           1943 ;       ../../include/ztex-eeprom.h:154: for (; bytes
1944
   021F 0D                 1944         inc     r5
1945
   0220 8D 04              1945         mov     ar4,r5
1946
   0222 80 D0              1946         sjmp    00118$
1947
   0224                    1947 00121$:
1948
                           1948 ;       ../../include/ztex-eeprom.h:160: I2CS |= bmBIT5;                // no ACK
1949
   0224 90 E6 78           1949         mov     dptr,#_I2CS
1950
   0227 E0                 1950         movx    a,@dptr
1951
   0228 44 20              1951         orl     a,#0x20
1952
   022A F0                 1952         movx    @dptr,a
1953
                           1953 ;       ../../include/ztex-eeprom.h:161: i = I2DAT;                     // dummy read
1954
   022B 90 E6 79           1954         mov     dptr,#_I2DAT
1955
   022E E0                 1955         movx    a,@dptr
1956
                           1956 ;       ../../include/ztex-eeprom.h:162: if ( i2c_waitRead()) goto eeprom_read_end;
1957
   022F C0 04              1957         push    ar4
1958
   0231 12s00r85           1958         lcall   _i2c_waitRead
1959
   0234 E5 82              1959         mov     a,dpl
1960
   0236 D0 04              1960         pop     ar4
1961
   0238 70 12              1961         jnz     00117$
1962
                           1962 ;       ../../include/ztex-eeprom.h:164: I2CS |= bmBIT6;                // stop bit
1963
   023A 90 E6 78           1963         mov     dptr,#_I2CS
1964
   023D E0                 1964         movx    a,@dptr
1965
   023E 44 40              1965         orl     a,#0x40
1966
   0240 F0                 1966         movx    @dptr,a
1967
                           1967 ;       ../../include/ztex-eeprom.h:165: i = I2DAT;                     // dummy read
1968
   0241 90 E6 79           1968         mov     dptr,#_I2DAT
1969
   0244 E0                 1969         movx    a,@dptr
1970
                           1970 ;       ../../include/ztex-eeprom.h:166: i2c_waitStop();
1971
   0245 C0 04              1971         push    ar4
1972
   0247 12s00rC8           1972         lcall   _i2c_waitStop
1973
   024A D0 04              1973         pop     ar4
1974
                           1974 ;       ../../include/ztex-eeprom.h:168: eeprom_read_end:
1975
   024C                    1975 00117$:
1976
                           1976 ;       ../../include/ztex-eeprom.h:169: return bytes;
1977
   024C 8C 82              1977         mov     dpl,r4
1978
   024E 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
   024F                    1991 _eeprom_write:
1992
   024F AA 82              1992         mov     r2,dpl
1993
   0251 AB 83              1993         mov     r3,dph
1994
                           1994 ;       ../../include/ztex-eeprom.h:179: BYTE bytes = 0;
1995
   0253 7C 00              1995         mov     r4,#0x00
1996
                           1996 ;       ../../include/ztex-eeprom.h:181: if ( length == 0 )
1997
   0255 E5*07              1997         mov     a,_eeprom_write_PARM_3
1998
                           1998 ;       ../../include/ztex-eeprom.h:182: return 0;
1999
   0257 70 03              1999         jnz     00102$
2000
   0259 F5 82              2000         mov     dpl,a
2001
   025B 22                 2001         ret
2002
   025C                    2002 00102$:
2003
                           2003 ;       ../../include/ztex-eeprom.h:184: if ( eeprom_select(EEPROM_ADDR, 100,0) )
2004
   025C 75*00 64           2004         mov     _eeprom_select_PARM_2,#0x64
2005
   025F 75*01 00           2005         mov     _eeprom_select_PARM_3,#0x00
2006
   0262 75 82 A2           2006         mov     dpl,#0xA2
2007
   0265 C0 02              2007         push    ar2
2008
   0267 C0 03              2008         push    ar3
2009
   0269 C0 04              2009         push    ar4
2010
   026B 12s00rE2           2010         lcall   _eeprom_select
2011
   026E E5 82              2011         mov     a,dpl
2012
   0270 D0 04              2012         pop     ar4
2013
   0272 D0 03              2013         pop     ar3
2014
   0274 D0 02              2014         pop     ar2
2015
   0276 60 03              2015         jz      00125$
2016
   0278 02s03r0C           2016         ljmp    00111$
2017
   027B                    2017 00125$:
2018
                           2018 ;       ../../include/ztex-eeprom.h:187: I2DAT = HI(addr);              // write address
2019
   027B 90 E6 79           2019         mov     dptr,#_I2DAT
2020
   027E E5*06              2020         mov     a,(_eeprom_write_PARM_2 + 1)
2021
   0280 F0                 2021         movx    @dptr,a
2022
                           2022 ;       ../../include/ztex-eeprom.h:188: if ( i2c_waitWrite() ) goto eeprom_write_end;
2023
   0281 C0 02              2023         push    ar2
2024
   0283 C0 03              2024         push    ar3
2025
   0285 C0 04              2025         push    ar4
2026
   0287 12s00r58           2026         lcall   _i2c_waitWrite
2027
   028A E5 82              2027         mov     a,dpl
2028
   028C D0 04              2028         pop     ar4
2029
   028E D0 03              2029         pop     ar3
2030
   0290 D0 02              2030         pop     ar2
2031
   0292 60 03              2031         jz      00126$
2032
   0294 02s03r0C           2032         ljmp    00111$
2033
   0297                    2033 00126$:
2034
                           2034 ;       ../../include/ztex-eeprom.h:189: I2DAT = LO(addr);              // write address
2035
   0297 90 E6 79           2035         mov     dptr,#_I2DAT
2036
   029A E5*05              2036         mov     a,_eeprom_write_PARM_2
2037
   029C F0                 2037         movx    @dptr,a
2038
                           2038 ;       ../../include/ztex-eeprom.h:190: if ( i2c_waitWrite() ) goto eeprom_write_end;
2039
   029D C0 02              2039         push    ar2
2040
   029F C0 03              2040         push    ar3
2041
   02A1 C0 04              2041         push    ar4
2042
   02A3 12s00r58           2042         lcall   _i2c_waitWrite
2043
   02A6 E5 82              2043         mov     a,dpl
2044
   02A8 D0 04              2044         pop     ar4
2045
   02AA D0 03              2045         pop     ar3
2046
   02AC D0 02              2046         pop     ar2
2047
   02AE 70 5C              2047         jnz     00111$
2048
   02B0 FD                 2048         mov     r5,a
2049
   02B1                    2049 00112$:
2050
                           2050 ;       ../../include/ztex-eeprom.h:192: for (; bytes
2051
   02B1 C3                 2051         clr     c
2052
   02B2 ED                 2052         mov     a,r5
2053
   02B3 95*07              2053         subb    a,_eeprom_write_PARM_3
2054
   02B5 50 47              2054         jnc     00115$
2055
                           2055 ;       ../../include/ztex-eeprom.h:193: I2DAT = *buf;          // write data
2056
   02B7 8A 82              2056         mov     dpl,r2
2057
   02B9 8B 83              2057         mov     dph,r3
2058
   02BB E0                 2058         movx    a,@dptr
2059
   02BC FE                 2059         mov     r6,a
2060
   02BD A3                 2060         inc     dptr
2061
   02BE AA 82              2061         mov     r2,dpl
2062
   02C0 AB 83              2062         mov     r3,dph
2063
   02C2 90 E6 79           2063         mov     dptr,#_I2DAT
2064
   02C5 EE                 2064         mov     a,r6
2065
   02C6 F0                 2065         movx    @dptr,a
2066
                           2066 ;       ../../include/ztex-eeprom.h:194: eeprom_write_checksum += *buf;
2067
   02C7 90s00r04           2067         mov     dptr,#_eeprom_write_checksum
2068
   02CA E0                 2068         movx    a,@dptr
2069
   02CB FF                 2069         mov     r7,a
2070
   02CC EE                 2070         mov     a,r6
2071
   02CD 2F                 2071         add     a,r7
2072
   02CE 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
   02CF 90s00r02           2075         mov     dptr,#_eeprom_write_bytes
2076
   02D2 E0                 2076         movx    a,@dptr
2077
   02D3 FE                 2077         mov     r6,a
2078
   02D4 A3                 2078         inc     dptr
2079
   02D5 E0                 2079         movx    a,@dptr
2080
   02D6 FF                 2080         mov     r7,a
2081
   02D7 90s00r02           2081         mov     dptr,#_eeprom_write_bytes
2082
   02DA 74 01              2082         mov     a,#0x01
2083
   02DC 2E                 2083         add     a,r6
2084
   02DD F0                 2084         movx    @dptr,a
2085
   02DE E4                 2085         clr     a
2086
   02DF 3F                 2086         addc    a,r7
2087
   02E0 A3                 2087         inc     dptr
2088
   02E1 F0                 2088         movx    @dptr,a
2089
                           2089 ;       ../../include/ztex-eeprom.h:197: if ( i2c_waitWrite() ) goto eeprom_write_end;
2090
   02E2 C0 02              2090         push    ar2
2091
   02E4 C0 03              2091         push    ar3
2092
   02E6 C0 04              2092         push    ar4
2093
   02E8 C0 05              2093         push    ar5
2094
   02EA 12s00r58           2094         lcall   _i2c_waitWrite
2095
   02ED E5 82              2095         mov     a,dpl
2096
   02EF D0 05              2096         pop     ar5
2097
   02F1 D0 04              2097         pop     ar4
2098
   02F3 D0 03              2098         pop     ar3
2099
   02F5 D0 02              2099         pop     ar2
2100
   02F7 70 13              2100         jnz     00111$
2101
                           2101 ;       ../../include/ztex-eeprom.h:192: for (; bytes
2102
   02F9 0D                 2102         inc     r5
2103
   02FA 8D 04              2103         mov     ar4,r5
2104
   02FC 80 B3              2104         sjmp    00112$
2105
   02FE                    2105 00115$:
2106
                           2106 ;       ../../include/ztex-eeprom.h:199: I2CS |= bmBIT6;                // stop bit
2107
   02FE 90 E6 78           2107         mov     dptr,#_I2CS
2108
   0301 E0                 2108         movx    a,@dptr
2109
   0302 44 40              2109         orl     a,#0x40
2110
   0304 F0                 2110         movx    @dptr,a
2111
                           2111 ;       ../../include/ztex-eeprom.h:200: i2c_waitStop();
2112
   0305 C0 04              2112         push    ar4
2113
   0307 12s00rC8           2113         lcall   _i2c_waitStop
2114
   030A D0 04              2114         pop     ar4
2115
                           2115 ;       ../../include/ztex-eeprom.h:202: eeprom_write_end:
2116
   030C                    2116 00111$:
2117
                           2117 ;       ../../include/ztex-eeprom.h:203: return bytes;
2118
   030C 8C 82              2118         mov     dpl,r4
2119
   030E 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
   030F                    2130 _eeprom_read_ep0:
2131
                           2131 ;       ../../include/ztex-eeprom.h:211: b = ep0_payload_transfer;
2132
   030F 90s00r02           2132         mov     dptr,#_ep0_payload_transfer
2133
   0312 E0                 2133         movx    a,@dptr
2134
   0313 FA                 2134         mov     r2,a
2135
                           2135 ;       ../../include/ztex-eeprom.h:212: i = eeprom_read(EP0BUF, eeprom_addr, b);
2136
   0314 90s00r00           2136         mov     dptr,#_eeprom_addr
2137
   0317 E0                 2137         movx    a,@dptr
2138
   0318 F5*02              2138         mov     _eeprom_read_PARM_2,a
2139
   031A A3                 2139         inc     dptr
2140
   031B E0                 2140         movx    a,@dptr
2141
   031C F5*03              2141         mov     (_eeprom_read_PARM_2 + 1),a
2142
   031E 8A*04              2142         mov     _eeprom_read_PARM_3,r2
2143
   0320 90 E7 40           2143         mov     dptr,#_EP0BUF
2144
   0323 C0 02              2144         push    ar2
2145
   0325 12s01r46           2145         lcall   _eeprom_read
2146
   0328 AB 82              2146         mov     r3,dpl
2147
   032A D0 02              2147         pop     ar2
2148
                           2148 ;       ../../include/ztex-eeprom.h:213: eeprom_addr += b;
2149
   032C 7C 00              2149         mov     r4,#0x00
2150
   032E 90s00r00           2150         mov     dptr,#_eeprom_addr
2151
   0331 E0                 2151         movx    a,@dptr
2152
   0332 FD                 2152         mov     r5,a
2153
   0333 A3                 2153         inc     dptr
2154
   0334 E0                 2154         movx    a,@dptr
2155
   0335 FE                 2155         mov     r6,a
2156
   0336 90s00r00           2156         mov     dptr,#_eeprom_addr
2157
   0339 EA                 2157         mov     a,r2
2158
   033A 2D                 2158         add     a,r5
2159
   033B F0                 2159         movx    @dptr,a
2160
   033C EC                 2160         mov     a,r4
2161
   033D 3E                 2161         addc    a,r6
2162
   033E A3                 2162         inc     dptr
2163
   033F F0                 2163         movx    @dptr,a
2164
                           2164 ;       ../../include/ztex-eeprom.h:214: return i;
2165
   0340 8B 82              2165         mov     dpl,r3
2166
   0342 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
   0343                    2176 _eeprom_write_ep0:
2177
   0343 AA 82              2177         mov     r2,dpl
2178
                           2178 ;       ../../include/ztex-eeprom.h:231: eeprom_write(EP0BUF, eeprom_addr, length);
2179
   0345 90s00r00           2179         mov     dptr,#_eeprom_addr
2180
   0348 E0                 2180         movx    a,@dptr
2181
   0349 F5*05              2181         mov     _eeprom_write_PARM_2,a
2182
   034B A3                 2182         inc     dptr
2183
   034C E0                 2183         movx    a,@dptr
2184
   034D F5*06              2184         mov     (_eeprom_write_PARM_2 + 1),a
2185
   034F 8A*07              2185         mov     _eeprom_write_PARM_3,r2
2186
   0351 90 E7 40           2186         mov     dptr,#_EP0BUF
2187
   0354 C0 02              2187         push    ar2
2188
   0356 12s02r4F           2188         lcall   _eeprom_write
2189
   0359 D0 02              2189         pop     ar2
2190
                           2190 ;       ../../include/ztex-eeprom.h:232: eeprom_addr += length;
2191
   035B 7B 00              2191         mov     r3,#0x00
2192
   035D 90s00r00           2192         mov     dptr,#_eeprom_addr
2193
   0360 E0                 2193         movx    a,@dptr
2194
   0361 FC                 2194         mov     r4,a
2195
   0362 A3                 2195         inc     dptr
2196
   0363 E0                 2196         movx    a,@dptr
2197
   0364 FD                 2197         mov     r5,a
2198
   0365 90s00r00           2198         mov     dptr,#_eeprom_addr
2199
   0368 EA                 2199         mov     a,r2
2200
   0369 2C                 2200         add     a,r4
2201
   036A F0                 2201         movx    @dptr,a
2202
   036B EB                 2202         mov     a,r3
2203
   036C 3D                 2203         addc    a,r5
2204
   036D A3                 2204         inc     dptr
2205
   036E F0                 2205         movx    @dptr,a
2206
   036F 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
   0370                    2220 _mac_eeprom_read:
2221
   0370 AA 82              2221         mov     r2,dpl
2222
   0372 AB 83              2222         mov     r3,dph
2223
                           2223 ;       ../../include/ztex-eeprom.h:273: BYTE bytes = 0,i;
2224
   0374 7C 00              2224         mov     r4,#0x00
2225
                           2225 ;       ../../include/ztex-eeprom.h:275: if ( length == 0 )
2226
   0376 E5*09              2226         mov     a,_mac_eeprom_read_PARM_3
2227
                           2227 ;       ../../include/ztex-eeprom.h:276: return 0;
2228
   0378 70 03              2228         jnz     00102$
2229
   037A F5 82              2229         mov     dpl,a
2230
   037C 22                 2230         ret
2231
   037D                    2231 00102$:
2232
                           2232 ;       ../../include/ztex-eeprom.h:278: if ( eeprom_select(EEPROM_MAC_ADDR, 100,0) )
2233
   037D 75*00 64           2233         mov     _eeprom_select_PARM_2,#0x64
2234
   0380 75*01 00           2234         mov     _eeprom_select_PARM_3,#0x00
2235
   0383 75 82 A6           2235         mov     dpl,#0xA6
2236
   0386 C0 02              2236         push    ar2
2237
   0388 C0 03              2237         push    ar3
2238
   038A C0 04              2238         push    ar4
2239
   038C 12s00rE2           2239         lcall   _eeprom_select
2240
   038F E5 82              2240         mov     a,dpl
2241
   0391 D0 04              2241         pop     ar4
2242
   0393 D0 03              2242         pop     ar3
2243
   0395 D0 02              2243         pop     ar2
2244
   0397 60 03              2244         jz      00131$
2245
   0399 02s04r5A           2245         ljmp    00115$
2246
   039C                    2246 00131$:
2247
                           2247 ;       ../../include/ztex-eeprom.h:281: I2DAT = addr;          // write address
2248
   039C 90 E6 79           2248         mov     dptr,#_I2DAT
2249
   039F E5*08              2249         mov     a,_mac_eeprom_read_PARM_2
2250
   03A1 F0                 2250         movx    @dptr,a
2251
                           2251 ;       ../../include/ztex-eeprom.h:282: if ( i2c_waitWrite() ) goto mac_eeprom_read_end;
2252
   03A2 C0 02              2252         push    ar2
2253
   03A4 C0 03              2253         push    ar3
2254
   03A6 C0 04              2254         push    ar4
2255
   03A8 12s00r58           2255         lcall   _i2c_waitWrite
2256
   03AB E5 82              2256         mov     a,dpl
2257
   03AD D0 04              2257         pop     ar4
2258
   03AF D0 03              2258         pop     ar3
2259
   03B1 D0 02              2259         pop     ar2
2260
   03B3 60 03              2260         jz      00132$
2261
   03B5 02s04r5A           2261         ljmp    00115$
2262
   03B8                    2262 00132$:
2263
                           2263 ;       ../../include/ztex-eeprom.h:283: I2CS |= bmBIT6;
2264
   03B8 90 E6 78           2264         mov     dptr,#_I2CS
2265
   03BB E0                 2265         movx    a,@dptr
2266
   03BC 44 40              2266         orl     a,#0x40
2267
   03BE F0                 2267         movx    @dptr,a
2268
                           2268 ;       ../../include/ztex-eeprom.h:284: i2c_waitStop();
2269
   03BF C0 02              2269         push    ar2
2270
   03C1 C0 03              2270         push    ar3
2271
   03C3 C0 04              2271         push    ar4
2272
   03C5 12s00rC8           2272         lcall   _i2c_waitStop
2273
                           2273 ;       ../../include/ztex-eeprom.h:286: I2CS |= bmBIT7;                // start bit
2274
   03C8 90 E6 78           2274         mov     dptr,#_I2CS
2275
   03CB E0                 2275         movx    a,@dptr
2276
   03CC 44 80              2276         orl     a,#0x80
2277
   03CE F0                 2277         movx    @dptr,a
2278
                           2278 ;       ../../include/ztex-eeprom.h:287: i2c_waitStart();
2279
   03CF 12s00rAE           2279         lcall   _i2c_waitStart
2280
                           2280 ;       ../../include/ztex-eeprom.h:288: I2DAT = EEPROM_MAC_ADDR | 1;  // select device for reading
2281
   03D2 90 E6 79           2281         mov     dptr,#_I2DAT
2282
   03D5 74 A7              2282         mov     a,#0xA7
2283
   03D7 F0                 2283         movx    @dptr,a
2284
                           2284 ;       ../../include/ztex-eeprom.h:289: if ( i2c_waitWrite() ) goto mac_eeprom_read_end;
2285
   03D8 12s00r58           2285         lcall   _i2c_waitWrite
2286
   03DB E5 82              2286         mov     a,dpl
2287
   03DD D0 04              2287         pop     ar4
2288
   03DF D0 03              2288         pop     ar3
2289
   03E1 D0 02              2289         pop     ar2
2290
   03E3 70 75              2290         jnz     00115$
2291
                           2291 ;       ../../include/ztex-eeprom.h:291: *buf = I2DAT;          // dummy read
2292
   03E5 90 E6 79           2292         mov     dptr,#_I2DAT
2293
   03E8 E0                 2293         movx    a,@dptr
2294
   03E9 8A 82              2294         mov     dpl,r2
2295
   03EB 8B 83              2295         mov     dph,r3
2296
   03ED F0                 2296         movx    @dptr,a
2297
                           2297 ;       ../../include/ztex-eeprom.h:292: if ( i2c_waitRead()) goto mac_eeprom_read_end;
2298
   03EE C0 02              2298         push    ar2
2299
   03F0 C0 03              2299         push    ar3
2300
   03F2 C0 04              2300         push    ar4
2301
   03F4 12s00r85           2301         lcall   _i2c_waitRead
2302
   03F7 E5 82              2302         mov     a,dpl
2303
   03F9 D0 04              2303         pop     ar4
2304
   03FB D0 03              2304         pop     ar3
2305
   03FD D0 02              2305         pop     ar2
2306
   03FF 70 59              2306         jnz     00115$
2307
   0401 FD                 2307         mov     r5,a
2308
   0402                    2308 00116$:
2309
                           2309 ;       ../../include/ztex-eeprom.h:293: for (; bytes
2310
   0402 C3                 2310         clr     c
2311
   0403 ED                 2311         mov     a,r5
2312
   0404 95*09              2312         subb    a,_mac_eeprom_read_PARM_3
2313
   0406 50 2A              2313         jnc     00119$
2314
                           2314 ;       ../../include/ztex-eeprom.h:294: *buf = I2DAT;          // read data
2315
   0408 90 E6 79           2315         mov     dptr,#_I2DAT
2316
   040B E0                 2316         movx    a,@dptr
2317
   040C 8A 82              2317         mov     dpl,r2
2318
   040E 8B 83              2318         mov     dph,r3
2319
   0410 F0                 2319         movx    @dptr,a
2320
   0411 A3                 2320         inc     dptr
2321
   0412 AA 82              2321         mov     r2,dpl
2322
   0414 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
   0416 C0 02              2325         push    ar2
2326
   0418 C0 03              2326         push    ar3
2327
   041A C0 04              2327         push    ar4
2328
   041C C0 05              2328         push    ar5
2329
   041E 12s00r85           2329         lcall   _i2c_waitRead
2330
   0421 E5 82              2330         mov     a,dpl
2331
   0423 D0 05              2331         pop     ar5
2332
   0425 D0 04              2332         pop     ar4
2333
   0427 D0 03              2333         pop     ar3
2334
   0429 D0 02              2334         pop     ar2
2335
   042B 70 2D              2335         jnz     00115$
2336
                           2336 ;       ../../include/ztex-eeprom.h:293: for (; bytes
2337
   042D 0D                 2337         inc     r5
2338
   042E 8D 04              2338         mov     ar4,r5
2339
   0430 80 D0              2339         sjmp    00116$
2340
   0432                    2340 00119$:
2341
                           2341 ;       ../../include/ztex-eeprom.h:299: I2CS |= bmBIT5;                // no ACK
2342
   0432 90 E6 78           2342         mov     dptr,#_I2CS
2343
   0435 E0                 2343         movx    a,@dptr
2344
   0436 44 20              2344         orl     a,#0x20
2345
   0438 F0                 2345         movx    @dptr,a
2346
                           2346 ;       ../../include/ztex-eeprom.h:300: i = I2DAT;                     // dummy read
2347
   0439 90 E6 79           2347         mov     dptr,#_I2DAT
2348
   043C E0                 2348         movx    a,@dptr
2349
                           2349 ;       ../../include/ztex-eeprom.h:301: if ( i2c_waitRead()) goto mac_eeprom_read_end;
2350
   043D C0 04              2350         push    ar4
2351
   043F 12s00r85           2351         lcall   _i2c_waitRead
2352
   0442 E5 82              2352         mov     a,dpl
2353
   0444 D0 04              2353         pop     ar4
2354
   0446 70 12              2354         jnz     00115$
2355
                           2355 ;       ../../include/ztex-eeprom.h:303: I2CS |= bmBIT6;                // stop bit
2356
   0448 90 E6 78           2356         mov     dptr,#_I2CS
2357
   044B E0                 2357         movx    a,@dptr
2358
   044C 44 40              2358         orl     a,#0x40
2359
   044E F0                 2359         movx    @dptr,a
2360
                           2360 ;       ../../include/ztex-eeprom.h:304: i = I2DAT;                     // dummy read
2361
   044F 90 E6 79           2361         mov     dptr,#_I2DAT
2362
   0452 E0                 2362         movx    a,@dptr
2363
                           2363 ;       ../../include/ztex-eeprom.h:305: i2c_waitStop();
2364
   0453 C0 04              2364         push    ar4
2365
   0455 12s00rC8           2365         lcall   _i2c_waitStop
2366
   0458 D0 04              2366         pop     ar4
2367
                           2367 ;       ../../include/ztex-eeprom.h:307: mac_eeprom_read_end:
2368
   045A                    2368 00115$:
2369
                           2369 ;       ../../include/ztex-eeprom.h:308: return bytes;
2370
   045A 8C 82              2370         mov     dpl,r4
2371
   045C 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
   045D                    2384 _mac_eeprom_write:
2385
   045D AA 82              2385         mov     r2,dpl
2386
   045F AB 83              2386         mov     r3,dph
2387
                           2387 ;       ../../include/ztex-eeprom.h:318: BYTE bytes = 0;
2388
   0461 7C 00              2388         mov     r4,#0x00
2389
                           2389 ;       ../../include/ztex-eeprom.h:320: if ( length == 0 )
2390
   0463 E5*0B              2390         mov     a,_mac_eeprom_write_PARM_3
2391
                           2391 ;       ../../include/ztex-eeprom.h:321: return 0;
2392
   0465 70 03              2392         jnz     00102$
2393
   0467 F5 82              2393         mov     dpl,a
2394
   0469 22                 2394         ret
2395
   046A                    2395 00102$:
2396
                           2396 ;       ../../include/ztex-eeprom.h:323: if ( eeprom_select(EEPROM_MAC_ADDR, 100,0) )
2397
   046A 75*00 64           2397         mov     _eeprom_select_PARM_2,#0x64
2398
   046D 75*01 00           2398         mov     _eeprom_select_PARM_3,#0x00
2399
   0470 75 82 A6           2399         mov     dpl,#0xA6
2400
   0473 C0 02              2400         push    ar2
2401
   0475 C0 03              2401         push    ar3
2402
   0477 C0 04              2402         push    ar4
2403
   0479 12s00rE2           2403         lcall   _eeprom_select
2404
   047C E5 82              2404         mov     a,dpl
2405
   047E D0 04              2405         pop     ar4
2406
   0480 D0 03              2406         pop     ar3
2407
   0482 D0 02              2407         pop     ar2
2408
   0484 60 03              2408         jz      00132$
2409
   0486 02s05r4C           2409         ljmp    00119$
2410
   0489                    2410 00132$:
2411
                           2411 ;       ../../include/ztex-eeprom.h:326: I2DAT = addr;                  // write address
2412
   0489 90 E6 79           2412         mov     dptr,#_I2DAT
2413
   048C E5*0A              2413         mov     a,_mac_eeprom_write_PARM_2
2414
   048E F0                 2414         movx    @dptr,a
2415
                           2415 ;       ../../include/ztex-eeprom.h:327: if ( i2c_waitWrite() ) goto mac_eeprom_write_end;
2416
   048F C0 02              2416         push    ar2
2417
   0491 C0 03              2417         push    ar3
2418
   0493 C0 04              2418         push    ar4
2419
   0495 12s00r58           2419         lcall   _i2c_waitWrite
2420
   0498 E5 82              2420         mov     a,dpl
2421
   049A D0 04              2421         pop     ar4
2422
   049C D0 03              2422         pop     ar3
2423
   049E D0 02              2423         pop     ar2
2424
   04A0 60 03              2424         jz      00133$
2425
   04A2 02s05r4C           2425         ljmp    00119$
2426
   04A5                    2426 00133$:
2427
                           2427 ;       ../../include/ztex-eeprom.h:329: while ( bytes
2428
   04A5 AD*0A              2428         mov     r5,_mac_eeprom_write_PARM_2
2429
   04A7 7E 00              2429         mov     r6,#0x00
2430
   04A9                    2430 00116$:
2431
   04A9 C3                 2431         clr     c
2432
   04AA EE                 2432         mov     a,r6
2433
   04AB 95*0B              2433         subb    a,_mac_eeprom_write_PARM_3
2434
   04AD 40 03              2434         jc      00134$
2435
   04AF 02s05r3E           2435         ljmp    00118$
2436
   04B2                    2436 00134$:
2437
                           2437 ;       ../../include/ztex-eeprom.h:330: I2DAT = *buf;          // write data
2438
   04B2 8A 82              2438         mov     dpl,r2
2439
   04B4 8B 83              2439         mov     dph,r3
2440
   04B6 E0                 2440         movx    a,@dptr
2441
   04B7 FF                 2441         mov     r7,a
2442
   04B8 A3                 2442         inc     dptr
2443
   04B9 AA 82              2443         mov     r2,dpl
2444
   04BB AB 83              2444         mov     r3,dph
2445
   04BD 90 E6 79           2445         mov     dptr,#_I2DAT
2446
   04C0 EF                 2446         mov     a,r7
2447
   04C1 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
   04C2 C0 02              2450         push    ar2
2451
   04C4 C0 03              2451         push    ar3
2452
   04C6 C0 04              2452         push    ar4
2453
   04C8 C0 05              2453         push    ar5
2454
   04CA C0 06              2454         push    ar6
2455
   04CC 12s00r58           2455         lcall   _i2c_waitWrite
2456
   04CF E5 82              2456         mov     a,dpl
2457
   04D1 D0 06              2457         pop     ar6
2458
   04D3 D0 05              2458         pop     ar5
2459
   04D5 D0 04              2459         pop     ar4
2460
   04D7 D0 03              2460         pop     ar3
2461
   04D9 D0 02              2461         pop     ar2
2462
   04DB 70 6F              2462         jnz     00119$
2463
                           2463 ;       ../../include/ztex-eeprom.h:334: addr++;
2464
   04DD 0D                 2464         inc     r5
2465
   04DE 8D*0A              2465         mov     _mac_eeprom_write_PARM_2,r5
2466
                           2466 ;       ../../include/ztex-eeprom.h:335: bytes++;
2467
   04E0 0E                 2467         inc     r6
2468
   04E1 8E 04              2468         mov     ar4,r6
2469
                           2469 ;       ../../include/ztex-eeprom.h:336: if ( ( (addr & 8) == 0 ) && ( bytes
2470
   04E3 ED                 2470         mov     a,r5
2471
   04E4 20 E3 C2           2471         jb      acc.3,00116$
2472
   04E7 C3                 2472         clr     c
2473
   04E8 EE                 2473         mov     a,r6
2474
   04E9 95*0B              2474         subb    a,_mac_eeprom_write_PARM_3
2475
   04EB 50 BC              2475         jnc     00116$
2476
                           2476 ;       ../../include/ztex-eeprom.h:337: I2CS |= bmBIT6;                // stop bit
2477
   04ED 90 E6 78           2477         mov     dptr,#_I2CS
2478
   04F0 E0                 2478         movx    a,@dptr
2479
   04F1 44 40              2479         orl     a,#0x40
2480
   04F3 F0                 2480         movx    @dptr,a
2481
                           2481 ;       ../../include/ztex-eeprom.h:338: i2c_waitStop();
2482
   04F4 C0 02              2482         push    ar2
2483
   04F6 C0 03              2483         push    ar3
2484
   04F8 C0 04              2484         push    ar4
2485
   04FA C0 05              2485         push    ar5
2486
   04FC C0 06              2486         push    ar6
2487
   04FE 12s00rC8           2487         lcall   _i2c_waitStop
2488
                           2488 ;       ../../include/ztex-eeprom.h:340: if ( eeprom_select(EEPROM_MAC_ADDR, 100,0) )
2489
   0501 75*00 64           2489         mov     _eeprom_select_PARM_2,#0x64
2490
   0504 75*01 00           2490         mov     _eeprom_select_PARM_3,#0x00
2491
   0507 75 82 A6           2491         mov     dpl,#0xA6
2492
   050A 12s00rE2           2492         lcall   _eeprom_select
2493
   050D E5 82              2493         mov     a,dpl
2494
   050F D0 06              2494         pop     ar6
2495
   0511 D0 05              2495         pop     ar5
2496
   0513 D0 04              2496         pop     ar4
2497
   0515 D0 03              2497         pop     ar3
2498
   0517 D0 02              2498         pop     ar2
2499
   0519 70 31              2499         jnz     00119$
2500
                           2500 ;       ../../include/ztex-eeprom.h:343: I2DAT = addr;                  // write address
2501
   051B 90 E6 79           2501         mov     dptr,#_I2DAT
2502
   051E ED                 2502         mov     a,r5
2503
   051F F0                 2503         movx    @dptr,a
2504
                           2504 ;       ../../include/ztex-eeprom.h:344: if ( i2c_waitWrite() ) goto mac_eeprom_write_end;
2505
   0520 C0 02              2505         push    ar2
2506
   0522 C0 03              2506         push    ar3
2507
   0524 C0 04              2507         push    ar4
2508
   0526 C0 05              2508         push    ar5
2509
   0528 C0 06              2509         push    ar6
2510
   052A 12s00r58           2510         lcall   _i2c_waitWrite
2511
   052D E5 82              2511         mov     a,dpl
2512
   052F D0 06              2512         pop     ar6
2513
   0531 D0 05              2513         pop     ar5
2514
   0533 D0 04              2514         pop     ar4
2515
   0535 D0 03              2515         pop     ar3
2516
   0537 D0 02              2516         pop     ar2
2517
   0539 70 11              2517         jnz     00119$
2518
   053B 02s04rA9           2518         ljmp    00116$
2519
   053E                    2519 00118$:
2520
                           2520 ;       ../../include/ztex-eeprom.h:347: I2CS |= bmBIT6;                // stop bit
2521
   053E 90 E6 78           2521         mov     dptr,#_I2CS
2522
   0541 E0                 2522         movx    a,@dptr
2523
   0542 44 40              2523         orl     a,#0x40
2524
   0544 F0                 2524         movx    @dptr,a
2525
                           2525 ;       ../../include/ztex-eeprom.h:348: i2c_waitStop();
2526
   0545 C0 04              2526         push    ar4
2527
   0547 12s00rC8           2527         lcall   _i2c_waitStop
2528
   054A D0 04              2528         pop     ar4
2529
                           2529 ;       ../../include/ztex-eeprom.h:350: mac_eeprom_write_end:
2530
   054C                    2530 00119$:
2531
                           2531 ;       ../../include/ztex-eeprom.h:351: mac_eeprom_addr = addr;
2532
   054C 90s00r05           2532         mov     dptr,#_mac_eeprom_addr
2533
   054F E5*0A              2533         mov     a,_mac_eeprom_write_PARM_2
2534
   0551 F0                 2534         movx    @dptr,a
2535
                           2535 ;       ../../include/ztex-eeprom.h:352: return bytes;
2536
   0552 8C 82              2536         mov     dpl,r4
2537
   0554 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
   0555                    2548 _mac_eeprom_read_ep0:
2549
                           2549 ;       ../../include/ztex-eeprom.h:360: b = ep0_payload_transfer;
2550
   0555 90s00r02           2550         mov     dptr,#_ep0_payload_transfer
2551
   0558 E0                 2551         movx    a,@dptr
2552
   0559 FA                 2552         mov     r2,a
2553
                           2553 ;       ../../include/ztex-eeprom.h:361: i = mac_eeprom_read(EP0BUF, mac_eeprom_addr, b);
2554
   055A 90s00r05           2554         mov     dptr,#_mac_eeprom_addr
2555
   055D E0                 2555         movx    a,@dptr
2556
   055E F5*08              2556         mov     _mac_eeprom_read_PARM_2,a
2557
   0560 8A*09              2557         mov     _mac_eeprom_read_PARM_3,r2
2558
   0562 90 E7 40           2558         mov     dptr,#_EP0BUF
2559
   0565 C0 02              2559         push    ar2
2560
   0567 12s03r70           2560         lcall   _mac_eeprom_read
2561
   056A AB 82              2561         mov     r3,dpl
2562
   056C D0 02              2562         pop     ar2
2563
                           2563 ;       ../../include/ztex-eeprom.h:362: mac_eeprom_addr += b;
2564
   056E 90s00r05           2564         mov     dptr,#_mac_eeprom_addr
2565
   0571 E0                 2565         movx    a,@dptr
2566
   0572 FC                 2566         mov     r4,a
2567
   0573 EA                 2567         mov     a,r2
2568
   0574 2C                 2568         add     a,r4
2569
   0575 F0                 2569         movx    @dptr,a
2570
                           2570 ;       ../../include/ztex-eeprom.h:363: return i;
2571
   0576 8B 82              2571         mov     dpl,r3
2572
   0578 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
   0579                    2582 _spi_clocks:
2583
                           2583 ;       ../../include/ztex-flash2.h:110: }
2584
                           2584
2585
   0579 AA 82              2585          mov r2,dpl
2586
   057B                    2586         010014$:
2587
   057B D2 80              2587                 setb _IOA0
2588
   057D 00                 2588                 nop
2589
   057E 00                 2589                 nop
2590
   057F 00                 2590                 nop
2591
   0580 C2 80              2591                 clr _IOA0
2592
   0582 DA F7              2592          djnz r2,010014$
2593
                           2593 ;       # 109 "../../include/ztex-flash2.h"
2594
   0584 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
   0585                    2603 _flash_read_byte:
2604
                           2604 ;       ../../include/ztex-flash2.h:169: void flash_read(__xdata BYTE *buf, BYTE len) {
2605
                           2605
2606
                           2606
2607
   0585 A2 A0              2607          mov c,_IOC0
2608
                           2608 ;       # 121 "../../include/ztex-flash2.h"
2609
   0587 D2 80              2609                 setb _IOA0
2610
   0589 33                 2610                 rlc a
2611
   058A C2 80              2611                 clr _IOA0
2612
                           2612
2613
   058C A2 A0              2613                 mov c,_IOC0
2614
                           2614 ;       # 126 "../../include/ztex-flash2.h"
2615
   058E D2 80              2615                 setb _IOA0
2616
   0590 33                 2616                 rlc a
2617
   0591 C2 80              2617                 clr _IOA0
2618
                           2618
2619
   0593 A2 A0              2619                 mov c,_IOC0
2620
                           2620 ;       # 131 "../../include/ztex-flash2.h"
2621
   0595 D2 80              2621                 setb _IOA0
2622
   0597 33                 2622                 rlc a
2623
   0598 C2 80              2623                 clr _IOA0
2624
                           2624
2625
   059A A2 A0              2625                 mov c,_IOC0
2626
                           2626 ;       # 136 "../../include/ztex-flash2.h"
2627
   059C D2 80              2627                 setb _IOA0
2628
   059E 33                 2628                 rlc a
2629
   059F C2 80              2629                 clr _IOA0
2630
                           2630
2631
   05A1 A2 A0              2631                 mov c,_IOC0
2632
                           2632 ;       # 141 "../../include/ztex-flash2.h"
2633
   05A3 D2 80              2633                 setb _IOA0
2634
   05A5 33                 2634                 rlc a
2635
   05A6 C2 80              2635                 clr _IOA0
2636
                           2636
2637
   05A8 A2 A0              2637                 mov c,_IOC0
2638
                           2638 ;       # 146 "../../include/ztex-flash2.h"
2639
   05AA D2 80              2639                 setb _IOA0
2640
   05AC 33                 2640                 rlc a
2641
   05AD C2 80              2641                 clr _IOA0
2642
                           2642
2643
   05AF A2 A0              2643                 mov c,_IOC0
2644
                           2644 ;       # 151 "../../include/ztex-flash2.h"
2645
   05B1 D2 80              2645                 setb _IOA0
2646
   05B3 33                 2646                 rlc a
2647
   05B4 C2 80              2647                 clr _IOA0
2648
                           2648
2649
   05B6 A2 A0              2649                 mov c,_IOC0
2650
                           2650 ;       # 156 "../../include/ztex-flash2.h"
2651
   05B8 D2 80              2651                 setb _IOA0
2652
   05BA 33                 2652                 rlc a
2653
   05BB C2 80              2653                 clr _IOA0
2654
   05BD F5 82              2654                 mov dpl,a
2655
   05BF 22                 2655                 ret
2656
                           2656 ;       ../../include/ztex-flash2.h:170: *buf;                                  // this avoids stupid warnings
2657
   05C0 75 82 00           2657         mov     dpl,#0x00
2658
   05C3 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
   05C4                    2669 _flash_read:
2670
                           2670 ;       ../../include/ztex-flash2.h:228: __asm
2671
                           2671
2672
                           2672 ;       # 173 "../../include/ztex-flash2.h"
2673
   05C4 AA*00              2673          mov r2,_flash_read_PARM_2
2674
   05C6                    2674         010012$:
2675
                           2675
2676
   05C6 A2 A0              2676          mov c,_IOC0
2677
                           2677 ;       # 177 "../../include/ztex-flash2.h"
2678
   05C8 D2 80              2678                 setb _IOA0
2679
   05CA 33                 2679                 rlc a
2680
   05CB C2 80              2680                 clr _IOA0
2681
                           2681
2682
   05CD A2 A0              2682                 mov c,_IOC0
2683
                           2683 ;       # 182 "../../include/ztex-flash2.h"
2684
   05CF D2 80              2684                 setb _IOA0
2685
   05D1 33                 2685                 rlc a
2686
   05D2 C2 80              2686                 clr _IOA0
2687
                           2687
2688
   05D4 A2 A0              2688                 mov c,_IOC0
2689
                           2689 ;       # 187 "../../include/ztex-flash2.h"
2690
   05D6 D2 80              2690                 setb _IOA0
2691
   05D8 33                 2691                 rlc a
2692
   05D9 C2 80              2692                 clr _IOA0
2693
                           2693
2694
   05DB A2 A0              2694                 mov c,_IOC0
2695
                           2695 ;       # 192 "../../include/ztex-flash2.h"
2696
   05DD D2 80              2696                 setb _IOA0
2697
   05DF 33                 2697                 rlc a
2698
   05E0 C2 80              2698                 clr _IOA0
2699
                           2699
2700
   05E2 A2 A0              2700                 mov c,_IOC0
2701
                           2701 ;       # 197 "../../include/ztex-flash2.h"
2702
   05E4 D2 80              2702                 setb _IOA0
2703
   05E6 33                 2703                 rlc a
2704
   05E7 C2 80              2704                 clr _IOA0
2705
                           2705
2706
   05E9 A2 A0              2706                 mov c,_IOC0
2707
                           2707 ;       # 202 "../../include/ztex-flash2.h"
2708
   05EB D2 80              2708                 setb _IOA0
2709
   05ED 33                 2709                 rlc a
2710
   05EE C2 80              2710                 clr _IOA0
2711
                           2711
2712
   05F0 A2 A0              2712                 mov c,_IOC0
2713
                           2713 ;       # 207 "../../include/ztex-flash2.h"
2714
   05F2 D2 80              2714                 setb _IOA0
2715
   05F4 33                 2715                 rlc a
2716
   05F5 C2 80              2716                 clr _IOA0
2717
                           2717
2718
   05F7 A2 A0              2718                 mov c,_IOC0
2719
                           2719 ;       # 212 "../../include/ztex-flash2.h"
2720
   05F9 D2 80              2720                 setb _IOA0
2721
   05FB 33                 2721                 rlc a
2722
   05FC C2 80              2722                 clr _IOA0
2723
                           2723
2724
   05FE F0                 2724          movx @dptr,a
2725
   05FF A3                 2725          inc dptr
2726
   0600 DA C4              2726          djnz r2,010012$
2727
   0602 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
   0603                    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
   0603 E5 82              2741          mov a,dpl
2742
   0605 33                 2742          rlc a
2743
                           2743 ;       # 232 "../../include/ztex-flash2.h"
2744
                           2744
2745
   0606 92 81              2745          mov _IOA1,c
2746
   0608 D2 80              2746                 setb _IOA0
2747
   060A 33                 2747          rlc a
2748
                           2748 ;       # 236 "../../include/ztex-flash2.h"
2749
   060B C2 80              2749                 clr _IOA0
2750
                           2750
2751
   060D 92 81              2751          mov _IOA1,c
2752
   060F D2 80              2752                 setb _IOA0
2753
   0611 33                 2753          rlc a
2754
                           2754 ;       # 241 "../../include/ztex-flash2.h"
2755
   0612 C2 80              2755                 clr _IOA0
2756
                           2756
2757
   0614 92 81              2757          mov _IOA1,c
2758
   0616 D2 80              2758                 setb _IOA0
2759
   0618 33                 2759          rlc a
2760
                           2760 ;       # 246 "../../include/ztex-flash2.h"
2761
   0619 C2 80              2761                 clr _IOA0
2762
                           2762
2763
   061B 92 81              2763          mov _IOA1,c
2764
   061D D2 80              2764                 setb _IOA0
2765
   061F 33                 2765          rlc a
2766
                           2766 ;       # 251 "../../include/ztex-flash2.h"
2767
   0620 C2 80              2767                 clr _IOA0
2768
                           2768
2769
   0622 92 81              2769          mov _IOA1,c
2770
   0624 D2 80              2770                 setb _IOA0
2771
   0626 33                 2771          rlc a
2772
                           2772 ;       # 256 "../../include/ztex-flash2.h"
2773
   0627 C2 80              2773                 clr _IOA0
2774
                           2774
2775
   0629 92 81              2775          mov _IOA1,c
2776
   062B D2 80              2776                 setb _IOA0
2777
   062D 33                 2777          rlc a
2778
                           2778 ;       # 261 "../../include/ztex-flash2.h"
2779
   062E C2 80              2779                 clr _IOA0
2780
                           2780
2781
   0630 92 81              2781          mov _IOA1,c
2782
   0632 D2 80              2782                 setb _IOA0
2783
   0634 33                 2783          rlc a
2784
                           2784 ;       # 266 "../../include/ztex-flash2.h"
2785
   0635 C2 80              2785                 clr _IOA0
2786
                           2786
2787
   0637 92 81              2787          mov _IOA1,c
2788
   0639 D2 80              2788                 setb _IOA0
2789
   063B 00                 2789          nop
2790
   063C C2 80              2790                 clr _IOA0
2791
   063E 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
   063F                    2802 _spi_write:
2803
                           2803 ;       ../../include/ztex-flash2.h:339: void spi_select() {
2804
                           2804
2805
                           2805 ;       # 283 "../../include/ztex-flash2.h"
2806
   063F AA*00              2806          mov r2,_flash_read_PARM_2
2807
   0641                    2807         010013$:
2808
                           2808 ;       # 286 "../../include/ztex-flash2.h"
2809
   0641 E0                 2809          movx a,@dptr
2810
   0642 33                 2810          rlc a
2811
                           2811 ;       # 288 "../../include/ztex-flash2.h"
2812
                           2812
2813
   0643 92 81              2813          mov _IOA1,c
2814
   0645 D2 80              2814                 setb _IOA0
2815
   0647 33                 2815          rlc a
2816
                           2816 ;       # 292 "../../include/ztex-flash2.h"
2817
   0648 C2 80              2817                 clr _IOA0
2818
                           2818
2819
   064A 92 81              2819          mov _IOA1,c
2820
   064C D2 80              2820                 setb _IOA0
2821
   064E 33                 2821          rlc a
2822
                           2822 ;       # 297 "../../include/ztex-flash2.h"
2823
   064F C2 80              2823                 clr _IOA0
2824
                           2824
2825
   0651 92 81              2825          mov _IOA1,c
2826
   0653 D2 80              2826                 setb _IOA0
2827
   0655 33                 2827          rlc a
2828
                           2828 ;       # 302 "../../include/ztex-flash2.h"
2829
   0656 C2 80              2829                 clr _IOA0
2830
                           2830
2831
   0658 92 81              2831          mov _IOA1,c
2832
   065A D2 80              2832                 setb _IOA0
2833
   065C 33                 2833          rlc a
2834
                           2834 ;       # 307 "../../include/ztex-flash2.h"
2835
   065D C2 80              2835                 clr _IOA0
2836
                           2836
2837
   065F 92 81              2837          mov _IOA1,c
2838
   0661 D2 80              2838                 setb _IOA0
2839
   0663 33                 2839          rlc a
2840
                           2840 ;       # 312 "../../include/ztex-flash2.h"
2841
   0664 C2 80              2841                 clr _IOA0
2842
                           2842
2843
   0666 92 81              2843          mov _IOA1,c
2844
   0668 D2 80              2844                 setb _IOA0
2845
   066A 33                 2845          rlc a
2846
                           2846 ;       # 317 "../../include/ztex-flash2.h"
2847
   066B C2 80              2847                 clr _IOA0
2848
                           2848
2849
   066D 92 81              2849          mov _IOA1,c
2850
   066F D2 80              2850                 setb _IOA0
2851
   0671 33                 2851          rlc a
2852
                           2852 ;       # 322 "../../include/ztex-flash2.h"
2853
   0672 C2 80              2853                 clr _IOA0
2854
                           2854
2855
   0674 92 81              2855          mov _IOA1,c
2856
   0676 D2 80              2856                 setb _IOA0
2857
   0678 A3                 2857          inc dptr
2858
   0679 C2 80              2858                 clr _IOA0
2859
                           2859
2860
   067B DA C4              2860          djnz r2,010013$
2861
   067D 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
   067E                    2870 _spi_select:
2871
                           2871 ;       ../../include/ztex-flash2.h:349: void spi_deselect() {
2872
   067E D2 83              2872         setb    _IOA3
2873
                           2873 ;       ../../include/ztex-flash2.h:350: SPI_CS = 1;                                    // CS = 1;
2874
   0680 75 82 08           2874         mov     dpl,#0x08
2875
   0683 12s05r79           2875         lcall   _spi_clocks
2876
                           2876 ;       ../../include/ztex-flash2.h:342: SPI_CS = 0;
2877
   0686 C2 83              2877         clr     _IOA3
2878
   0688 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
   0689                    2887 _spi_deselect:
2888
                           2888 ;       ../../include/ztex-flash2.h:350: SPI_CS = 1;                                    // CS = 1;
2889
   0689 D2 83              2889         setb    _IOA3
2890
                           2890 ;       ../../include/ztex-flash2.h:351: spi_clocks(8);                         // 8 dummy clocks to finish a previous command
2891
   068B 75 82 08           2891         mov     dpl,#0x08
2892
   068E 02s05r79           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
   0691                    2902 _spi_wait:
2903
                           2903 ;       ../../include/ztex-flash2.h:359: spi_last_cmd = $0;
2904
   0691 90s00r13           2904         mov     dptr,#_spi_last_cmd
2905
   0694 74 05              2905         mov     a,#0x05
2906
   0696 F0                 2906         movx    @dptr,a
2907
                           2907 ;       ../../include/ztex-flash2.h:360: spi_select();                          // select
2908
   0697 12s06r7E           2908         lcall   _spi_select
2909
                           2909 ;       ../../include/ztex-flash2.h:361: spi_write_byte($0);                            // CMD 90h
2910
   069A 75 82 05           2910         mov     dpl,#0x05
2911
   069D 12s06r03           2911         lcall   _spi_write_byte
2912
                           2912 ;       ../../include/ztex-flash2.h:375: for (i=0; (flash_read_byte() & bmBIT0) && i<65535; i++ ) {
2913
   06A0 7A 00              2913         mov     r2,#0x00
2914
   06A2 7B 00              2914         mov     r3,#0x00
2915
   06A4                    2915 00102$:
2916
   06A4 C0 02              2916         push    ar2
2917
   06A6 C0 03              2917         push    ar3
2918
   06A8 12s05r85           2918         lcall   _flash_read_byte
2919
   06AB E5 82              2919         mov     a,dpl
2920
   06AD D0 03              2920         pop     ar3
2921
   06AF D0 02              2921         pop     ar2
2922
   06B1 30 E0 2E           2922         jnb     acc.0,00105$
2923
   06B4 8A 04              2923         mov     ar4,r2
2924
   06B6 8B 05              2924         mov     ar5,r3
2925
   06B8 7E 00              2925         mov     r6,#0x00
2926
   06BA 7F 00              2926         mov     r7,#0x00
2927
   06BC C3                 2927         clr     c
2928
   06BD EC                 2928         mov     a,r4
2929
   06BE 94 FF              2929         subb    a,#0xFF
2930
   06C0 ED                 2930         mov     a,r5
2931
   06C1 94 FF              2931         subb    a,#0xFF
2932
   06C3 EE                 2932         mov     a,r6
2933
   06C4 94 00              2933         subb    a,#0x00
2934
   06C6 EF                 2934         mov     a,r7
2935
   06C7 64 80              2935         xrl     a,#0x80
2936
   06C9 94 80              2936         subb    a,#0x80
2937
   06CB 50 15              2937         jnc     00105$
2938
                           2938 ;       ../../include/ztex-flash2.h:376: spi_clocks(0);                         // 256 dummy clocks
2939
   06CD 75 82 00           2939         mov     dpl,#0x00
2940
   06D0 C0 02              2940         push    ar2
2941
   06D2 C0 03              2941         push    ar3
2942
   06D4 12s05r79           2942         lcall   _spi_clocks
2943
   06D7 D0 03              2943         pop     ar3
2944
   06D9 D0 02              2944         pop     ar2
2945
                           2945 ;       ../../include/ztex-flash2.h:375: for (i=0; (flash_read_byte() & bmBIT0) && i<65535; i++ ) {
2946
   06DB 0A                 2946         inc     r2
2947
   06DC BA 00 C5           2947         cjne    r2,#0x00,00102$
2948
   06DF 0B                 2948         inc     r3
2949
   06E0 80 C2              2949         sjmp    00102$
2950
   06E2                    2950 00105$:
2951
                           2951 ;       ../../include/ztex-flash2.h:379: flash_ec = flash_read_byte() & bmBIT0 ? FLASH_EC_TIMEOUT : 0;
2952
   06E2 12s05r85           2952         lcall   _flash_read_byte
2953
   06E5 E5 82              2953         mov     a,dpl
2954
   06E7 30 E0 04           2954         jnb     acc.0,00108$
2955
   06EA 7A 02              2955         mov     r2,#0x02
2956
   06EC 80 02              2956         sjmp    00109$
2957
   06EE                    2957 00108$:
2958
   06EE 7A 00              2958         mov     r2,#0x00
2959
   06F0                    2959 00109$:
2960
   06F0 90s00r0E           2960         mov     dptr,#_flash_ec
2961
   06F3 EA                 2961         mov     a,r2
2962
   06F4 F0                 2962         movx    @dptr,a
2963
                           2963 ;       ../../include/ztex-flash2.h:380: spi_deselect();
2964
   06F5 12s06r89           2964         lcall   _spi_deselect
2965
                           2965 ;       ../../include/ztex-flash2.h:381: return flash_ec;
2966
   06F8 90s00r0E           2966         mov     dptr,#_flash_ec
2967
   06FB E0                 2967         movx    a,@dptr
2968
   06FC F5 82              2968         mov     dpl,a
2969
   06FE 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
   06FF                    2979 _flash_read_init:
2980
   06FF AA 82              2980         mov     r2,dpl
2981
   0701 AB 83              2981         mov     r3,dph
2982
                           2982 ;       ../../include/ztex-flash2.h:396: OESPI_OPORT &= ~bmBITSPI_BIT_DO;
2983
   0703 20 83 0A           2983         jb      _IOA3,00102$
2984
                           2984 ;       ../../include/ztex-flash2.h:393: flash_ec = FLASH_EC_PENDING;
2985
   0706 90s00r0E           2985         mov     dptr,#_flash_ec
2986
   0709 74 04              2986         mov     a,#0x04
2987
   070B F0                 2987         movx    @dptr,a
2988
                           2988 ;       ../../include/ztex-flash2.h:394: return FLASH_EC_PENDING;               // we interrupted a pending Flash operation
2989
   070C 75 82 04           2989         mov     dpl,#0x04
2990
   070F 22                 2990         ret
2991
   0710                    2991 00102$:
2992
                           2992 ;       ../../include/ztex-flash2.h:396: OESPI_OPORT &= ~bmBITSPI_BIT_DO;
2993
   0710 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
   0713 43 B2 0B           2995         orl     _OEA,#0x0B
2996
                           2996 ;       ../../include/ztex-flash2.h:398: if ( spi_wait() ) {
2997
   0716 C0 02              2997         push    ar2
2998
   0718 C0 03              2998         push    ar3
2999
   071A 12s06r91           2999         lcall   _spi_wait
3000
   071D E5 82              3000         mov     a,dpl
3001
   071F D0 03              3001         pop     ar3
3002
   0721 D0 02              3002         pop     ar2
3003
   0723 60 07              3003         jz      00104$
3004
                           3004 ;       ../../include/ztex-flash2.h:399: return flash_ec;
3005
   0725 90s00r0E           3005         mov     dptr,#_flash_ec
3006
   0728 E0                 3006         movx    a,@dptr
3007
   0729 F5 82              3007         mov     dpl,a
3008
   072B 22                 3008         ret
3009
   072C                    3009 00104$:
3010
                           3010 ;       ../../include/ztex-flash2.h:402: s = s << ((BYTE)flash_sector_size - 8);
3011
   072C 90s00r08           3011         mov     dptr,#_flash_sector_size
3012
   072F E0                 3012         movx    a,@dptr
3013
   0730 FC                 3013         mov     r4,a
3014
   0731 A3                 3014         inc     dptr
3015
   0732 E0                 3015         movx    a,@dptr
3016
   0733 7D 00              3016         mov     r5,#0x00
3017
   0735 EC                 3017         mov     a,r4
3018
   0736 24 F8              3018         add     a,#0xf8
3019
   0738 FC                 3019         mov     r4,a
3020
   0739 ED                 3020         mov     a,r5
3021
   073A 34 FF              3021         addc    a,#0xff
3022
   073C FD                 3022         mov     r5,a
3023
   073D 8C F0              3023         mov     b,r4
3024
   073F 05 F0              3024         inc     b
3025
   0741 80 06              3025         sjmp    00112$
3026
   0743                    3026 00111$:
3027
   0743 EA                 3027         mov     a,r2
3028
   0744 2A                 3028         add     a,r2
3029
   0745 FA                 3029         mov     r2,a
3030
   0746 EB                 3030         mov     a,r3
3031
   0747 33                 3031         rlc     a
3032
   0748 FB                 3032         mov     r3,a
3033
   0749                    3033 00112$:
3034
   0749 D5 F0 F7           3034         djnz    b,00111$
3035
                           3035 ;       ../../include/ztex-flash2.h:359: spi_last_cmd = $0;
3036
   074C 90s00r13           3036         mov     dptr,#_spi_last_cmd
3037
   074F 74 0B              3037         mov     a,#0x0B
3038
   0751 F0                 3038         movx    @dptr,a
3039
                           3039 ;       ../../include/ztex-flash2.h:360: spi_select();                          // select
3040
   0752 C0 02              3040         push    ar2
3041
   0754 C0 03              3041         push    ar3
3042
   0756 12s06r7E           3042         lcall   _spi_select
3043
                           3043 ;       ../../include/ztex-flash2.h:361: spi_write_byte($0);                            // CMD 90h
3044
   0759 75 82 0B           3044         mov     dpl,#0x0B
3045
   075C 12s06r03           3045         lcall   _spi_write_byte
3046
   075F D0 03              3046         pop     ar3
3047
                           3047 ;       ../../include/ztex-flash2.h:363:
3048
   0761 8B 82              3048         mov     dpl,r3
3049
   0763 C0 03              3049         push    ar3
3050
   0765 12s06r03           3050         lcall   _spi_write_byte
3051
   0768 D0 03              3051         pop     ar3
3052
   076A D0 02              3052         pop     ar2
3053
                           3053 ;       ../../include/ztex-flash2.h:405: spi_write_byte(s & 255);
3054
   076C 8A 82              3054         mov     dpl,r2
3055
   076E 12s06r03           3055         lcall   _spi_write_byte
3056
                           3056 ;       ../../include/ztex-flash2.h:406: spi_write_byte(0);
3057
   0771 75 82 00           3057         mov     dpl,#0x00
3058
   0774 12s06r03           3058         lcall   _spi_write_byte
3059
                           3059 ;       ../../include/ztex-flash2.h:407: spi_clocks(8);                         // 8 dummy clocks
3060
   0777 75 82 08           3060         mov     dpl,#0x08
3061
   077A 12s05r79           3061         lcall   _spi_clocks
3062
                           3062 ;       ../../include/ztex-flash2.h:408: return 0;
3063
   077D 75 82 00           3063         mov     dpl,#0x00
3064
   0780 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
   0781                    3073 _flash_read_next:
3074
                           3074 ;       ../../include/ztex-flash2.h:418: return 0;
3075
   0781 75 82 00           3075         mov     dpl,#0x00
3076
   0784 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
   0785                    3086 _flash_read_finish:
3087
                           3087 ;       ../../include/ztex-flash2.h:430: spi_deselect();
3088
   0785 02s06r89           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
   0788                    3097 _spi_pp:
3098
                           3098 ;       ../../include/ztex-flash2.h:438: spi_deselect();                                // finish previous write cmd
3099
   0788 12s06r89           3099         lcall   _spi_deselect
3100
                           3100 ;       ../../include/ztex-flash2.h:440: spi_need_pp = 0;
3101
   078B 90s00r1B           3101         mov     dptr,#_spi_need_pp
3102
   078E E4                 3102         clr     a
3103
   078F F0                 3103         movx    @dptr,a
3104
                           3104 ;       ../../include/ztex-flash2.h:442: if ( spi_wait() ) {
3105
   0790 12s06r91           3105         lcall   _spi_wait
3106
   0793 E5 82              3106         mov     a,dpl
3107
   0795 60 07              3107         jz      00102$
3108
                           3108 ;       ../../include/ztex-flash2.h:443: return flash_ec;
3109
   0797 90s00r0E           3109         mov     dptr,#_flash_ec
3110
   079A E0                 3110         movx    a,@dptr
3111
   079B F5 82              3111         mov     dpl,a
3112
   079D 22                 3112         ret
3113
   079E                    3113 00102$:
3114
                           3114 ;       ../../include/ztex-flash2.h:359: spi_last_cmd = $0;
3115
   079E 90s00r13           3115         mov     dptr,#_spi_last_cmd
3116
   07A1 74 06              3116         mov     a,#0x06
3117
   07A3 F0                 3117         movx    @dptr,a
3118
                           3118 ;       ../../include/ztex-flash2.h:360: spi_select();                          // select
3119
   07A4 12s06r7E           3119         lcall   _spi_select
3120
                           3120 ;       ../../include/ztex-flash2.h:361: spi_write_byte($0);                            // CMD 90h
3121
   07A7 75 82 06           3121         mov     dpl,#0x06
3122
   07AA 12s06r03           3122         lcall   _spi_write_byte
3123
                           3123 ;       ../../include/ztex-flash2.h:446: spi_deselect();
3124
   07AD 12s06r89           3124         lcall   _spi_deselect
3125
                           3125 ;       ../../include/ztex-flash2.h:359: spi_last_cmd = $0;
3126
   07B0 90s00r13           3126         mov     dptr,#_spi_last_cmd
3127
   07B3 74 02              3127         mov     a,#0x02
3128
   07B5 F0                 3128         movx    @dptr,a
3129
                           3129 ;       ../../include/ztex-flash2.h:360: spi_select();                          // select
3130
   07B6 12s06r7E           3130         lcall   _spi_select
3131
                           3131 ;       ../../include/ztex-flash2.h:361: spi_write_byte($0);                            // CMD 90h
3132
   07B9 75 82 02           3132         mov     dpl,#0x02
3133
   07BC 12s06r03           3133         lcall   _spi_write_byte
3134
                           3134 ;       ../../include/ztex-flash2.h:363:
3135
   07BF 90s00r18           3135         mov     dptr,#_spi_write_addr_hi
3136
   07C2 E0                 3136         movx    a,@dptr
3137
   07C3 A3                 3137         inc     dptr
3138
   07C4 E0                 3138         movx    a,@dptr
3139
   07C5 F5 82              3139         mov     dpl,a
3140
   07C7 12s06r03           3140         lcall   _spi_write_byte
3141
                           3141 ;       ../../include/ztex-flash2.h:450: spi_write_byte(spi_write_addr_hi & 255);
3142
   07CA 90s00r18           3142         mov     dptr,#_spi_write_addr_hi
3143
   07CD E0                 3143         movx    a,@dptr
3144
   07CE FA                 3144         mov     r2,a
3145
   07CF A3                 3145         inc     dptr
3146
   07D0 E0                 3146         movx    a,@dptr
3147
   07D1 8A 82              3147         mov     dpl,r2
3148
   07D3 12s06r03           3148         lcall   _spi_write_byte
3149
                           3149 ;       ../../include/ztex-flash2.h:451: spi_write_byte(0);
3150
   07D6 75 82 00           3150         mov     dpl,#0x00
3151
   07D9 12s06r03           3151         lcall   _spi_write_byte
3152
                           3152 ;       ../../include/ztex-flash2.h:452: return 0;
3153
   07DC 75 82 00           3153         mov     dpl,#0x00
3154
   07DF 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
   07E0                    3164 _flash_write_byte:
3165
   07E0 AA 82              3165         mov     r2,dpl
3166
                           3166 ;       ../../include/ztex-flash2.h:460: if ( spi_need_pp && spi_pp() ) return flash_ec;
3167
   07E2 90s00r1B           3167         mov     dptr,#_spi_need_pp
3168
   07E5 E0                 3168         movx    a,@dptr
3169
   07E6 FB                 3169         mov     r3,a
3170
   07E7 60 12              3170         jz      00102$
3171
   07E9 C0 02              3171         push    ar2
3172
   07EB 12s07r88           3172         lcall   _spi_pp
3173
   07EE E5 82              3173         mov     a,dpl
3174
   07F0 D0 02              3174         pop     ar2
3175
   07F2 60 07              3175         jz      00102$
3176
   07F4 90s00r0E           3176         mov     dptr,#_flash_ec
3177
   07F7 E0                 3177         movx    a,@dptr
3178
   07F8 F5 82              3178         mov     dpl,a
3179
   07FA 22                 3179         ret
3180
   07FB                    3180 00102$:
3181
                           3181 ;       ../../include/ztex-flash2.h:461: spi_write_byte(b);
3182
   07FB 8A 82              3182         mov     dpl,r2
3183
   07FD 12s06r03           3183         lcall   _spi_write_byte
3184
                           3184 ;       ../../include/ztex-flash2.h:462: spi_write_addr_lo++;
3185
   0800 90s00r1A           3185         mov     dptr,#_spi_write_addr_lo
3186
   0803 E0                 3186         movx    a,@dptr
3187
   0804 90s00r1A           3187         mov     dptr,#_spi_write_addr_lo
3188
   0807 04                 3188         inc     a
3189
   0808 F0                 3189         movx    @dptr,a
3190
                           3190 ;       ../../include/ztex-flash2.h:463: if ( spi_write_addr_lo == 0 ) {
3191
   0809 90s00r1A           3191         mov     dptr,#_spi_write_addr_lo
3192
   080C E0                 3192         movx    a,@dptr
3193
   080D FA                 3193         mov     r2,a
3194
   080E 70 1C              3194         jnz     00105$
3195
                           3195 ;       ../../include/ztex-flash2.h:464: spi_write_addr_hi++;
3196
   0810 90s00r18           3196         mov     dptr,#_spi_write_addr_hi
3197
   0813 E0                 3197         movx    a,@dptr
3198
   0814 FA                 3198         mov     r2,a
3199
   0815 A3                 3199         inc     dptr
3200
   0816 E0                 3200         movx    a,@dptr
3201
   0817 FB                 3201         mov     r3,a
3202
   0818 90s00r18           3202         mov     dptr,#_spi_write_addr_hi
3203
   081B 74 01              3203         mov     a,#0x01
3204
   081D 2A                 3204         add     a,r2
3205
   081E F0                 3205         movx    @dptr,a
3206
   081F E4                 3206         clr     a
3207
   0820 3B                 3207         addc    a,r3
3208
   0821 A3                 3208         inc     dptr
3209
   0822 F0                 3209         movx    @dptr,a
3210
                           3210 ;       ../../include/ztex-flash2.h:465: spi_deselect();                                // finish write cmd
3211
   0823 12s06r89           3211         lcall   _spi_deselect
3212
                           3212 ;       ../../include/ztex-flash2.h:466: spi_need_pp = 1;
3213
   0826 90s00r1B           3213         mov     dptr,#_spi_need_pp
3214
   0829 74 01              3214         mov     a,#0x01
3215
   082B F0                 3215         movx    @dptr,a
3216
   082C                    3216 00105$:
3217
                           3217 ;       ../../include/ztex-flash2.h:468: return 0;
3218
   082C 75 82 00           3218         mov     dpl,#0x00
3219
   082F 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
   0830                    3231 _flash_write:
3232
   0830 AA 82              3232         mov     r2,dpl
3233
   0832 AB 83              3233         mov     r3,dph
3234
                           3234 ;       ../../include/ztex-flash2.h:478: if ( spi_need_pp && spi_pp() ) return flash_ec;
3235
   0834 90s00r1B           3235         mov     dptr,#_spi_need_pp
3236
   0837 E0                 3236         movx    a,@dptr
3237
   0838 FC                 3237         mov     r4,a
3238
   0839 60 16              3238         jz      00102$
3239
   083B C0 02              3239         push    ar2
3240
   083D C0 03              3240         push    ar3
3241
   083F 12s07r88           3241         lcall   _spi_pp
3242
   0842 E5 82              3242         mov     a,dpl
3243
   0844 D0 03              3243         pop     ar3
3244
   0846 D0 02              3244         pop     ar2
3245
   0848 60 07              3245         jz      00102$
3246
   084A 90s00r0E           3246         mov     dptr,#_flash_ec
3247
   084D E0                 3247         movx    a,@dptr
3248
   084E F5 82              3248         mov     dpl,a
3249
   0850 22                 3249         ret
3250
   0851                    3250 00102$:
3251
                           3251 ;       ../../include/ztex-flash2.h:480: if ( spi_write_addr_lo == 0 ) {
3252
   0851 90s00r1A           3252         mov     dptr,#_spi_write_addr_lo
3253
   0854 E0                 3253         movx    a,@dptr
3254
   0855 FC                 3254         mov     r4,a
3255
   0856 70 0C              3255         jnz     00110$
3256
                           3256 ;       ../../include/ztex-flash2.h:481: spi_write(buf,len);
3257
   0858 85*0C*00           3257         mov     _spi_write_PARM_2,_flash_write_PARM_2
3258
   085B 8A 82              3258         mov     dpl,r2
3259
   085D 8B 83              3259         mov     dph,r3
3260
   085F 12s06r3F           3260         lcall   _spi_write
3261
   0862 80 67              3261         sjmp    00111$
3262
   0864                    3262 00110$:
3263
                           3263 ;       ../../include/ztex-flash2.h:484: b = (~spi_write_addr_lo) + 1;
3264
   0864 EC                 3264         mov     a,r4
3265
   0865 F4                 3265         cpl     a
3266
   0866 FC                 3266         mov     r4,a
3267
   0867 0C                 3267         inc     r4
3268
                           3268 ;       ../../include/ztex-flash2.h:485: if ( len==0 || len>b ) {
3269
   0868 E5*0C              3269         mov     a,_flash_write_PARM_2
3270
   086A 60 06              3270         jz      00106$
3271
   086C C3                 3271         clr     c
3272
   086D EC                 3272         mov     a,r4
3273
   086E 95*0C              3273         subb    a,_flash_write_PARM_2
3274
   0870 50 4F              3274         jnc     00107$
3275
   0872                    3275 00106$:
3276
                           3276 ;       ../../include/ztex-flash2.h:486: spi_write(buf,b);
3277
   0872 8C*00              3277         mov     _spi_write_PARM_2,r4
3278
   0874 8A 82              3278         mov     dpl,r2
3279
   0876 8B 83              3279         mov     dph,r3
3280
   0878 C0 02              3280         push    ar2
3281
   087A C0 03              3281         push    ar3
3282
   087C C0 04              3282         push    ar4
3283
   087E 12s06r3F           3283         lcall   _spi_write
3284
   0881 D0 04              3284         pop     ar4
3285
   0883 D0 03              3285         pop     ar3
3286
   0885 D0 02              3286         pop     ar2
3287
                           3287 ;       ../../include/ztex-flash2.h:487: len-=b;
3288
   0887 E5*0C              3288         mov     a,_flash_write_PARM_2
3289
   0889 C3                 3289         clr     c
3290
   088A 9C                 3290         subb    a,r4
3291
   088B F5*0C              3291         mov     _flash_write_PARM_2,a
3292
                           3292 ;       ../../include/ztex-flash2.h:488: spi_write_addr_hi++;
3293
   088D 90s00r18           3293         mov     dptr,#_spi_write_addr_hi
3294
   0890 E0                 3294         movx    a,@dptr
3295
   0891 FD                 3295         mov     r5,a
3296
   0892 A3                 3296         inc     dptr
3297
   0893 E0                 3297         movx    a,@dptr
3298
   0894 FE                 3298         mov     r6,a
3299
   0895 90s00r18           3299         mov     dptr,#_spi_write_addr_hi
3300
   0898 74 01              3300         mov     a,#0x01
3301
   089A 2D                 3301         add     a,r5
3302
   089B F0                 3302         movx    @dptr,a
3303
   089C E4                 3303         clr     a
3304
   089D 3E                 3304         addc    a,r6
3305
   089E A3                 3305         inc     dptr
3306
   089F F0                 3306         movx    @dptr,a
3307
                           3307 ;       ../../include/ztex-flash2.h:489: spi_write_addr_lo=0;
3308
   08A0 90s00r1A           3308         mov     dptr,#_spi_write_addr_lo
3309
   08A3 E4                 3309         clr     a
3310
   08A4 F0                 3310         movx    @dptr,a
3311
                           3311 ;       ../../include/ztex-flash2.h:490: buf+=b;
3312
   08A5 EC                 3312         mov     a,r4
3313
   08A6 2A                 3313         add     a,r2
3314
   08A7 FA                 3314         mov     r2,a
3315
   08A8 E4                 3315         clr     a
3316
   08A9 3B                 3316         addc    a,r3
3317
   08AA FB                 3317         mov     r3,a
3318
                           3318 ;       ../../include/ztex-flash2.h:491: if ( spi_pp() ) return flash_ec;
3319
   08AB C0 02              3319         push    ar2
3320
   08AD C0 03              3320         push    ar3
3321
   08AF 12s07r88           3321         lcall   _spi_pp
3322
   08B2 E5 82              3322         mov     a,dpl
3323
   08B4 D0 03              3323         pop     ar3
3324
   08B6 D0 02              3324         pop     ar2
3325
   08B8 60 07              3325         jz      00107$
3326
   08BA 90s00r0E           3326         mov     dptr,#_flash_ec
3327
   08BD E0                 3327         movx    a,@dptr
3328
   08BE F5 82              3328         mov     dpl,a
3329
   08C0 22                 3329         ret
3330
   08C1                    3330 00107$:
3331
                           3331 ;       ../../include/ztex-flash2.h:493: spi_write(buf,len);
3332
   08C1 85*0C*00           3332         mov     _spi_write_PARM_2,_flash_write_PARM_2
3333
   08C4 8A 82              3333         mov     dpl,r2
3334
   08C6 8B 83              3334         mov     dph,r3
3335
   08C8 12s06r3F           3335         lcall   _spi_write
3336
   08CB                    3336 00111$:
3337
                           3337 ;       ../../include/ztex-flash2.h:496: spi_write_addr_lo+=len;
3338
   08CB 90s00r1A           3338         mov     dptr,#_spi_write_addr_lo
3339
   08CE E0                 3339         movx    a,@dptr
3340
   08CF FA                 3340         mov     r2,a
3341
   08D0 E5*0C              3341         mov     a,_flash_write_PARM_2
3342
   08D2 2A                 3342         add     a,r2
3343
   08D3 F0                 3343         movx    @dptr,a
3344
                           3344 ;       ../../include/ztex-flash2.h:498: if ( spi_write_addr_lo == 0 ) {
3345
   08D4 90s00r1A           3345         mov     dptr,#_spi_write_addr_lo
3346
   08D7 E0                 3346         movx    a,@dptr
3347
   08D8 FA                 3347         mov     r2,a
3348
   08D9 70 1C              3348         jnz     00113$
3349
                           3349 ;       ../../include/ztex-flash2.h:499: spi_write_addr_hi++;
3350
   08DB 90s00r18           3350         mov     dptr,#_spi_write_addr_hi
3351
   08DE E0                 3351         movx    a,@dptr
3352
   08DF FA                 3352         mov     r2,a
3353
   08E0 A3                 3353         inc     dptr
3354
   08E1 E0                 3354         movx    a,@dptr
3355
   08E2 FB                 3355         mov     r3,a
3356
   08E3 90s00r18           3356         mov     dptr,#_spi_write_addr_hi
3357
   08E6 74 01              3357         mov     a,#0x01
3358
   08E8 2A                 3358         add     a,r2
3359
   08E9 F0                 3359         movx    @dptr,a
3360
   08EA E4                 3360         clr     a
3361
   08EB 3B                 3361         addc    a,r3
3362
   08EC A3                 3362         inc     dptr
3363
   08ED F0                 3363         movx    @dptr,a
3364
                           3364 ;       ../../include/ztex-flash2.h:500: spi_deselect();                                // finish write cmd
3365
   08EE 12s06r89           3365         lcall   _spi_deselect
3366
                           3366 ;       ../../include/ztex-flash2.h:501: spi_need_pp = 1;
3367
   08F1 90s00r1B           3367         mov     dptr,#_spi_need_pp
3368
   08F4 74 01              3368         mov     a,#0x01
3369
   08F6 F0                 3369         movx    @dptr,a
3370
   08F7                    3370 00113$:
3371
                           3371 ;       ../../include/ztex-flash2.h:504: return 0;
3372
   08F7 75 82 00           3372         mov     dpl,#0x00
3373
   08FA 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
   08FB                    3383 _flash_write_init:
3384
   08FB AA 82              3384         mov     r2,dpl
3385
   08FD AB 83              3385         mov     r3,dph
3386
                           3386 ;       ../../include/ztex-flash2.h:517: if ( !SPI_CS ) {
3387
   08FF 20 83 0A           3387         jb      _IOA3,00102$
3388
                           3388 ;       ../../include/ztex-flash2.h:518: flash_ec = FLASH_EC_PENDING;
3389
   0902 90s00r0E           3389         mov     dptr,#_flash_ec
3390
   0905 74 04              3390         mov     a,#0x04
3391
   0907 F0                 3391         movx    @dptr,a
3392
                           3392 ;       ../../include/ztex-flash2.h:519: return FLASH_EC_PENDING;               // we interrupted a pending Flash operation
3393
   0908 75 82 04           3393         mov     dpl,#0x04
3394
   090B 22                 3394         ret
3395
   090C                    3395 00102$:
3396
                           3396 ;       ../../include/ztex-flash2.h:521: OESPI_OPORT &= ~bmBITSPI_BIT_DO;
3397
   090C 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
   090F 43 B2 0B           3399         orl     _OEA,#0x0B
3400
                           3400 ;       ../../include/ztex-flash2.h:523: if ( spi_wait() ) {
3401
   0912 C0 02              3401         push    ar2
3402
   0914 C0 03              3402         push    ar3
3403
   0916 12s06r91           3403         lcall   _spi_wait
3404
   0919 E5 82              3404         mov     a,dpl
3405
   091B D0 03              3405         pop     ar3
3406
   091D D0 02              3406         pop     ar2
3407
   091F 60 07              3407         jz      00104$
3408
                           3408 ;       ../../include/ztex-flash2.h:524: return flash_ec;
3409
   0921 90s00r0E           3409         mov     dptr,#_flash_ec
3410
   0924 E0                 3410         movx    a,@dptr
3411
   0925 F5 82              3411         mov     dpl,a
3412
   0927 22                 3412         ret
3413
   0928                    3413 00104$:
3414
                           3414 ;       ../../include/ztex-flash2.h:526: spi_write_sector = s;
3415
   0928 90s00r1C           3415         mov     dptr,#_spi_write_sector
3416
   092B EA                 3416         mov     a,r2
3417
   092C F0                 3417         movx    @dptr,a
3418
   092D A3                 3418         inc     dptr
3419
   092E EB                 3419         mov     a,r3
3420
   092F F0                 3420         movx    @dptr,a
3421
                           3421 ;       ../../include/ztex-flash2.h:527: s = s << ((BYTE)flash_sector_size - 8);
3422
   0930 90s00r08           3422         mov     dptr,#_flash_sector_size
3423
   0933 E0                 3423         movx    a,@dptr
3424
   0934 FC                 3424         mov     r4,a
3425
   0935 A3                 3425         inc     dptr
3426
   0936 E0                 3426         movx    a,@dptr
3427
   0937 7D 00              3427         mov     r5,#0x00
3428
   0939 EC                 3428         mov     a,r4
3429
   093A 24 F8              3429         add     a,#0xf8
3430
   093C FC                 3430         mov     r4,a
3431
   093D ED                 3431         mov     a,r5
3432
   093E 34 FF              3432         addc    a,#0xff
3433
   0940 FD                 3433         mov     r5,a
3434
   0941 8C F0              3434         mov     b,r4
3435
   0943 05 F0              3435         inc     b
3436
   0945 80 06              3436         sjmp    00112$
3437
   0947                    3437 00111$:
3438
   0947 EA                 3438         mov     a,r2
3439
   0948 2A                 3439         add     a,r2
3440
   0949 FA                 3440         mov     r2,a
3441
   094A EB                 3441         mov     a,r3
3442
   094B 33                 3442         rlc     a
3443
   094C FB                 3443         mov     r3,a
3444
   094D                    3444 00112$:
3445
   094D D5 F0 F7           3445         djnz    b,00111$
3446
                           3446 ;       ../../include/ztex-flash2.h:528: spi_write_addr_hi = s;
3447
   0950 90s00r18           3447         mov     dptr,#_spi_write_addr_hi
3448
   0953 EA                 3448         mov     a,r2
3449
   0954 F0                 3449         movx    @dptr,a
3450
   0955 A3                 3450         inc     dptr
3451
   0956 EB                 3451         mov     a,r3
3452
   0957 F0                 3452         movx    @dptr,a
3453
                           3453 ;       ../../include/ztex-flash2.h:529: spi_write_addr_lo = 0;
3454
   0958 90s00r1A           3454         mov     dptr,#_spi_write_addr_lo
3455
   095B E4                 3455         clr     a
3456
   095C F0                 3456         movx    @dptr,a
3457
                           3457 ;       ../../include/ztex-flash2.h:359: spi_last_cmd = $0;
3458
   095D 90s00r13           3458         mov     dptr,#_spi_last_cmd
3459
   0960 74 06              3459         mov     a,#0x06
3460
   0962 F0                 3460         movx    @dptr,a
3461
                           3461 ;       ../../include/ztex-flash2.h:360: spi_select();                          // select
3462
   0963 C0 02              3462         push    ar2
3463
   0965 C0 03              3463         push    ar3
3464
   0967 12s06r7E           3464         lcall   _spi_select
3465
                           3465 ;       ../../include/ztex-flash2.h:361: spi_write_byte($0);                            // CMD 90h
3466
   096A 75 82 06           3466         mov     dpl,#0x06
3467
   096D 12s06r03           3467         lcall   _spi_write_byte
3468
                           3468 ;       ../../include/ztex-flash2.h:532: spi_deselect();
3469
   0970 12s06r89           3469         lcall   _spi_deselect
3470
                           3470 ;       ../../include/ztex-flash2.h:359: spi_last_cmd = $0;
3471
   0973 90s00r12           3471         mov     dptr,#_spi_erase_cmd
3472
   0976 E0                 3472         movx    a,@dptr
3473
   0977 90s00r13           3473         mov     dptr,#_spi_last_cmd
3474
   097A F0                 3474         movx    @dptr,a
3475
                           3475 ;       ../../include/ztex-flash2.h:360: spi_select();                          // select
3476
   097B 12s06r7E           3476         lcall   _spi_select
3477
                           3477 ;       ../../include/ztex-flash2.h:361: spi_write_byte($0);                            // CMD 90h
3478
   097E 90s00r12           3478         mov     dptr,#_spi_erase_cmd
3479
   0981 E0                 3479         movx    a,@dptr
3480
   0982 F5 82              3480         mov     dpl,a
3481
   0984 12s06r03           3481         lcall   _spi_write_byte
3482
   0987 D0 03              3482         pop     ar3
3483
                           3483 ;       ../../include/ztex-flash2.h:363:
3484
   0989 8B 82              3484         mov     dpl,r3
3485
   098B C0 03              3485         push    ar3
3486
   098D 12s06r03           3486         lcall   _spi_write_byte
3487
   0990 D0 03              3487         pop     ar3
3488
   0992 D0 02              3488         pop     ar2
3489
                           3489 ;       ../../include/ztex-flash2.h:536: spi_write_byte(s & 255);
3490
   0994 8A 82              3490         mov     dpl,r2
3491
   0996 12s06r03           3491         lcall   _spi_write_byte
3492
                           3492 ;       ../../include/ztex-flash2.h:537: spi_write_byte(0);
3493
   0999 75 82 00           3493         mov     dpl,#0x00
3494
   099C 12s06r03           3494         lcall   _spi_write_byte
3495
                           3495 ;       ../../include/ztex-flash2.h:538: spi_deselect();
3496
   099F 12s06r89           3496         lcall   _spi_deselect
3497
                           3497 ;       ../../include/ztex-flash2.h:540: spi_need_pp = 1;
3498
   09A2 90s00r1B           3498         mov     dptr,#_spi_need_pp
3499
   09A5 74 01              3499         mov     a,#0x01
3500
   09A7 F0                 3500         movx    @dptr,a
3501
                           3501 ;       ../../include/ztex-flash2.h:541: return 0;
3502
   09A8 75 82 00           3502         mov     dpl,#0x00
3503
   09AB 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
   09AC                    3513 _flash_write_finish_sector:
3514
                           3514 ;       ../../include/ztex-flash2.h:553: spi_deselect();
3515
   09AC 12s06r89           3515         lcall   _spi_deselect
3516
                           3516 ;       ../../include/ztex-flash2.h:554: return 0;
3517
   09AF 75 82 00           3517         mov     dpl,#0x00
3518
   09B2 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
   09B3                    3527 _flash_write_finish:
3528
                           3528 ;       ../../include/ztex-flash2.h:565: spi_deselect();
3529
   09B3 02s06r89           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
   09B6                    3538 _flash_write_next:
3539
                           3539 ;       ../../include/ztex-flash2.h:576: spi_deselect();
3540
   09B6 12s06r89           3540         lcall   _spi_deselect
3541
                           3541 ;       ../../include/ztex-flash2.h:577: return flash_write_init(spi_write_sector+1);
3542
   09B9 90s00r1C           3542         mov     dptr,#_spi_write_sector
3543
   09BC E0                 3543         movx    a,@dptr
3544
   09BD FA                 3544         mov     r2,a
3545
   09BE A3                 3545         inc     dptr
3546
   09BF E0                 3546         movx    a,@dptr
3547
   09C0 FB                 3547         mov     r3,a
3548
   09C1 8A 82              3548         mov     dpl,r2
3549
   09C3 8B 83              3549         mov     dph,r3
3550
   09C5 A3                 3550         inc     dptr
3551
   09C6 02s08rFB           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
   09C9                    3561 _flash_init:
3562
                           3562 ;       ../../include/ztex-flash2.h:588: PORTCCFG = 0;
3563
   09C9 90 E6 71           3563         mov     dptr,#_PORTCCFG
3564
   09CC E4                 3564         clr     a
3565
   09CD F0                 3565         movx    @dptr,a
3566
                           3566 ;       ../../include/ztex-flash2.h:590: flash_enabled = 1;
3567
   09CE 90s00r07           3567         mov     dptr,#_flash_enabled
3568
   09D1 74 01              3568         mov     a,#0x01
3569
   09D3 F0                 3569         movx    @dptr,a
3570
                           3570 ;       ../../include/ztex-flash2.h:591: flash_ec = 0;
3571
   09D4 90s00r0E           3571         mov     dptr,#_flash_ec
3572
   09D7 E4                 3572         clr     a
3573
   09D8 F0                 3573         movx    @dptr,a
3574
                           3574 ;       ../../include/ztex-flash2.h:592: flash_sector_size = 0x8010;  // 64 KByte
3575
   09D9 90s00r08           3575         mov     dptr,#_flash_sector_size
3576
   09DC 74 10              3576         mov     a,#0x10
3577
   09DE F0                 3577         movx    @dptr,a
3578
   09DF A3                 3578         inc     dptr
3579
   09E0 74 80              3579         mov     a,#0x80
3580
   09E2 F0                 3580         movx    @dptr,a
3581
                           3581 ;       ../../include/ztex-flash2.h:593: spi_erase_cmd = 0xd8;
3582
   09E3 90s00r12           3582         mov     dptr,#_spi_erase_cmd
3583
   09E6 74 D8              3583         mov     a,#0xD8
3584
   09E8 F0                 3584         movx    @dptr,a
3585
                           3585 ;       ../../include/ztex-flash2.h:595: OESPI_OPORT &= ~bmBITSPI_BIT_DO;
3586
   09E9 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
   09EC 43 B2 0B           3588         orl     _OEA,#0x0B
3589
                           3589 ;       ../../include/ztex-flash2.h:597: SPI_CS = 1;
3590
   09EF D2 83              3590         setb    _IOA3
3591
                           3591 ;       ../../include/ztex-flash2.h:598: spi_clocks(0);                         // 256 clocks
3592
   09F1 75 82 00           3592         mov     dpl,#0x00
3593
   09F4 12s05r79           3593         lcall   _spi_clocks
3594
                           3594 ;       ../../include/ztex-flash2.h:359: spi_last_cmd = $0;
3595
   09F7 90s00r13           3595         mov     dptr,#_spi_last_cmd
3596
   09FA 74 90              3596         mov     a,#0x90
3597
   09FC F0                 3597         movx    @dptr,a
3598
                           3598 ;       ../../include/ztex-flash2.h:360: spi_select();                          // select
3599
   09FD 12s06r7E           3599         lcall   _spi_select
3600
                           3600 ;       ../../include/ztex-flash2.h:361: spi_write_byte($0);                            // CMD 90h
3601
   0A00 75 82 90           3601         mov     dpl,#0x90
3602
   0A03 12s06r03           3602         lcall   _spi_write_byte
3603
                           3603 ;       ../../include/ztex-flash2.h:363:
3604
   0A06 75 82 18           3604         mov     dpl,#0x18
3605
   0A09 12s05r79           3605         lcall   _spi_clocks
3606
                           3606 ;       ../../include/ztex-flash2.h:602: spi_device = flash_read_byte();
3607
   0A0C 12s05r85           3607         lcall   _flash_read_byte
3608
   0A0F E5 82              3608         mov     a,dpl
3609
   0A11 90s00r10           3609         mov     dptr,#_spi_device
3610
   0A14 F0                 3610         movx    @dptr,a
3611
                           3611 ;       ../../include/ztex-flash2.h:603: spi_deselect();                                // deselect
3612
   0A15 12s06r89           3612         lcall   _spi_deselect
3613
                           3613 ;       ../../include/ztex-flash2.h:359: spi_last_cmd = $0;
3614
   0A18 90s00r13           3614         mov     dptr,#_spi_last_cmd
3615
   0A1B 74 9F              3615         mov     a,#0x9F
3616
   0A1D F0                 3616         movx    @dptr,a
3617
                           3617 ;       ../../include/ztex-flash2.h:360: spi_select();                          // select
3618
   0A1E 12s06r7E           3618         lcall   _spi_select
3619
                           3619 ;       ../../include/ztex-flash2.h:361: spi_write_byte($0);                            // CMD 90h
3620
   0A21 75 82 9F           3620         mov     dpl,#0x9F
3621
   0A24 12s06r03           3621         lcall   _spi_write_byte
3622
                           3622 ;       ../../include/ztex-flash2.h:363:
3623
   0A27 75*00 03           3623         mov     _flash_read_PARM_2,#0x03
3624
   0A2A 90s00r14           3624         mov     dptr,#_spi_buffer
3625
   0A2D 12s05rC4           3625         lcall   _flash_read
3626
                           3626 ;       ../../include/ztex-flash2.h:364: /* *********************************************************************
3627
   0A30 12s06r89           3627         lcall   _spi_deselect
3628
                           3628 ;       ../../include/ztex-flash2.h:608: if ( spi_buffer[2]<16 || spi_buffer[2]>24 ) {
3629
   0A33 90s00r16           3629         mov     dptr,#(_spi_buffer + 0x0002)
3630
   0A36 E0                 3630         movx    a,@dptr
3631
   0A37 FA                 3631         mov     r2,a
3632
   0A38 BA 10 00           3632         cjne    r2,#0x10,00109$
3633
   0A3B                    3633 00109$:
3634
   0A3B 40 3D              3634         jc      00104$
3635
   0A3D EA                 3635         mov     a,r2
3636
   0A3E 24 E7              3636         add     a,#0xff - 0x18
3637
   0A40 40 38              3637         jc      00104$
3638
                           3638 ;       ../../include/ztex-flash2.h:611: spi_vendor = spi_buffer[0];
3639
   0A42 90s00r14           3639         mov     dptr,#_spi_buffer
3640
   0A45 E0                 3640         movx    a,@dptr
3641
   0A46 90s00r0F           3641         mov     dptr,#_spi_vendor
3642
   0A49 F0                 3642         movx    @dptr,a
3643
                           3643 ;       ../../include/ztex-flash2.h:612: spi_memtype = spi_buffer[1];
3644
   0A4A 90s00r15           3644         mov     dptr,#(_spi_buffer + 0x0001)
3645
   0A4D E0                 3645         movx    a,@dptr
3646
   0A4E 90s00r11           3646         mov     dptr,#_spi_memtype
3647
   0A51 F0                 3647         movx    @dptr,a
3648
                           3648 ;       ../../include/ztex-flash2.h:628: i=spi_buffer[2]-16;
3649
   0A52 EA                 3649         mov     a,r2
3650
   0A53 24 F0              3650         add     a,#0xf0
3651
   0A55 FA                 3651         mov     r2,a
3652
                           3652 ;       ../../include/ztex-flash2.h:630: flash_sectors = 1 << i;
3653
   0A56 8A F0              3653         mov     b,r2
3654
   0A58 05 F0              3654         inc     b
3655
   0A5A 7A 01              3655         mov     r2,#0x01
3656
   0A5C 7B 00              3656         mov     r3,#0x00
3657
   0A5E 80 06              3657         sjmp    00113$
3658
   0A60                    3658 00112$:
3659
   0A60 EA                 3659         mov     a,r2
3660
   0A61 2A                 3660         add     a,r2
3661
   0A62 FA                 3661         mov     r2,a
3662
   0A63 EB                 3662         mov     a,r3
3663
   0A64 33                 3663         rlc     a
3664
   0A65 FB                 3664         mov     r3,a
3665
   0A66                    3665 00113$:
3666
   0A66 D5 F0 F7           3666         djnz    b,00112$
3667
   0A69 90s00r0A           3667         mov     dptr,#_flash_sectors
3668
   0A6C EA                 3668         mov     a,r2
3669
   0A6D F0                 3669         movx    @dptr,a
3670
   0A6E A3                 3670         inc     dptr
3671
   0A6F EB                 3671         mov     a,r3
3672
   0A70 F0                 3672         movx    @dptr,a
3673
   0A71 EB                 3673         mov     a,r3
3674
   0A72 33                 3674         rlc     a
3675
   0A73 95 E0              3675         subb    a,acc
3676
   0A75 A3                 3676         inc     dptr
3677
   0A76 F0                 3677         movx    @dptr,a
3678
   0A77 A3                 3678         inc     dptr
3679
   0A78 F0                 3679         movx    @dptr,a
3680
                           3680 ;       ../../include/ztex-flash2.h:632: return;
3681
                           3681 ;       ../../include/ztex-flash2.h:634: disable:
3682
   0A79 22                 3682         ret
3683
   0A7A                    3683 00104$:
3684
                           3684 ;       ../../include/ztex-flash2.h:635: flash_enabled = 0;
3685
   0A7A 90s00r07           3685         mov     dptr,#_flash_enabled
3686
   0A7D E4                 3686         clr     a
3687
   0A7E F0                 3687         movx    @dptr,a
3688
                           3688 ;       ../../include/ztex-flash2.h:636: flash_ec = FLASH_EC_NOTSUPPORTED;
3689
   0A7F 90s00r0E           3689         mov     dptr,#_flash_ec
3690
   0A82 74 07              3690         mov     a,#0x07
3691
   0A84 F0                 3691         movx    @dptr,a
3692
                           3692 ;       ../../include/ztex-flash2.h:637: OESPI_PORT &= ~( bmBITSPI_BIT_CS | bmBITSPI_BIT_DI | bmBITSPI_BIT_CLK );
3693
   0A85 53 B2 F4           3693         anl     _OEA,#0xF4
3694
   0A88 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
   0A89                    3703 _spi_read_ep0:
3704
                           3704 ;       ../../include/ztex-flash2.h:664: flash_read(EP0BUF, ep0_payload_transfer);
3705
   0A89 90s00r02           3705         mov     dptr,#_ep0_payload_transfer
3706
   0A8C E0                 3706         movx    a,@dptr
3707
   0A8D F5*00              3707         mov     _flash_read_PARM_2,a
3708
   0A8F 90 E7 40           3708         mov     dptr,#_EP0BUF
3709
   0A92 12s05rC4           3709         lcall   _flash_read
3710
                           3710 ;       ../../include/ztex-flash2.h:665: if ( ep0_read_mode==2 && ep0_payload_remaining==0 ) {
3711
   0A95 90s00r1E           3711         mov     dptr,#_ep0_read_mode
3712
   0A98 E0                 3712         movx    a,@dptr
3713
   0A99 FA                 3713         mov     r2,a
3714
   0A9A BA 02 0E           3714         cjne    r2,#0x02,00104$
3715
   0A9D 90s00r00           3715         mov     dptr,#_ep0_payload_remaining
3716
   0AA0 E0                 3716         movx    a,@dptr
3717
   0AA1 FA                 3717         mov     r2,a
3718
   0AA2 A3                 3718         inc     dptr
3719
   0AA3 E0                 3719         movx    a,@dptr
3720
   0AA4 FB                 3720         mov     r3,a
3721
   0AA5 4A                 3721         orl     a,r2
3722
   0AA6 70 03              3722         jnz     00104$
3723
                           3723 ;       ../../include/ztex-flash2.h:666: spi_deselect();
3724
   0AA8 02s06r89           3724         ljmp    _spi_deselect
3725
   0AAB                    3725 00104$:
3726
   0AAB 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
   0AAC                    3735 _spi_send_ep0:
3736
                           3736 ;       ../../include/ztex-flash2.h:691: flash_write(EP0BUF, ep0_payload_transfer);
3737
   0AAC 90s00r02           3737         mov     dptr,#_ep0_payload_transfer
3738
   0AAF E0                 3738         movx    a,@dptr
3739
   0AB0 F5*0C              3739         mov     _flash_write_PARM_2,a
3740
   0AB2 90 E7 40           3740         mov     dptr,#_EP0BUF
3741
   0AB5 12s08r30           3741         lcall   _flash_write
3742
                           3742 ;       ../../include/ztex-flash2.h:692: if ( ep0_write_mode==2 && ep0_payload_remaining==0 ) {
3743
   0AB8 90s00r1F           3743         mov     dptr,#_ep0_write_mode
3744
   0ABB E0                 3744         movx    a,@dptr
3745
   0ABC FA                 3745         mov     r2,a
3746
   0ABD BA 02 0E           3746         cjne    r2,#0x02,00104$
3747
   0AC0 90s00r00           3747         mov     dptr,#_ep0_payload_remaining
3748
   0AC3 E0                 3748         movx    a,@dptr
3749
   0AC4 FA                 3749         mov     r2,a
3750
   0AC5 A3                 3750         inc     dptr
3751
   0AC6 E0                 3751         movx    a,@dptr
3752
   0AC7 FB                 3752         mov     r3,a
3753
   0AC8 4A                 3753         orl     a,r2
3754
   0AC9 70 03              3754         jnz     00104$
3755
                           3755 ;       ../../include/ztex-flash2.h:693: spi_deselect();
3756
   0ACB 02s06r89           3756         ljmp    _spi_deselect
3757
   0ACE                    3757 00104$:
3758
   0ACE 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
   0ACF                    3767 _reset_fpga:
3768
                           3768 ;       ../../include/ztex-fpga7.h:40: OEE = (OEE & ~bmBIT6) | bmBIT7;
3769
   0ACF AA B6              3769         mov     r2,_OEE
3770
   0AD1 74 BF              3770         mov     a,#0xBF
3771
   0AD3 5A                 3771         anl     a,r2
3772
   0AD4 F5 F0              3772         mov     b,a
3773
   0AD6 74 80              3773         mov     a,#0x80
3774
   0AD8 45 F0              3774         orl     a,b
3775
   0ADA F5 B6              3775         mov     _OEE,a
3776
                           3776 ;       ../../include/ztex-fpga7.h:41: IOE = IOE & ~bmBIT7;
3777
   0ADC 53 B1 7F           3777         anl     _IOE,#0x7F
3778
                           3778 ;       ../../include/ztex-fpga7.h:42: wait(1);
3779
   0ADF 90 00 01           3779         mov     dptr,#0x0001
3780
   0AE2 12s00r01           3780         lcall   _wait
3781
                           3781 ;       ../../include/ztex-fpga7.h:43: IOE = IOE | bmBIT7;
3782
   0AE5 43 B1 80           3782         orl     _IOE,#0x80
3783
                           3783 ;       ../../include/ztex-fpga7.h:44: fpga_conf_initialized = 0;
3784
   0AE8 90s00r27           3784         mov     dptr,#_fpga_conf_initialized
3785
   0AEB E4                 3785         clr     a
3786
   0AEC F0                 3786         movx    @dptr,a
3787
   0AED 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
   0AEE                    3796 _init_fpga:
3797
                           3797 ;       ../../include/ztex-fpga7.h:51: IOE = IOE | bmBIT7;
3798
   0AEE 43 B1 80           3798         orl     _IOE,#0x80
3799
                           3799 ;       ../../include/ztex-fpga7.h:52: OEE = (OEE & ~bmBIT6) | bmBIT7;
3800
   0AF1 AA B6              3800         mov     r2,_OEE
3801
   0AF3 74 BF              3801         mov     a,#0xBF
3802
   0AF5 5A                 3802         anl     a,r2
3803
   0AF6 F5 F0              3803         mov     b,a
3804
   0AF8 74 80              3804         mov     a,#0x80
3805
   0AFA 45 F0              3805         orl     a,b
3806
   0AFC F5 B6              3806         mov     _OEE,a
3807
                           3807 ;       ../../include/ztex-fpga7.h:53: if ( ! (IOE & bmBIT6) ) {
3808
   0AFE E5 B1              3808         mov     a,_IOE
3809
   0B00 20 E6 24           3809         jb      acc.6,00102$
3810
                           3810 ;       ../../include/ztex-fpga7.h:55: IOE = IOE & ~bmBIT7;                      // PROG_B = 0
3811
   0B03 53 B1 7F           3811         anl     _IOE,#0x7F
3812
                           3812 ;       ../../include/ztex-fpga7.h:56: OEA = (OEA & bmBIT2 ) | bmBIT4 | bmBIT5 | bmBIT6;
3813
   0B06 74 04              3813         mov     a,#0x04
3814
   0B08 55 B2              3814         anl     a,_OEA
3815
   0B0A F5 F0              3815         mov     b,a
3816
   0B0C 74 70              3816         mov     a,#0x70
3817
   0B0E 45 F0              3817         orl     a,b
3818
   0B10 F5 B2              3818         mov     _OEA,a
3819
                           3819 ;       ../../include/ztex-fpga7.h:57: IOA = (IOA & bmBIT2 ) | bmBIT5;
3820
   0B12 74 04              3820         mov     a,#0x04
3821
   0B14 55 80              3821         anl     a,_IOA
3822
   0B16 F5 F0              3822         mov     b,a
3823
   0B18 74 20              3823         mov     a,#0x20
3824
   0B1A 45 F0              3824         orl     a,b
3825
   0B1C F5 80              3825         mov     _IOA,a
3826
                           3826 ;       ../../include/ztex-fpga7.h:58: wait(1);
3827
   0B1E 90 00 01           3827         mov     dptr,#0x0001
3828
   0B21 12s00r01           3828         lcall   _wait
3829
                           3829 ;       ../../include/ztex-fpga7.h:59: IOE = IOE | bmBIT7;                      // PROG_B = 1
3830
   0B24 43 B1 80           3830         orl     _IOE,#0x80
3831
   0B27                    3831 00102$:
3832
                           3832 ;       ../../include/ztex-fpga7.h:62: fpga_conf_initialized = 0;
3833
   0B27 90s00r27           3833         mov     dptr,#_fpga_conf_initialized
3834
   0B2A E4                 3834         clr     a
3835
   0B2B F0                 3835         movx    @dptr,a
3836
   0B2C 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
   0B2D                    3846 _init_fpga_configuration:
3847
                           3847 ;       ../../include/ztex-fpga7.h:75: IFCONFIG = bmBIT7;
3848
   0B2D 90 E6 01           3848         mov     dptr,#_IFCONFIG
3849
   0B30 74 80              3849         mov     a,#0x80
3850
   0B32 F0                 3850         movx    @dptr,a
3851
                           3851 ;       ../../include/ezregs.h:46: __endasm;
3852
                           3852
3853
   0B33 00                 3853          nop
3854
   0B34 00                 3854          nop
3855
   0B35 00                 3855          nop
3856
   0B36 00                 3856          nop
3857
                           3857
3858
                           3858 ;       ../../include/ztex-fpga7.h:77: PORTACFG = 0;
3859
   0B37 90 E6 70           3859         mov     dptr,#_PORTACFG
3860
                           3860 ;       ../../include/ztex-fpga7.h:78: PORTCCFG = 0;
3861
   0B3A E4                 3861         clr     a
3862
   0B3B F0                 3862         movx    @dptr,a
3863
   0B3C 90 E6 71           3863         mov     dptr,#_PORTCCFG
3864
   0B3F F0                 3864         movx    @dptr,a
3865
                           3865 ;       ../../include/ztex-fpga7.h:80: OOEA = OEA;
3866
   0B40 90s00r28           3866         mov     dptr,#_OOEA
3867
   0B43 E5 B2              3867         mov     a,_OEA
3868
   0B45 F0                 3868         movx    @dptr,a
3869
                           3869 ;       ../../include/ztex-fpga7.h:81: fpga_conf_initialized = 123;
3870
   0B46 90s00r27           3870         mov     dptr,#_fpga_conf_initialized
3871
   0B49 74 7B              3871         mov     a,#0x7B
3872
   0B4B F0                 3872         movx    @dptr,a
3873
                           3873 ;       ../../include/ztex-fpga7.h:83: OEA &= bmBIT2;                    // only unsed PA bit
3874
   0B4C 53 B2 04           3874         anl     _OEA,#0x04
3875
                           3875 ;       ../../include/ztex-fpga7.h:85: OEE = (OEE & ~bmBIT6) | bmBIT7;
3876
   0B4F AA B6              3876         mov     r2,_OEE
3877
   0B51 74 BF              3877         mov     a,#0xBF
3878
   0B53 5A                 3878         anl     a,r2
3879
   0B54 F5 F0              3879         mov     b,a
3880
   0B56 74 80              3880         mov     a,#0x80
3881
   0B58 45 F0              3881         orl     a,b
3882
   0B5A F5 B6              3882         mov     _OEE,a
3883
                           3883 ;       ../../include/ztex-fpga7.h:86: IOE = IOE & ~bmBIT7;              // PROG_B = 0
3884
   0B5C 53 B1 7F           3884         anl     _IOE,#0x7F
3885
                           3885 ;       ../../include/ztex-fpga7.h:89: OEA |= bmBIT1 | bmBIT4 | bmBIT5 | bmBIT6;
3886
   0B5F 43 B2 72           3886         orl     _OEA,#0x72
3887
                           3887 ;       ../../include/ztex-fpga7.h:90: IOA = ( IOA & bmBIT2 ) | bmBIT1 | bmBIT5;
3888
   0B62 74 04              3888         mov     a,#0x04
3889
   0B64 55 80              3889         anl     a,_IOA
3890
   0B66 F5 F0              3890         mov     b,a
3891
   0B68 74 22              3891         mov     a,#0x22
3892
   0B6A 45 F0              3892         orl     a,b
3893
   0B6C F5 80              3893         mov     _IOA,a
3894
                           3894 ;       ../../include/ztex-fpga7.h:91: wait(5);
3895
   0B6E 90 00 05           3895         mov     dptr,#0x0005
3896
   0B71 12s00r01           3896         lcall   _wait
3897
                           3897 ;       ../../include/ztex-fpga7.h:93: IOE = IOE | bmBIT7;                      // PROG_B = 1
3898
   0B74 43 B1 80           3898         orl     _IOE,#0x80
3899
                           3899 ;       ../../include/ztex-fpga7.h:94: IOA1 = 0;                                // CS = 0
3900
   0B77 C2 81              3900         clr     _IOA1
3901
                           3901 ;       ../../include/ztex-fpga7.h:97: while (!IOA7 && k<65535)
3902
   0B79 7A 00              3902         mov     r2,#0x00
3903
   0B7B 7B 00              3903         mov     r3,#0x00
3904
   0B7D                    3904 00102$:
3905
   0B7D 20 87 20           3905         jb      _IOA7,00104$
3906
   0B80 8A 04              3906         mov     ar4,r2
3907
   0B82 8B 05              3907         mov     ar5,r3
3908
   0B84 7E 00              3908         mov     r6,#0x00
3909
   0B86 7F 00              3909         mov     r7,#0x00
3910
   0B88 C3                 3910         clr     c
3911
   0B89 EC                 3911         mov     a,r4
3912
   0B8A 94 FF              3912         subb    a,#0xFF
3913
   0B8C ED                 3913         mov     a,r5
3914
   0B8D 94 FF              3914         subb    a,#0xFF
3915
   0B8F EE                 3915         mov     a,r6
3916
   0B90 94 00              3916         subb    a,#0x00
3917
   0B92 EF                 3917         mov     a,r7
3918
   0B93 64 80              3918         xrl     a,#0x80
3919
   0B95 94 80              3919         subb    a,#0x80
3920
   0B97 50 07              3920         jnc     00104$
3921
                           3921 ;       ../../include/ztex-fpga7.h:98: k++;
3922
   0B99 0A                 3922         inc     r2
3923
   0B9A BA 00 E0           3923         cjne    r2,#0x00,00102$
3924
   0B9D 0B                 3924         inc     r3
3925
   0B9E 80 DD              3925         sjmp    00102$
3926
   0BA0                    3926 00104$:
3927
                           3927 ;       ../../include/ztex-fpga7.h:101: OEA |= bmBIT0;                  // ready for configuration
3928
   0BA0 43 B2 01           3928         orl     _OEA,#0x01
3929
                           3929 ;       ../../include/ztex-fpga7.h:103: fpga_init_b = IOA7 ? 200 : 100;
3930
   0BA3 30 87 04           3930         jnb     _IOA7,00107$
3931
   0BA6 7A C8              3931         mov     r2,#0xC8
3932
   0BA8 80 02              3932         sjmp    00108$
3933
   0BAA                    3933 00107$:
3934
   0BAA 7A 64              3934         mov     r2,#0x64
3935
   0BAC                    3935 00108$:
3936
   0BAC 90s00r25           3936         mov     dptr,#_fpga_init_b
3937
   0BAF EA                 3937         mov     a,r2
3938
   0BB0 F0                 3938         movx    @dptr,a
3939
                           3939 ;       ../../include/ztex-fpga7.h:104: fpga_bytes = 0;
3940
   0BB1 90s00r21           3940         mov     dptr,#_fpga_bytes
3941
   0BB4 E4                 3941         clr     a
3942
   0BB5 F0                 3942         movx    @dptr,a
3943
   0BB6 A3                 3943         inc     dptr
3944
   0BB7 F0                 3944         movx    @dptr,a
3945
   0BB8 A3                 3945         inc     dptr
3946
   0BB9 F0                 3946         movx    @dptr,a
3947
   0BBA A3                 3947         inc     dptr
3948
   0BBB F0                 3948         movx    @dptr,a
3949
                           3949 ;       ../../include/ztex-fpga7.h:105: fpga_checksum = 0;
3950
   0BBC 90s00r20           3950         mov     dptr,#_fpga_checksum
3951
   0BBF E4                 3951         clr     a
3952
   0BC0 F0                 3952         movx    @dptr,a
3953
   0BC1 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
   0BC2                    3962 _post_fpga_config:
3963
                           3963 ;       ../../include/ztex-fpga7.h:113: }
3964
   0BC2 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
   0BC3                    3974 _finish_fpga_configuration:
3975
                           3975 ;       ../../include/ztex-fpga7.h:120: fpga_init_b += IOA7 ? 22 : 11;
3976
   0BC3 30 87 04           3976         jnb     _IOA7,00109$
3977
   0BC6 7A 16              3977         mov     r2,#0x16
3978
   0BC8 80 02              3978         sjmp    00110$
3979
   0BCA                    3979 00109$:
3980
   0BCA 7A 0B              3980         mov     r2,#0x0B
3981
   0BCC                    3981 00110$:
3982
   0BCC 90s00r25           3982         mov     dptr,#_fpga_init_b
3983
   0BCF E0                 3983         movx    a,@dptr
3984
   0BD0 FB                 3984         mov     r3,a
3985
   0BD1 EA                 3985         mov     a,r2
3986
   0BD2 2B                 3986         add     a,r3
3987
   0BD3 F0                 3987         movx    @dptr,a
3988
                           3988 ;       ../../include/ztex-fpga7.h:122: for ( w=0; w<64; w++ ) {
3989
   0BD4 7A 00              3989         mov     r2,#0x00
3990
   0BD6                    3990 00103$:
3991
   0BD6 BA 40 00           3991         cjne    r2,#0x40,00117$
3992
   0BD9                    3992 00117$:
3993
   0BD9 50 07              3993         jnc     00106$
3994
                           3994 ;       ../../include/ztex-fpga7.h:123: IOA0 = 1; IOA0 = 0;
3995
   0BDB D2 80              3995         setb    _IOA0
3996
   0BDD C2 80              3996         clr     _IOA0
3997
                           3997 ;       ../../include/ztex-fpga7.h:122: for ( w=0; w<64; w++ ) {
3998
   0BDF 0A                 3998         inc     r2
3999
   0BE0 80 F4              3999         sjmp    00103$
4000
   0BE2                    4000 00106$:
4001
                           4001 ;       ../../include/ztex-fpga7.h:125: IOA1 = 1;
4002
   0BE2 D2 81              4002         setb    _IOA1
4003
                           4003 ;       ../../include/ztex-fpga7.h:126: IOA0 = 1; IOA0 = 0;
4004
   0BE4 D2 80              4004         setb    _IOA0
4005
   0BE6 C2 80              4005         clr     _IOA0
4006
                           4006 ;       ../../include/ztex-fpga7.h:127: IOA0 = 1; IOA0 = 0;
4007
   0BE8 D2 80              4007         setb    _IOA0
4008
   0BEA C2 80              4008         clr     _IOA0
4009
                           4009 ;       ../../include/ztex-fpga7.h:128: IOA0 = 1; IOA0 = 0;
4010
   0BEC D2 80              4010         setb    _IOA0
4011
   0BEE C2 80              4011         clr     _IOA0
4012
                           4012 ;       ../../include/ztex-fpga7.h:129: IOA0 = 1; IOA0 = 0;
4013
   0BF0 D2 80              4013         setb    _IOA0
4014
   0BF2 C2 80              4014         clr     _IOA0
4015
                           4015 ;       ../../include/ztex-fpga7.h:131: OEA = OOEA;
4016
   0BF4 90s00r28           4016         mov     dptr,#_OOEA
4017
   0BF7 E0                 4017         movx    a,@dptr
4018
   0BF8 F5 B2              4018         mov     _OEA,a
4019
                           4019 ;       ../../include/ztex-fpga7.h:132: if ( IOE & bmBIT6 )  {
4020
   0BFA E5 B1              4020         mov     a,_IOE
4021
   0BFC 30 E6 03           4021         jnb     acc.6,00107$
4022
                           4022 ;       ../../include/ztex-fpga7.h:133: post_fpga_config();
4023
   0BFF 02s0BrC2           4023         ljmp    _post_fpga_config
4024
   0C02                    4024 00107$:
4025
   0C02 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
   0C03                    4035 _fpga_send_ep0:
4036
                           4036 ;       ../../include/ztex-fpga7.h:171: oOEC = OEC;
4037
   0C03 85 B4*0D           4037         mov     _fpga_send_ep0_oOEC_1_1,_OEC
4038
                           4038 ;       ../../include/ztex-fpga7.h:172: OEC = 255;
4039
   0C06 75 B4 FF           4039         mov     _OEC,#0xFF
4040
                           4040 ;       ../../include/ztex-fpga7.h:173: fpga_bytes += ep0_payload_transfer;
4041
   0C09 90s00r02           4041         mov     dptr,#_ep0_payload_transfer
4042
   0C0C E0                 4042         movx    a,@dptr
4043
   0C0D FB                 4043         mov     r3,a
4044
   0C0E 90s00r21           4044         mov     dptr,#_fpga_bytes
4045
   0C11 E0                 4045         movx    a,@dptr
4046
   0C12 FC                 4046         mov     r4,a
4047
   0C13 A3                 4047         inc     dptr
4048
   0C14 E0                 4048         movx    a,@dptr
4049
   0C15 FD                 4049         mov     r5,a
4050
   0C16 A3                 4050         inc     dptr
4051
   0C17 E0                 4051         movx    a,@dptr
4052
   0C18 FE                 4052         mov     r6,a
4053
   0C19 A3                 4053         inc     dptr
4054
   0C1A E0                 4054         movx    a,@dptr
4055
   0C1B FF                 4055         mov     r7,a
4056
   0C1C 78 00              4056         mov     r0,#0x00
4057
   0C1E 79 00              4057         mov     r1,#0x00
4058
   0C20 7A 00              4058         mov     r2,#0x00
4059
   0C22 90s00r21           4059         mov     dptr,#_fpga_bytes
4060
   0C25 EB                 4060         mov     a,r3
4061
   0C26 2C                 4061         add     a,r4
4062
   0C27 F0                 4062         movx    @dptr,a
4063
   0C28 E8                 4063         mov     a,r0
4064
   0C29 3D                 4064         addc    a,r5
4065
   0C2A A3                 4065         inc     dptr
4066
   0C2B F0                 4066         movx    @dptr,a
4067
   0C2C E9                 4067         mov     a,r1
4068
   0C2D 3E                 4068         addc    a,r6
4069
   0C2E A3                 4069         inc     dptr
4070
   0C2F F0                 4070         movx    @dptr,a
4071
   0C30 EA                 4071         mov     a,r2
4072
   0C31 3F                 4072         addc    a,r7
4073
   0C32 A3                 4073         inc     dptr
4074
   0C33 F0                 4074         movx    @dptr,a
4075
                           4075 ;       ../../include/ztex-fpga7.h:201: OEC = oOEC;
4076
                           4076
4077
   0C34 90 E6 8B           4077          mov dptr,#_EP0BCL
4078
   0C37 E0                 4078          movx a,@dptr
4079
   0C38 60 22              4079          jz 010000$
4080
   0C3A FA                 4080            mov r2,a
4081
   0C3B 75 9B 40           4081          mov _AUTOPTRL1,#(_EP0BUF)
4082
   0C3E 75 9A E7           4082          mov _AUTOPTRH1,#(_EP0BUF >> 8)
4083
   0C41 75 AF 07           4083          mov _AUTOPTRSETUP,#0x07
4084
   0C44 90s00r20           4084          mov dptr,#_fpga_checksum
4085
   0C47 E0                 4085          movx a,@dptr
4086
   0C48 F9                 4086          mov r1,a
4087
   0C49 90 E6 7B           4087          mov dptr,#_XAUTODAT1
4088
   0C4C                    4088         010001$:
4089
   0C4C E0                 4089          movx a,@dptr
4090
   0C4D F5 A0              4090          mov _IOC,a
4091
   0C4F D2 80              4091          setb _IOA0
4092
   0C51 29                 4092          add a,r1
4093
   0C52 F9                 4093          mov r1,a
4094
   0C53 C2 80              4094          clr _IOA0
4095
   0C55 DA F5              4095          djnz r2, 010001$
4096
                           4096 ;       # 194 "../../include/ztex-fpga7.h"
4097
                           4097
4098
   0C57 90s00r20           4098          mov dptr,#_fpga_checksum
4099
   0C5A E9                 4099          mov a,r1
4100
   0C5B F0                 4100          movx @dptr,a
4101
                           4101
4102
   0C5C                    4102         010000$:
4103
                           4103
4104
                           4104 ;       ../../include/ztex-fpga7.h:202: if ( EP0BCL<64 ) {
4105
   0C5C 85*0D B4           4105         mov     _OEC,_fpga_send_ep0_oOEC_1_1
4106
                           4106 ;       ../../include/ztex-fpga7.h:203: finish_fpga_configuration();
4107
   0C5F 90 E6 8B           4107         mov     dptr,#_EP0BCL
4108
   0C62 E0                 4108         movx    a,@dptr
4109
   0C63 FA                 4109         mov     r2,a
4110
   0C64 BA 40 00           4110         cjne    r2,#0x40,00106$
4111
   0C67                    4111 00106$:
4112
   0C67 50 03              4112         jnc     00103$
4113
                           4113 ;       ../../include/ztex-fpga7.h:204: }
4114
   0C69 02s0BrC3           4114         ljmp    _finish_fpga_configuration
4115
   0C6C                    4115 00103$:
4116
   0C6C 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
   0C6D                    4127 _fpga_configure_from_flash:
4128
                           4128 ;       ../../include/ztex-fpga7.h:231: if ( ( force == 0 ) && ( IOE & bmBIT6 ) ) {
4129
   0C6D E5 82              4129         mov     a,dpl
4130
   0C6F FA                 4130         mov     r2,a
4131
   0C70 70 0F              4131         jnz     00102$
4132
   0C72 E5 B1              4132         mov     a,_IOE
4133
   0C74 30 E6 0A           4133         jnb     acc.6,00102$
4134
                           4134 ;       ../../include/ztex-fpga7.h:232: fpga_flash_result = 1;
4135
   0C77 90s00r26           4135         mov     dptr,#_fpga_flash_result
4136
   0C7A 74 01              4136         mov     a,#0x01
4137
   0C7C F0                 4137         movx    @dptr,a
4138
                           4138 ;       ../../include/ztex-fpga7.h:233: return 1;
4139
   0C7D 75 82 01           4139         mov     dpl,#0x01
4140
   0C80 22                 4140         ret
4141
   0C81                    4141 00102$:
4142
                           4142 ;       ../../include/ztex-fpga7.h:236: fpga_flash_result = 0;
4143
   0C81 90s00r26           4143         mov     dptr,#_fpga_flash_result
4144
   0C84 E4                 4144         clr     a
4145
   0C85 F0                 4145         movx    @dptr,a
4146
                           4146 ;       ../../include/ztex-fpga7.h:238: IFCONFIG = bmBIT7;
4147
   0C86 90 E6 01           4147         mov     dptr,#_IFCONFIG
4148
   0C89 74 80              4148         mov     a,#0x80
4149
   0C8B F0                 4149         movx    @dptr,a
4150
                           4150 ;       ../../include/ezregs.h:46: __endasm;
4151
                           4151
4152
   0C8C 00                 4152          nop
4153
   0C8D 00                 4153          nop
4154
   0C8E 00                 4154          nop
4155
   0C8F 00                 4155          nop
4156
                           4156
4157
                           4157 ;       ../../include/ztex-fpga7.h:240: PORTACFG = 0;
4158
   0C90 90 E6 70           4158         mov     dptr,#_PORTACFG
4159
                           4159 ;       ../../include/ztex-fpga7.h:241: PORTCCFG = 0;
4160
   0C93 E4                 4160         clr     a
4161
   0C94 F0                 4161         movx    @dptr,a
4162
   0C95 90 E6 71           4162         mov     dptr,#_PORTCCFG
4163
   0C98 F0                 4163         movx    @dptr,a
4164
                           4164 ;       ../../include/ztex-fpga7.h:244: OEA &= bmBIT2;                   // only unsed PA bit
4165
   0C99 53 B2 04           4165         anl     _OEA,#0x04
4166
                           4166 ;       ../../include/ztex-fpga7.h:247: OEC &= ~bmBIT0;
4167
   0C9C 53 B4 FE           4167         anl     _OEC,#0xFE
4168
                           4168 ;       ../../include/ztex-fpga7.h:249: OEE = (OEE & ~bmBIT6) | bmBIT7;
4169
   0C9F AA B6              4169         mov     r2,_OEE
4170
   0CA1 74 BF              4170         mov     a,#0xBF
4171
   0CA3 5A                 4171         anl     a,r2
4172
   0CA4 F5 F0              4172         mov     b,a
4173
   0CA6 74 80              4173         mov     a,#0x80
4174
   0CA8 45 F0              4174         orl     a,b
4175
   0CAA F5 B6              4175         mov     _OEE,a
4176
                           4176 ;       ../../include/ztex-fpga7.h:250: IOE = IOE & ~bmBIT7;             // PROG_B = 0
4177
   0CAC 53 B1 7F           4177         anl     _IOE,#0x7F
4178
                           4178 ;       ../../include/ztex-fpga7.h:253: OEA |= bmBIT4 | bmBIT5;
4179
   0CAF 43 B2 30           4179         orl     _OEA,#0x30
4180
                           4180 ;       ../../include/ztex-fpga7.h:254: IOA = ( IOA & bmBIT2 ) | bmBIT4;
4181
   0CB2 74 04              4181         mov     a,#0x04
4182
   0CB4 55 80              4182         anl     a,_IOA
4183
   0CB6 F5 F0              4183         mov     b,a
4184
   0CB8 74 10              4184         mov     a,#0x10
4185
   0CBA 45 F0              4185         orl     a,b
4186
   0CBC F5 80              4186         mov     _IOA,a
4187
                           4187 ;       ../../include/ztex-fpga7.h:255: wait(1);
4188
   0CBE 90 00 01           4188         mov     dptr,#0x0001
4189
   0CC1 12s00r01           4189         lcall   _wait
4190
                           4190 ;       ../../include/ztex-fpga7.h:257: IOE = IOE | bmBIT7;                     // PROG_B = 1
4191
   0CC4 43 B1 80           4191         orl     _IOE,#0x80
4192
                           4192 ;       ../../include/ztex-fpga7.h:260: wait(20);
4193
   0CC7 90 00 14           4193         mov     dptr,#0x0014
4194
   0CCA 12s00r01           4194         lcall   _wait
4195
                           4195 ;       ../../include/ztex-fpga7.h:261: for (i=0; IOA7 && (!IOA1) && i<4000; i++ ) {
4196
   0CCD 7A 00              4196         mov     r2,#0x00
4197
   0CCF 7B 00              4197         mov     r3,#0x00
4198
   0CD1                    4198 00109$:
4199
   0CD1 30 87 21           4199         jnb     _IOA7,00112$
4200
   0CD4 20 81 1E           4200         jb      _IOA1,00112$
4201
   0CD7 C3                 4201         clr     c
4202
   0CD8 EA                 4202         mov     a,r2
4203
   0CD9 94 A0              4203         subb    a,#0xA0
4204
   0CDB EB                 4204         mov     a,r3
4205
   0CDC 94 0F              4205         subb    a,#0x0F
4206
   0CDE 50 15              4206         jnc     00112$
4207
                           4207 ;       ../../include/ztex-fpga7.h:262: wait(1);
4208
   0CE0 90 00 01           4208         mov     dptr,#0x0001
4209
   0CE3 C0 02              4209         push    ar2
4210
   0CE5 C0 03              4210         push    ar3
4211
   0CE7 12s00r01           4211         lcall   _wait
4212
   0CEA D0 03              4212         pop     ar3
4213
   0CEC D0 02              4213         pop     ar2
4214
                           4214 ;       ../../include/ztex-fpga7.h:261: for (i=0; IOA7 && (!IOA1) && i<4000; i++ ) {
4215
   0CEE 0A                 4215         inc     r2
4216
   0CEF BA 00 DF           4216         cjne    r2,#0x00,00109$
4217
   0CF2 0B                 4217         inc     r3
4218
   0CF3 80 DC              4218         sjmp    00109$
4219
   0CF5                    4219 00112$:
4220
                           4220 ;       ../../include/ztex-fpga7.h:265: wait(1);
4221
   0CF5 90 00 01           4221         mov     dptr,#0x0001
4222
   0CF8 12s00r01           4222         lcall   _wait
4223
                           4223 ;       ../../include/ztex-fpga7.h:267: if ( IOE & bmBIT6 )  {
4224
   0CFB E5 B1              4224         mov     a,_IOE
4225
   0CFD 30 E6 05           4225         jnb     acc.6,00105$
4226
                           4226 ;       ../../include/ztex-fpga7.h:269: post_fpga_config();
4227
   0D00 12s0BrC2           4227         lcall   _post_fpga_config
4228
   0D03 80 09              4228         sjmp    00106$
4229
   0D05                    4229 00105$:
4230
                           4230 ;       ../../include/ztex-fpga7.h:274: init_fpga();
4231
   0D05 12s0ArEE           4231         lcall   _init_fpga
4232
                           4232 ;       ../../include/ztex-fpga7.h:275: fpga_flash_result = 4;
4233
   0D08 90s00r26           4233         mov     dptr,#_fpga_flash_result
4234
   0D0B 74 04              4234         mov     a,#0x04
4235
   0D0D F0                 4235         movx    @dptr,a
4236
   0D0E                    4236 00106$:
4237
                           4237 ;       ../../include/ztex-fpga7.h:278: return fpga_flash_result;
4238
   0D0E 90s00r26           4238         mov     dptr,#_fpga_flash_result
4239
   0D11 E0                 4239         movx    a,@dptr
4240
   0D12 F5 82              4240         mov     dpl,a
4241
   0D14 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
   0D15                    4253 _fpga_first_free_sector:
4254
                           4254 ;       ../../include/ztex-fpga-flash2.h:36: if ( config_data_valid ) {
4255
   0D15 90s00r06           4255         mov     dptr,#_config_data_valid
4256
   0D18 E0                 4256         movx    a,@dptr
4257
   0D19 FA                 4257         mov     r2,a
4258
   0D1A 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
   0D1C 75*08 1A           4260         mov     _mac_eeprom_read_PARM_2,#0x1A
4261
   0D1F 75*09 04           4261         mov     _mac_eeprom_read_PARM_3,#0x04
4262
   0D22 90s00r29           4262         mov     dptr,#_fpga_first_free_sector_buf_1_1
4263
   0D25 12s03r70           4263         lcall   _mac_eeprom_read
4264
                           4264 ;       ../../include/ztex-fpga-flash2.h:38: if ( buf[1] != 0 ) {
4265
   0D28 90s00r2B           4265         mov     dptr,#(_fpga_first_free_sector_buf_1_1 + 0x0002)
4266
   0D2B E0                 4266         movx    a,@dptr
4267
   0D2C FA                 4267         mov     r2,a
4268
   0D2D A3                 4268         inc     dptr
4269
   0D2E E0                 4269         movx    a,@dptr
4270
   0D2F FB                 4270         mov     r3,a
4271
   0D30 4A                 4271         orl     a,r2
4272
   0D31 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
   0D33 90s00r29           4274         mov     dptr,#_fpga_first_free_sector_buf_1_1
4275
   0D36 E0                 4275         movx    a,@dptr
4276
   0D37 FC                 4276         mov     r4,a
4277
   0D38 A3                 4277         inc     dptr
4278
   0D39 E0                 4278         movx    a,@dptr
4279
   0D3A FD                 4279         mov     r5,a
4280
   0D3B C3                 4280         clr     c
4281
   0D3C EC                 4281         mov     a,r4
4282
   0D3D 9A                 4282         subb    a,r2
4283
   0D3E ED                 4283         mov     a,r5
4284
   0D3F 9B                 4284         subb    a,r3
4285
   0D40 40 04              4285         jc      00115$
4286
   0D42 8C 02              4286         mov     ar2,r4
4287
   0D44 8D 03              4287         mov     ar3,r5
4288
   0D46                    4288 00115$:
4289
   0D46 1A                 4289         dec     r2
4290
   0D47 BA FF 01           4290         cjne    r2,#0xff,00127$
4291
   0D4A 1B                 4291         dec     r3
4292
   0D4B                    4292 00127$:
4293
   0D4B 90s00r08           4293         mov     dptr,#_flash_sector_size
4294
   0D4E E0                 4294         movx    a,@dptr
4295
   0D4F FC                 4295         mov     r4,a
4296
   0D50 A3                 4296         inc     dptr
4297
   0D51 E0                 4297         movx    a,@dptr
4298
   0D52 7D 00              4298         mov     r5,#0x00
4299
   0D54 EC                 4299         mov     a,r4
4300
   0D55 24 F4              4300         add     a,#0xf4
4301
   0D57 FC                 4301         mov     r4,a
4302
   0D58 ED                 4302         mov     a,r5
4303
   0D59 34 FF              4303         addc    a,#0xff
4304
   0D5B FD                 4304         mov     r5,a
4305
   0D5C 8C F0              4305         mov     b,r4
4306
   0D5E 05 F0              4306         inc     b
4307
   0D60 80 07              4307         sjmp    00129$
4308
   0D62                    4308 00128$:
4309
   0D62 C3                 4309         clr     c
4310
   0D63 EB                 4310         mov     a,r3
4311
   0D64 13                 4311         rrc     a
4312
   0D65 FB                 4312         mov     r3,a
4313
   0D66 EA                 4313         mov     a,r2
4314
   0D67 13                 4314         rrc     a
4315
   0D68 FA                 4315         mov     r2,a
4316
   0D69                    4316 00129$:
4317
   0D69 D5 F0 F6           4317         djnz    b,00128$
4318
   0D6C 8A 82              4318         mov     dpl,r2
4319
   0D6E 8B 83              4319         mov     dph,r3
4320
   0D70 A3                 4320         inc     dptr
4321
   0D71 22                 4321         ret
4322
   0D72                    4322 00104$:
4323
                           4323 ;       ../../include/ztex-fpga-flash2.h:42: #endif
4324
   0D72 90 00 00           4324         mov     dptr,#0x0000
4325
   0D75 12s06rFF           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
   0D78 7A 00              4327         mov     r2,#0x00
4328
   0D7A                    4328 00108$:
4329
   0D7A BA 08 00           4329         cjne    r2,#0x08,00130$
4330
   0D7D                    4330 00130$:
4331
   0D7D 50 16              4331         jnc     00111$
4332
   0D7F C0 02              4332         push    ar2
4333
   0D81 12s05r85           4333         lcall   _flash_read_byte
4334
   0D84 AB 82              4334         mov     r3,dpl
4335
   0D86 D0 02              4335         pop     ar2
4336
   0D88 EA                 4336         mov     a,r2
4337
   0D89 90s00r00           4337         mov     dptr,#_fpga_flash_boot_id
4338
   0D8C 93                 4338         movc    a,@a+dptr
4339
   0D8D FC                 4339         mov     r4,a
4340
   0D8E EB                 4340         mov     a,r3
4341
   0D8F B5 04 03           4341         cjne    a,ar4,00111$
4342
   0D92 0A                 4342         inc     r2
4343
   0D93 80 E5              4343         sjmp    00108$
4344
   0D95                    4344 00111$:
4345
                           4345 ;       ../../include/ztex-fpga-flash2.h:45: if ( i != 8 ) {
4346
   0D95 BA 08 02           4346         cjne    r2,#0x08,00134$
4347
   0D98 80 1A              4347         sjmp    00106$
4348
   0D9A                    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
   0D9A 7B 00              4350         mov     r3,#0x00
4351
   0D9C 90s00r08           4351         mov     dptr,#_flash_sector_size
4352
   0D9F E0                 4352         movx    a,@dptr
4353
   0DA0 FC                 4353         mov     r4,a
4354
   0DA1 A3                 4354         inc     dptr
4355
   0DA2 E0                 4355         movx    a,@dptr
4356
   0DA3 FD                 4356         mov     r5,a
4357
   0DA4 EC                 4357         mov     a,r4
4358
   0DA5 C3                 4358         clr     c
4359
   0DA6 9A                 4359         subb    a,r2
4360
   0DA7 F5 82              4360         mov     dpl,a
4361
   0DA9 ED                 4361         mov     a,r5
4362
   0DAA 9B                 4362         subb    a,r3
4363
   0DAB F5 83              4363         mov     dph,a
4364
   0DAD 12s07r85           4364         lcall   _flash_read_finish
4365
                           4365 ;       ../../include/ztex-fpga-flash2.h:47: return 0;
4366
   0DB0 90 00 00           4366         mov     dptr,#0x0000
4367
   0DB3 22                 4367         ret
4368
   0DB4                    4368 00106$:
4369
                           4369 ;       ../../include/ztex-fpga-flash2.h:49: i=flash_read_byte();
4370
   0DB4 12s05r85           4370         lcall   _flash_read_byte
4371
   0DB7 AA 82              4371         mov     r2,dpl
4372
                           4372 ;       ../../include/ztex-fpga-flash2.h:50: j=flash_read_byte();
4373
   0DB9 C0 02              4373         push    ar2
4374
   0DBB 12s05r85           4374         lcall   _flash_read_byte
4375
   0DBE 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
   0DC0 90s00r08           4377         mov     dptr,#_flash_sector_size
4378
   0DC3 E0                 4378         movx    a,@dptr
4379
   0DC4 FC                 4379         mov     r4,a
4380
   0DC5 A3                 4380         inc     dptr
4381
   0DC6 E0                 4381         movx    a,@dptr
4382
   0DC7 FD                 4382         mov     r5,a
4383
   0DC8 EC                 4383         mov     a,r4
4384
   0DC9 24 F6              4384         add     a,#0xf6
4385
   0DCB F5 82              4385         mov     dpl,a
4386
   0DCD ED                 4386         mov     a,r5
4387
   0DCE 34 FF              4387         addc    a,#0xff
4388
   0DD0 F5 83              4388         mov     dph,a
4389
   0DD2 C0 03              4389         push    ar3
4390
   0DD4 12s07r85           4390         lcall   _flash_read_finish
4391
   0DD7 D0 03              4391         pop     ar3
4392
   0DD9 D0 02              4392         pop     ar2
4393
                           4393 ;       ../../include/ztex-fpga-flash2.h:53: return (i | (j<<8))+1;
4394
   0DDB 8B 04              4394         mov     ar4,r3
4395
   0DDD E4                 4395         clr     a
4396
   0DDE FB                 4396         mov     r3,a
4397
   0DDF FD                 4397         mov     r5,a
4398
   0DE0 EA                 4398         mov     a,r2
4399
   0DE1 42 03              4399         orl     ar3,a
4400
   0DE3 ED                 4400         mov     a,r5
4401
   0DE4 42 04              4401         orl     ar4,a
4402
   0DE6 8B 82              4402         mov     dpl,r3
4403
   0DE8 8C 83              4403         mov     dph,r4
4404
   0DEA A3                 4404         inc     dptr
4405
   0DEB 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
   0DEC                    4416 _fpga_configure_from_flash_init:
4417
                           4417 ;       ../../include/ztex-fpga-flash2.h:66: if ( config_data_valid ) {
4418
   0DEC 90s00r06           4418         mov     dptr,#_config_data_valid
4419
   0DEF E0                 4419         movx    a,@dptr
4420
   0DF0 FA                 4420         mov     r2,a
4421
   0DF1 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
   0DF3 75*08 1A           4423         mov     _mac_eeprom_read_PARM_2,#0x1A
4424
   0DF6 75*09 04           4424         mov     _mac_eeprom_read_PARM_3,#0x04
4425
   0DF9 90s00r2D           4425         mov     dptr,#_fpga_configure_from_flash_init_buf_1_1
4426
   0DFC 12s03r70           4426         lcall   _mac_eeprom_read
4427
                           4427 ;       ../../include/ztex-fpga-flash2.h:68: if ( buf[1] != 0 ) {
4428
   0DFF 90s00r2F           4428         mov     dptr,#(_fpga_configure_from_flash_init_buf_1_1 + 0x0002)
4429
   0E02 E0                 4429         movx    a,@dptr
4430
   0E03 FA                 4430         mov     r2,a
4431
   0E04 A3                 4431         inc     dptr
4432
   0E05 E0                 4432         movx    a,@dptr
4433
   0E06 FB                 4433         mov     r3,a
4434
   0E07 4A                 4434         orl     a,r2
4435
   0E08 60 18              4435         jz      00106$
4436
                           4436 ;       ../../include/ztex-fpga-flash2.h:69: if ( buf[0] == 0 ) {
4437
   0E0A 90s00r2D           4437         mov     dptr,#_fpga_configure_from_flash_init_buf_1_1
4438
   0E0D E0                 4438         movx    a,@dptr
4439
   0E0E FA                 4439         mov     r2,a
4440
   0E0F A3                 4440         inc     dptr
4441
   0E10 E0                 4441         movx    a,@dptr
4442
   0E11 FB                 4442         mov     r3,a
4443
   0E12 4A                 4443         orl     a,r2
4444
   0E13 60 03              4444         jz      00140$
4445
   0E15 02s0ErAF           4445         ljmp    00113$
4446
   0E18                    4446 00140$:
4447
                           4447 ;       ../../include/ztex-fpga-flash2.h:70: return fpga_flash_result = 3;
4448
   0E18 90s00r26           4448         mov     dptr,#_fpga_flash_result
4449
   0E1B 74 03              4449         mov     a,#0x03
4450
   0E1D F0                 4450         movx    @dptr,a
4451
   0E1E 75 82 03           4451         mov     dpl,#0x03
4452
   0E21 22                 4452         ret
4453
                           4453 ;       ../../include/ztex-fpga-flash2.h:73: goto flash_config;
4454
   0E22                    4454 00106$:
4455
                           4455 ;       ../../include/ztex-fpga-flash2.h:80: if ( flash_read_init( 0 ) )                // prepare reading sector 0
4456
   0E22 90 00 00           4456         mov     dptr,#0x0000
4457
   0E25 12s06rFF           4457         lcall   _flash_read_init
4458
   0E28 E5 82              4458         mov     a,dpl
4459
   0E2A 60 0A              4459         jz      00132$
4460
                           4460 ;       ../../include/ztex-fpga-flash2.h:81: return fpga_flash_result = 2;
4461
   0E2C 90s00r26           4461         mov     dptr,#_fpga_flash_result
4462
   0E2F 74 02              4462         mov     a,#0x02
4463
   0E31 F0                 4463         movx    @dptr,a
4464
   0E32 75 82 02           4464         mov     dpl,#0x02
4465
   0E35 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
   0E36                    4467 00132$:
4468
   0E36 7A 00              4468         mov     r2,#0x00
4469
   0E38                    4469 00120$:
4470
   0E38 BA 08 00           4470         cjne    r2,#0x08,00142$
4471
   0E3B                    4471 00142$:
4472
   0E3B 50 16              4472         jnc     00123$
4473
   0E3D C0 02              4473         push    ar2
4474
   0E3F 12s05r85           4474         lcall   _flash_read_byte
4475
   0E42 AB 82              4475         mov     r3,dpl
4476
   0E44 D0 02              4476         pop     ar2
4477
   0E46 EA                 4477         mov     a,r2
4478
   0E47 90s00r00           4478         mov     dptr,#_fpga_flash_boot_id
4479
   0E4A 93                 4479         movc    a,@a+dptr
4480
   0E4B FC                 4480         mov     r4,a
4481
   0E4C EB                 4481         mov     a,r3
4482
   0E4D B5 04 03           4482         cjne    a,ar4,00123$
4483
   0E50 0A                 4483         inc     r2
4484
   0E51 80 E5              4484         sjmp    00120$
4485
   0E53                    4485 00123$:
4486
                           4486 ;       ../../include/ztex-fpga-flash2.h:83: if ( i != 8 ) {
4487
   0E53 BA 08 02           4487         cjne    r2,#0x08,00146$
4488
   0E56 80 20              4488         sjmp    00110$
4489
   0E58                    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
   0E58 7B 00              4491         mov     r3,#0x00
4492
   0E5A 90s00r08           4492         mov     dptr,#_flash_sector_size
4493
   0E5D E0                 4493         movx    a,@dptr
4494
   0E5E FC                 4494         mov     r4,a
4495
   0E5F A3                 4495         inc     dptr
4496
   0E60 E0                 4496         movx    a,@dptr
4497
   0E61 FD                 4497         mov     r5,a
4498
   0E62 EC                 4498         mov     a,r4
4499
   0E63 C3                 4499         clr     c
4500
   0E64 9A                 4500         subb    a,r2
4501
   0E65 F5 82              4501         mov     dpl,a
4502
   0E67 ED                 4502         mov     a,r5
4503
   0E68 9B                 4503         subb    a,r3
4504
   0E69 F5 83              4504         mov     dph,a
4505
   0E6B 12s07r85           4505         lcall   _flash_read_finish
4506
                           4506 ;       ../../include/ztex-fpga-flash2.h:85: return fpga_flash_result = 3;
4507
   0E6E 90s00r26           4507         mov     dptr,#_fpga_flash_result
4508
   0E71 74 03              4508         mov     a,#0x03
4509
   0E73 F0                 4509         movx    @dptr,a
4510
   0E74 75 82 03           4510         mov     dpl,#0x03
4511
   0E77 22                 4511         ret
4512
   0E78                    4512 00110$:
4513
                           4513 ;       ../../include/ztex-fpga-flash2.h:87: i = flash_read_byte();
4514
   0E78 12s05r85           4514         lcall   _flash_read_byte
4515
   0E7B AA 82              4515         mov     r2,dpl
4516
                           4516 ;       ../../include/ztex-fpga-flash2.h:88: i |= flash_read_byte();
4517
   0E7D C0 02              4517         push    ar2
4518
   0E7F 12s05r85           4518         lcall   _flash_read_byte
4519
   0E82 AB 82              4519         mov     r3,dpl
4520
   0E84 D0 02              4520         pop     ar2
4521
   0E86 EB                 4521         mov     a,r3
4522
   0E87 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
   0E89 90s00r08           4524         mov     dptr,#_flash_sector_size
4525
   0E8C E0                 4525         movx    a,@dptr
4526
   0E8D FB                 4526         mov     r3,a
4527
   0E8E A3                 4527         inc     dptr
4528
   0E8F E0                 4528         movx    a,@dptr
4529
   0E90 FC                 4529         mov     r4,a
4530
   0E91 EB                 4530         mov     a,r3
4531
   0E92 24 F6              4531         add     a,#0xf6
4532
   0E94 F5 82              4532         mov     dpl,a
4533
   0E96 EC                 4533         mov     a,r4
4534
   0E97 34 FF              4534         addc    a,#0xff
4535
   0E99 F5 83              4535         mov     dph,a
4536
   0E9B C0 02              4536         push    ar2
4537
   0E9D 12s07r85           4537         lcall   _flash_read_finish
4538
   0EA0 D0 02              4538         pop     ar2
4539
                           4539 ;       ../../include/ztex-fpga-flash2.h:90: if ( i==0 )
4540
   0EA2 EA                 4540         mov     a,r2
4541
   0EA3 70 0A              4541         jnz     00113$
4542
                           4542 ;       ../../include/ztex-fpga-flash2.h:91: return fpga_flash_result = 3;
4543
   0EA5 90s00r26           4543         mov     dptr,#_fpga_flash_result
4544
   0EA8 74 03              4544         mov     a,#0x03
4545
   0EAA F0                 4545         movx    @dptr,a
4546
   0EAB 75 82 03           4546         mov     dpl,#0x03
4547
                           4547 ;       ../../include/ztex-fpga-flash2.h:93: flash_config:
4548
   0EAE 22                 4548         ret
4549
   0EAF                    4549 00113$:
4550
                           4550 ;       ../../include/ztex-fpga-flash2.h:94: fpga_flash_result = fpga_configure_from_flash(0);
4551
   0EAF 75 82 00           4551         mov     dpl,#0x00
4552
   0EB2 12s0Cr6D           4552         lcall   _fpga_configure_from_flash
4553
   0EB5 AA 82              4553         mov     r2,dpl
4554
   0EB7 90s00r26           4554         mov     dptr,#_fpga_flash_result
4555
   0EBA EA                 4555         mov     a,r2
4556
   0EBB F0                 4556         movx    @dptr,a
4557
                           4557 ;       ../../include/ztex-fpga-flash2.h:95: if ( fpga_flash_result == 1 ) {
4558
   0EBC BA 01 05           4558         cjne    r2,#0x01,00117$
4559
                           4559 ;       ../../include/ztex-fpga-flash2.h:96: post_fpga_config();
4560
   0EBF 12s0BrC2           4560         lcall   _post_fpga_config
4561
   0EC2 80 0F              4561         sjmp    00118$
4562
   0EC4                    4562 00117$:
4563
                           4563 ;       ../../include/ztex-fpga-flash2.h:98: else if ( fpga_flash_result == 4 ) {
4564
   0EC4 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
   0EC7 75 82 00           4566         mov     dpl,#0x00
4567
   0ECA 12s0Cr6D           4567         lcall   _fpga_configure_from_flash
4568
   0ECD E5 82              4568         mov     a,dpl
4569
   0ECF 90s00r26           4569         mov     dptr,#_fpga_flash_result
4570
   0ED2 F0                 4570         movx    @dptr,a
4571
   0ED3                    4571 00118$:
4572
                           4572 ;       ../../include/ztex-fpga-flash2.h:101: return fpga_flash_result;
4573
   0ED3 90s00r26           4573         mov     dptr,#_fpga_flash_result
4574
   0ED6 E0                 4574         movx    a,@dptr
4575
   0ED7 F5 82              4575         mov     dpl,a
4576
   0ED9 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
   0EDA                    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 13                 4601             .db 19
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
   0EDA 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
   0EDB                    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
   0EDB 90 E6 83           4654         mov     dptr,#_TOGCTL
4656
   0EDE E4                 4655         clr     a
4657
   0EDF F0                 4656         movx    @dptr,a
4658
   0EE0 74 20              4657         mov     a,#0x20
4659
   0EE2 F0                 4658         movx    @dptr,a
4660
   0EE3 74 10              4659         mov     a,#0x10
4661
   0EE5 F0                 4660         movx    @dptr,a
4662
   0EE6 74 30              4661         mov     a,#0x30
4663
   0EE8 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
   0EE9 90 E6 83           4667         mov     dptr,#_TOGCTL
4669
   0EEC 74 01              4668         mov     a,#0x01
4670
   0EEE F0                 4669         movx    @dptr,a
4671
   0EEF 74 21              4670         mov     a,#0x21
4672
   0EF1 F0                 4671         movx    @dptr,a
4673
   0EF2 74 11              4672         mov     a,#0x11
4674
   0EF4 F0                 4673         movx    @dptr,a
4675
   0EF5 74 31              4674         mov     a,#0x31
4676
   0EF7 F0                 4675         movx    @dptr,a
4677
   0EF8 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
   0EF9                    4689 _sendStringDescriptor:
4691
   0EF9 AA 82              4690         mov     r2,dpl
4692
                           4691 ;       ../../include/ztex-isr.h:71: if ( size > 31) size = 31;
4693
   0EFB E5*01              4692         mov     a,_sendStringDescriptor_PARM_3
4694
   0EFD 24 E0              4693         add     a,#0xff - 0x1F
4695
   0EFF 50 03              4694         jnc     00102$
4696
   0F01 75*01 1F           4695         mov     _sendStringDescriptor_PARM_3,#0x1F
4697
   0F04                    4696 00102$:
4698
                           4697 ;       ../../include/ztex-isr.h:72: if (SETUPDAT[7] == 0 && SETUPDAT[6]
4699
   0F04 90 E6 BF           4698         mov     dptr,#(_SETUPDAT + 0x0007)
4700
   0F07 E0                 4699         movx    a,@dptr
4701
   0F08 70 10              4700         jnz     00104$
4702
   0F0A 90 E6 BE           4701         mov     dptr,#(_SETUPDAT + 0x0006)
4703
   0F0D E0                 4702         movx    a,@dptr
4704
   0F0E FB                 4703         mov     r3,a
4705
   0F0F C3                 4704         clr     c
4706
   0F10 95*01              4705         subb    a,_sendStringDescriptor_PARM_3
4707
   0F12 50 06              4706         jnc     00104$
4708
   0F14 90 E6 BE           4707         mov     dptr,#(_SETUPDAT + 0x0006)
4709
   0F17 E0                 4708         movx    a,@dptr
4710
   0F18 F5*01              4709         mov     _sendStringDescriptor_PARM_3,a
4711
   0F1A                    4710 00104$:
4712
                           4711 ;       ../../include/ztex-isr.h:73: AUTOPTRSETUP = 7;
4713
   0F1A 75 AF 07           4712         mov     _AUTOPTRSETUP,#0x07
4714
                           4713 ;       ../../include/ztex-isr.h:74: AUTOPTRL1 = loAddr;
4715
   0F1D 8A 9B              4714         mov     _AUTOPTRL1,r2
4716
                           4715 ;       ../../include/ztex-isr.h:75: AUTOPTRH1 = hiAddr;
4717
   0F1F 85*00 9A           4716         mov     _AUTOPTRH1,_sendStringDescriptor_PARM_2
4718
                           4717 ;       ../../include/ztex-isr.h:76: AUTOPTRL2 = (BYTE)(((unsigned short)(&EP0BUF))+1);
4719
   0F22 75 9E 41           4718         mov     _AUTOPTRL2,#0x41
4720
                           4719 ;       ../../include/ztex-isr.h:77: AUTOPTRH2 = (BYTE)((((unsigned short)(&EP0BUF))+1) >> 8);
4721
   0F25 75 9D E7           4720         mov     _AUTOPTRH2,#0xE7
4722
                           4721 ;       ../../include/ztex-isr.h:78: XAUTODAT2 = 3;
4723
   0F28 90 E6 7C           4722         mov     dptr,#_XAUTODAT2
4724
   0F2B 74 03              4723         mov     a,#0x03
4725
   0F2D F0                 4724         movx    @dptr,a
4726
                           4725 ;       ../../include/ztex-isr.h:79: for (i=0; i
4727
   0F2E 7A 00              4726         mov     r2,#0x00
4728
   0F30                    4727 00106$:
4729
   0F30 C3                 4728         clr     c
4730
   0F31 EA                 4729         mov     a,r2
4731
   0F32 95*01              4730         subb    a,_sendStringDescriptor_PARM_3
4732
   0F34 50 11              4731         jnc     00109$
4733
                           4732 ;       ../../include/ztex-isr.h:80: XAUTODAT2 = XAUTODAT1;
4734
   0F36 90 E6 7B           4733         mov     dptr,#_XAUTODAT1
4735
   0F39 E0                 4734         movx    a,@dptr
4736
   0F3A FB                 4735         mov     r3,a
4737
   0F3B 90 E6 7C           4736         mov     dptr,#_XAUTODAT2
4738
   0F3E F0                 4737         movx    @dptr,a
4739
                           4738 ;       ../../include/ztex-isr.h:81: XAUTODAT2 = 0;
4740
   0F3F 90 E6 7C           4739         mov     dptr,#_XAUTODAT2
4741
   0F42 E4                 4740         clr     a
4742
   0F43 F0                 4741         movx    @dptr,a
4743
                           4742 ;       ../../include/ztex-isr.h:79: for (i=0; i
4744
   0F44 0A                 4743         inc     r2
4745
   0F45 80 E9              4744         sjmp    00106$
4746
   0F47                    4745 00109$:
4747
                           4746 ;       ../../include/ztex-isr.h:83: i = (size+1) << 1;
4748
   0F47 E5*01              4747         mov     a,_sendStringDescriptor_PARM_3
4749
   0F49 04                 4748         inc     a
4750
                           4749 ;       ../../include/ztex-isr.h:84: EP0BUF[0] = i;
4751
   0F4A 25 E0              4750         add     a,acc
4752
   0F4C FA                 4751         mov     r2,a
4753
   0F4D 90 E7 40           4752         mov     dptr,#_EP0BUF
4754
   0F50 F0                 4753         movx    @dptr,a
4755
                           4754 ;       ../../include/ztex-isr.h:85: EP0BUF[1] = 3;
4756
   0F51 90 E7 41           4755         mov     dptr,#(_EP0BUF + 0x0001)
4757
   0F54 74 03              4756         mov     a,#0x03
4758
   0F56 F0                 4757         movx    @dptr,a
4759
                           4758 ;       ../../include/ztex-isr.h:86: EP0BCH = 0;
4760
   0F57 90 E6 8A           4759         mov     dptr,#_EP0BCH
4761
   0F5A E4                 4760         clr     a
4762
   0F5B F0                 4761         movx    @dptr,a
4763
                           4762 ;       ../../include/ztex-isr.h:87: EP0BCL = i;
4764
   0F5C 90 E6 8B           4763         mov     dptr,#_EP0BCL
4765
   0F5F EA                 4764         mov     a,r2
4766
   0F60 F0                 4765         movx    @dptr,a
4767
   0F61 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
   0F62                    4775 _ep0_payload_update:
4777
                           4776 ;       ../../include/ztex-isr.h:94: ep0_payload_transfer = ( ep0_payload_remaining > 64 ) ? 64 : ep0_payload_remaining;
4778
   0F62 90s00r00           4777         mov     dptr,#_ep0_payload_remaining
4779
   0F65 E0                 4778         movx    a,@dptr
4780
   0F66 FA                 4779         mov     r2,a
4781
   0F67 A3                 4780         inc     dptr
4782
   0F68 E0                 4781         movx    a,@dptr
4783
   0F69 FB                 4782         mov     r3,a
4784
   0F6A C3                 4783         clr     c
4785
   0F6B 74 40              4784         mov     a,#0x40
4786
   0F6D 9A                 4785         subb    a,r2
4787
   0F6E E4                 4786         clr     a
4788
   0F6F 9B                 4787         subb    a,r3
4789
   0F70 50 06              4788         jnc     00103$
4790
   0F72 7C 40              4789         mov     r4,#0x40
4791
   0F74 7D 00              4790         mov     r5,#0x00
4792
   0F76 80 04              4791         sjmp    00104$
4793
   0F78                    4792 00103$:
4794
   0F78 8A 04              4793         mov     ar4,r2
4795
   0F7A 8B 05              4794         mov     ar5,r3
4796
   0F7C                    4795 00104$:
4797
   0F7C 90s00r02           4796         mov     dptr,#_ep0_payload_transfer
4798
   0F7F EC                 4797         mov     a,r4
4799
   0F80 F0                 4798         movx    @dptr,a
4800
                           4799 ;       ../../include/ztex-isr.h:95: ep0_payload_remaining -= ep0_payload_transfer;
4801
   0F81 7D 00              4800         mov     r5,#0x00
4802
   0F83 90s00r00           4801         mov     dptr,#_ep0_payload_remaining
4803
   0F86 EA                 4802         mov     a,r2
4804
   0F87 C3                 4803         clr     c
4805
   0F88 9C                 4804         subb    a,r4
4806
   0F89 F0                 4805         movx    @dptr,a
4807
   0F8A EB                 4806         mov     a,r3
4808
   0F8B 9D                 4807         subb    a,r5
4809
   0F8C A3                 4808         inc     dptr
4810
   0F8D F0                 4809         movx    @dptr,a
4811
   0F8E 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
   0F8F                    4819 _ep0_vendor_cmd_su:
4821
                           4820 ;       ../../include/ztex-isr.h:103: switch ( ep0_prev_setup_request ) {
4822
   0F8F 90s00r03           4821         mov     dptr,#_ep0_prev_setup_request
4823
   0F92 E0                 4822         movx    a,@dptr
4824
   0F93 FA                 4823         mov     r2,a
4825
   0F94 BA 31 02           4824         cjne    r2,#0x31,00123$
4826
   0F97 80 77              4825         sjmp    00107$
4827
   0F99                    4826 00123$:
4828
   0F99 BA 32 02           4827         cjne    r2,#0x32,00124$
4829
   0F9C 80 75              4828         sjmp    00108$
4830
   0F9E                    4829 00124$:
4831
   0F9E BA 39 02           4830         cjne    r2,#0x39,00125$
4832
   0FA1 80 0A              4831         sjmp    00101$
4833
   0FA3                    4832 00125$:
4834
   0FA3 BA 3C 02           4833         cjne    r2,#0x3C,00126$
4835
   0FA6 80 29              4834         sjmp    00102$
4836
   0FA8                    4835 00126$:
4837
                           4836 ;       ../../include/ztex-conf.h:123: case $0:
4838
   0FA8 BA 42 74           4837         cjne    r2,#0x42,00111$
4839
   0FAB 80 2D              4838         sjmp    00103$
4840
   0FAD                    4839 00101$:
4841
                           4840 ;       ../../include/ztex-eeprom.h:236: eeprom_write_checksum = 0;
4842
   0FAD 90s00r04           4841         mov     dptr,#_eeprom_write_checksum
4843
                           4842 ;       ../../include/ztex-eeprom.h:237: eeprom_write_bytes = 0;
4844
   0FB0 E4                 4843         clr     a
4845
   0FB1 F0                 4844         movx    @dptr,a
4846
   0FB2 90s00r02           4845         mov     dptr,#_eeprom_write_bytes
4847
   0FB5 F0                 4846         movx    @dptr,a
4848
   0FB6 A3                 4847         inc     dptr
4849
   0FB7 F0                 4848         movx    @dptr,a
4850
                           4849 ;       ../../include/ztex-eeprom.h:238: eeprom_addr =  ( SETUPDAT[3] << 8) | SETUPDAT[2];      // Address
4851
   0FB8 90 E6 BB           4850         mov     dptr,#(_SETUPDAT + 0x0003)
4852
   0FBB E0                 4851         movx    a,@dptr
4853
   0FBC FB                 4852         mov     r3,a
4854
   0FBD 7A 00              4853         mov     r2,#0x00
4855
   0FBF 90 E6 BA           4854         mov     dptr,#(_SETUPDAT + 0x0002)
4856
   0FC2 E0                 4855         movx    a,@dptr
4857
   0FC3 FC                 4856         mov     r4,a
4858
   0FC4 7D 00              4857         mov     r5,#0x00
4859
   0FC6 90s00r00           4858         mov     dptr,#_eeprom_addr
4860
   0FC9 EC                 4859         mov     a,r4
4861
   0FCA 4A                 4860         orl     a,r2
4862
   0FCB F0                 4861         movx    @dptr,a
4863
   0FCC ED                 4862         mov     a,r5
4864
   0FCD 4B                 4863         orl     a,r3
4865
   0FCE A3                 4864         inc     dptr
4866
   0FCF F0                 4865         movx    @dptr,a
4867
                           4866 ;       ../../include/ztex-conf.h:125: break;
4868
                           4867 ;       ../../include/ztex-conf.h:123: case $0:
4869
   0FD0 22                 4868         ret
4870
   0FD1                    4869 00102$:
4871
                           4870 ;       ../../include/ztex-conf.h:125: break;
4872
   0FD1 90 E6 BA           4871         mov     dptr,#(_SETUPDAT + 0x0002)
4873
   0FD4 E0                 4872         movx    a,@dptr
4874
   0FD5 90s00r05           4873         mov     dptr,#_mac_eeprom_addr
4875
   0FD8 F0                 4874         movx    @dptr,a
4876
                           4875 ;       ../../include/ztex-conf.h:123: case $0:
4877
   0FD9 22                 4876         ret
4878
   0FDA                    4877 00103$:
4879
                           4878 ;       ../../include/ztex-flash2.h:698: ep0_write_mode = SETUPDAT[5];
4880
   0FDA 90 E6 BD           4879         mov     dptr,#(_SETUPDAT + 0x0005)
4881
   0FDD E0                 4880         movx    a,@dptr
4882
   0FDE FA                 4881         mov     r2,a
4883
   0FDF 90s00r1F           4882         mov     dptr,#_ep0_write_mode
4884
   0FE2 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
   0FE3 EA                 4885         mov     a,r2
4887
   0FE4 70 41              4886         jnz     00113$
4888
   0FE6 90 E6 BB           4887         mov     dptr,#(_SETUPDAT + 0x0003)
4889
   0FE9 E0                 4888         movx    a,@dptr
4890
   0FEA FB                 4889         mov     r3,a
4891
   0FEB 7A 00              4890         mov     r2,#0x00
4892
   0FED 90 E6 BA           4891         mov     dptr,#(_SETUPDAT + 0x0002)
4893
   0FF0 E0                 4892         movx    a,@dptr
4894
   0FF1 7D 00              4893         mov     r5,#0x00
4895
   0FF3 4A                 4894         orl     a,r2
4896
   0FF4 F5 82              4895         mov     dpl,a
4897
   0FF6 ED                 4896         mov     a,r5
4898
   0FF7 4B                 4897         orl     a,r3
4899
   0FF8 F5 83              4898         mov     dph,a
4900
   0FFA 12s08rFB           4899         lcall   _flash_write_init
4901
   0FFD E5 82              4900         mov     a,dpl
4902
   0FFF 60 26              4901         jz      00113$
4903
                           4902 ;       ../../include/ztex-conf.h:137: EP0CS |= 0x01;   // set stall
4904
   1001 90 E6 A0           4903         mov     dptr,#_EP0CS
4905
   1004 E0                 4904         movx    a,@dptr
4906
   1005 44 01              4905         orl     a,#0x01
4907
   1007 F0                 4906         movx    @dptr,a
4908
                           4907 ;       ../../include/ztex-conf.h:138: ep0_payload_remaining = 0;
4909
   1008 90s00r00           4908         mov     dptr,#_ep0_payload_remaining
4910
   100B E4                 4909         clr     a
4911
   100C F0                 4910         movx    @dptr,a
4912
   100D A3                 4911         inc     dptr
4913
   100E F0                 4912         movx    @dptr,a
4914
                           4913 ;       ../../include/ztex-conf.h:139: break;
4915
                           4914 ;       ../../include/ztex-conf.h:123: case $0:
4916
   100F 22                 4915         ret
4917
   1010                    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
   1010 02s0ArCF           4920         ljmp    _reset_fpga
4922
   1013                    4921 00108$:
4923
                           4922 ;       ../../include/ztex-fpga7.h:208: if ( fpga_conf_initialized != 123 )
4924
   1013 90s00r27           4923         mov     dptr,#_fpga_conf_initialized
4925
   1016 E0                 4924         movx    a,@dptr
4926
   1017 FA                 4925         mov     r2,a
4927
   1018 BA 7B 01           4926         cjne    r2,#0x7B,00130$
4928
   101B 22                 4927         ret
4929
   101C                    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
   101C 02s0Br2D           4932         ljmp    _init_fpga_configuration
4934
   101F                    4933 00111$:
4935
                           4934 ;       ../../include/ztex-isr.h:106: EP0CS |= 0x01;                    // set stall, unknown request
4936
   101F 90 E6 A0           4935         mov     dptr,#_EP0CS
4937
   1022 E0                 4936         movx    a,@dptr
4938
   1023 FA                 4937         mov     r2,a
4939
   1024 44 01              4938         orl     a,#0x01
4940
   1026 F0                 4939         movx    @dptr,a
4941
                           4940 ;       ../../include/ztex-isr.h:107: }
4942
   1027                    4941 00113$:
4943
   1027 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
   1028                    4952 _SUDAV_ISR:
4954
   1028 C0*00              4953         push    bits
4955
   102A C0 E0              4954         push    acc
4956
   102C C0 F0              4955         push    b
4957
   102E C0 82              4956         push    dpl
4958
   1030 C0 83              4957         push    dph
4959
   1032 C0 02              4958         push    (0+2)
4960
   1034 C0 03              4959         push    (0+3)
4961
   1036 C0 04              4960         push    (0+4)
4962
   1038 C0 05              4961         push    (0+5)
4963
   103A C0 06              4962         push    (0+6)
4964
   103C C0 07              4963         push    (0+7)
4965
   103E C0 00              4964         push    (0+0)
4966
   1040 C0 01              4965         push    (0+1)
4967
   1042 C0 D0              4966         push    psw
4968
   1044 75 D0 00           4967         mov     psw,#0x00
4969
                           4968 ;       ../../include/ztex-isr.h:116: ep0_prev_setup_request = bRequest;
4970
   1047 90 E6 B9           4969         mov     dptr,#_bRequest
4971
   104A E0                 4970         movx    a,@dptr
4972
   104B FA                 4971         mov     r2,a
4973
   104C 90s00r03           4972         mov     dptr,#_ep0_prev_setup_request
4974
   104F F0                 4973         movx    @dptr,a
4975
                           4974 ;       ../../include/ztex-isr.h:117: SUDPTRCTL = 1;
4976
   1050 90 E6 B5           4975         mov     dptr,#_SUDPTRCTL
4977
   1053 74 01              4976         mov     a,#0x01
4978
   1055 F0                 4977         movx    @dptr,a
4979
                           4978 ;       ../../include/ztex-isr.h:120: switch ( bRequest ) {
4980
   1056 90 E6 B9           4979         mov     dptr,#_bRequest
4981
   1059 E0                 4980         movx    a,@dptr
4982
   105A FA                 4981         mov  r2,a
4983
   105B 24 F3              4982         add     a,#0xff - 0x0C
4984
   105D 50 03              4983         jnc     00238$
4985
   105F 02s13rDE           4984         ljmp    00160$
4986
   1062                    4985 00238$:
4987
   1062 EA                 4986         mov     a,r2
4988
   1063 2A                 4987         add     a,r2
4989
   1064 2A                 4988         add     a,r2
4990
   1065 90s10r69           4989         mov     dptr,#00239$
4991
   1068 73                 4990         jmp     @a+dptr
4992
   1069                    4991 00239$:
4993
   1069 02s10r90           4992         ljmp    00101$
4994
   106C 02s11r44           4993         ljmp    00112$
4995
   106F 02s13rDE           4994         ljmp    00160$
4996
   1072 02s11rC1           4995         ljmp    00122$
4997
   1075 02s13rDE           4996         ljmp    00160$
4998
   1078 02s13rDE           4997         ljmp    00160$
4999
   107B 02s12r59           4998         ljmp    00132$
5000
   107E 02s13r74           4999         ljmp    00152$
5001
   1081 02s13r76           5000         ljmp    00153$
5002
   1084 02s13r87           5001         ljmp    00154$
5003
   1087 02s13r8C           5002         ljmp    00155$
5004
   108A 02s13r9D           5003         ljmp    00156$
5005
   108D 02s13rA2           5004         ljmp    00157$
5006
                           5005 ;       ../../include/ztex-isr.h:121: case 0x00:        // get status
5007
   1090                    5006 00101$:
5008
                           5007 ;       ../../include/ztex-isr.h:122: switch(SETUPDAT[0]) {
5009
   1090 90 E6 B8           5008         mov     dptr,#_SETUPDAT
5010
   1093 E0                 5009         movx    a,@dptr
5011
   1094 FA                 5010         mov     r2,a
5012
   1095 BA 80 02           5011         cjne    r2,#0x80,00240$
5013
   1098 80 0D              5012         sjmp    00102$
5014
   109A                    5013 00240$:
5015
   109A BA 81 02           5014         cjne    r2,#0x81,00241$
5016
   109D 80 1E              5015         sjmp    00103$
5017
   109F                    5016 00241$:
5018
   109F BA 82 02           5017         cjne    r2,#0x82,00242$
5019
   10A2 80 2F              5018         sjmp    00104$
5020
   10A4                    5019 00242$:
5021
   10A4 02s13rDE           5020         ljmp    00160$
5022
                           5021 ;       ../../include/ztex-isr.h:123: case 0x80:                // self powered and remote
5023
   10A7                    5022 00102$:
5024
                           5023 ;       ../../include/ztex-isr.h:124: EP0BUF[0] = 0;    // not self-powered, no remote wakeup
5025
   10A7 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
   10AA E4                 5027         clr     a
5029
   10AB F0                 5028         movx    @dptr,a
5030
   10AC 90 E7 41           5029         mov     dptr,#(_EP0BUF + 0x0001)
5031
   10AF F0                 5030         movx    @dptr,a
5032
   10B0 90 E6 8A           5031         mov     dptr,#_EP0BCH
5033
   10B3 F0                 5032         movx    @dptr,a
5034
                           5033 ;       ../../include/ztex-isr.h:127: EP0BCL = 2;
5035
   10B4 90 E6 8B           5034         mov     dptr,#_EP0BCL
5036
   10B7 74 02              5035         mov     a,#0x02
5037
   10B9 F0                 5036         movx    @dptr,a
5038
                           5037 ;       ../../include/ztex-isr.h:128: break;
5039
   10BA 02s13rDE           5038         ljmp    00160$
5040
                           5039 ;       ../../include/ztex-isr.h:129: case 0x81:                // interface (reserved)
5041
   10BD                    5040 00103$:
5042
                           5041 ;       ../../include/ztex-isr.h:130: EP0BUF[0] = 0;    // always return zeros
5043
   10BD 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
   10C0 E4                 5045         clr     a
5047
   10C1 F0                 5046         movx    @dptr,a
5048
   10C2 90 E7 41           5047         mov     dptr,#(_EP0BUF + 0x0001)
5049
   10C5 F0                 5048         movx    @dptr,a
5050
   10C6 90 E6 8A           5049         mov     dptr,#_EP0BCH
5051
   10C9 F0                 5050         movx    @dptr,a
5052
                           5051 ;       ../../include/ztex-isr.h:133: EP0BCL = 2;
5053
   10CA 90 E6 8B           5052         mov     dptr,#_EP0BCL
5054
   10CD 74 02              5053         mov     a,#0x02
5055
   10CF F0                 5054         movx    @dptr,a
5056
                           5055 ;       ../../include/ztex-isr.h:134: break;
5057
   10D0 02s13rDE           5056         ljmp    00160$
5058
                           5057 ;       ../../include/ztex-isr.h:135: case 0x82:
5059
   10D3                    5058 00104$:
5060
                           5059 ;       ../../include/ztex-isr.h:136: switch ( SETUPDAT[4] ) {
5061
   10D3 90 E6 BC           5060         mov     dptr,#(_SETUPDAT + 0x0004)
5062
   10D6 E0                 5061         movx    a,@dptr
5063
   10D7 FA                 5062         mov     r2,a
5064
   10D8 60 0F              5063         jz      00106$
5065
   10DA BA 01 02           5064         cjne    r2,#0x01,00244$
5066
   10DD 80 19              5065         sjmp    00107$
5067
   10DF                    5066 00244$:
5068
   10DF BA 80 02           5067         cjne    r2,#0x80,00245$
5069
   10E2 80 05              5068         sjmp    00106$
5070
   10E4                    5069 00245$:
5071
                           5070 ;       ../../include/ztex-isr.h:138: case 0x80 :
5072
   10E4 BA 81 2F           5071         cjne    r2,#0x81,00109$
5073
   10E7 80 1E              5072         sjmp    00108$
5074
   10E9                    5073 00106$:
5075
                           5074 ;       ../../include/ztex-isr.h:139: EP0BUF[0] = EP0CS & bmBIT0;
5076
   10E9 90 E6 A0           5075         mov     dptr,#_EP0CS
5077
   10EC E0                 5076         movx    a,@dptr
5078
   10ED FA                 5077         mov     r2,a
5079
   10EE 53 02 01           5078         anl     ar2,#0x01
5080
   10F1 90 E7 40           5079         mov     dptr,#_EP0BUF
5081
   10F4 EA                 5080         mov     a,r2
5082
   10F5 F0                 5081         movx    @dptr,a
5083
                           5082 ;       ../../include/ztex-isr.h:140: break;
5084
                           5083 ;       ../../include/ztex-isr.h:141: case 0x01 :
5085
   10F6 80 3A              5084         sjmp    00110$
5086
   10F8                    5085 00107$:
5087
                           5086 ;       ../../include/ztex-isr.h:142: EP0BUF[0] = EP1OUTCS & bmBIT0;
5088
   10F8 90 E6 A1           5087         mov     dptr,#_EP1OUTCS
5089
   10FB E0                 5088         movx    a,@dptr
5090
   10FC FA                 5089         mov     r2,a
5091
   10FD 53 02 01           5090         anl     ar2,#0x01
5092
   1100 90 E7 40           5091         mov     dptr,#_EP0BUF
5093
   1103 EA                 5092         mov     a,r2
5094
   1104 F0                 5093         movx    @dptr,a
5095
                           5094 ;       ../../include/ztex-isr.h:143: break;
5096
                           5095 ;       ../../include/ztex-isr.h:144: case 0x81 :
5097
   1105 80 2B              5096         sjmp    00110$
5098
   1107                    5097 00108$:
5099
                           5098 ;       ../../include/ztex-isr.h:145: EP0BUF[0] = EP1INCS & bmBIT0;
5100
   1107 90 E6 A2           5099         mov     dptr,#_EP1INCS
5101
   110A E0                 5100         movx    a,@dptr
5102
   110B FA                 5101         mov     r2,a
5103
   110C 53 02 01           5102         anl     ar2,#0x01
5104
   110F 90 E7 40           5103         mov     dptr,#_EP0BUF
5105
   1112 EA                 5104         mov     a,r2
5106
   1113 F0                 5105         movx    @dptr,a
5107
                           5106 ;       ../../include/ztex-isr.h:146: break;
5108
                           5107 ;       ../../include/ztex-isr.h:147: default:
5109
   1114 80 1C              5108         sjmp    00110$
5110
   1116                    5109 00109$:
5111
                           5110 ;       ../../include/ztex-isr.h:148: EP0BUF[0] = EPXCS[ ((SETUPDAT[4] >> 1)-1) & 3 ] & bmBIT0;
5112
   1116 90 E6 BC           5111         mov     dptr,#(_SETUPDAT + 0x0004)
5113
   1119 E0                 5112         movx    a,@dptr
5114
   111A C3                 5113         clr     c
5115
   111B 13                 5114         rrc     a
5116
   111C 14                 5115         dec     a
5117
   111D 54 03              5116         anl     a,#0x03
5118
   111F 24 A3              5117         add     a,#_EPXCS
5119
   1121 F5 82              5118         mov     dpl,a
5120
   1123 E4                 5119         clr     a
5121
   1124 34 E6              5120         addc    a,#(_EPXCS >> 8)
5122
   1126 F5 83              5121         mov     dph,a
5123
   1128 E0                 5122         movx    a,@dptr
5124
   1129 FA                 5123         mov     r2,a
5125
   112A 53 02 01           5124         anl     ar2,#0x01
5126
   112D 90 E7 40           5125         mov     dptr,#_EP0BUF
5127
   1130 EA                 5126         mov     a,r2
5128
   1131 F0                 5127         movx    @dptr,a
5129
                           5128 ;       ../../include/ztex-isr.h:150: }
5130
   1132                    5129 00110$:
5131
                           5130 ;       ../../include/ztex-isr.h:151: EP0BUF[1] = 0;
5132
   1132 90 E7 41           5131         mov     dptr,#(_EP0BUF + 0x0001)
5133
                           5132 ;       ../../include/ztex-isr.h:152: EP0BCH = 0;
5134
   1135 E4                 5133         clr     a
5135
   1136 F0                 5134         movx    @dptr,a
5136
   1137 90 E6 8A           5135         mov     dptr,#_EP0BCH
5137
   113A F0                 5136         movx    @dptr,a
5138
                           5137 ;       ../../include/ztex-isr.h:153: EP0BCL = 2;
5139
   113B 90 E6 8B           5138         mov     dptr,#_EP0BCL
5140
   113E 74 02              5139         mov     a,#0x02
5141
   1140 F0                 5140         movx    @dptr,a
5142
                           5141 ;       ../../include/ztex-isr.h:156: break;
5143
   1141 02s13rDE           5142         ljmp    00160$
5144
                           5143 ;       ../../include/ztex-isr.h:157: case 0x01:        // disable feature, e.g. remote wake, stall bit
5145
   1144                    5144 00112$:
5146
                           5145 ;       ../../include/ztex-isr.h:158: if ( SETUPDAT[0] == 2 && SETUPDAT[2] == 0 ) {
5147
   1144 90 E6 B8           5146         mov     dptr,#_SETUPDAT
5148
   1147 E0                 5147         movx    a,@dptr
5149
   1148 FA                 5148         mov     r2,a
5150
   1149 BA 02 02           5149         cjne    r2,#0x02,00247$
5151
   114C 80 03              5150         sjmp    00248$
5152
   114E                    5151 00247$:
5153
   114E 02s13rDE           5152         ljmp    00160$
5154
   1151                    5153 00248$:
5155
   1151 90 E6 BA           5154         mov     dptr,#(_SETUPDAT + 0x0002)
5156
   1154 E0                 5155         movx    a,@dptr
5157
   1155 60 03              5156         jz      00249$
5158
   1157 02s13rDE           5157         ljmp    00160$
5159
   115A                    5158 00249$:
5160
                           5159 ;       ../../include/ztex-isr.h:159: switch ( SETUPDAT[4] ) {
5161
   115A 90 E6 BC           5160         mov     dptr,#(_SETUPDAT + 0x0004)
5162
   115D E0                 5161         movx    a,@dptr
5163
   115E FA                 5162         mov     r2,a
5164
   115F 60 0F              5163         jz      00114$
5165
   1161 BA 01 02           5164         cjne    r2,#0x01,00251$
5166
   1164 80 15              5165         sjmp    00115$
5167
   1166                    5166 00251$:
5168
   1166 BA 80 02           5167         cjne    r2,#0x80,00252$
5169
   1169 80 05              5168         sjmp    00114$
5170
   116B                    5169 00252$:
5171
                           5170 ;       ../../include/ztex-isr.h:161: case 0x80 :
5172
   116B BA 81 23           5171         cjne    r2,#0x81,00117$
5173
   116E 80 16              5172         sjmp    00116$
5174
   1170                    5173 00114$:
5175
                           5174 ;       ../../include/ztex-isr.h:162: EP0CS &= ~bmBIT0;
5176
   1170 90 E6 A0           5175         mov     dptr,#_EP0CS
5177
   1173 E0                 5176         movx    a,@dptr
5178
   1174 FA                 5177         mov     r2,a
5179
   1175 54 FE              5178         anl     a,#0xFE
5180
   1177 F0                 5179         movx    @dptr,a
5181
                           5180 ;       ../../include/ztex-isr.h:163: break;
5182
   1178 02s13rDE           5181         ljmp    00160$
5183
                           5182 ;       ../../include/ztex-isr.h:164: case 0x01 :
5184
   117B                    5183 00115$:
5185
                           5184 ;       ../../include/ztex-isr.h:165: EP1OUTCS &= ~bmBIT0;
5186
   117B 90 E6 A1           5185         mov     dptr,#_EP1OUTCS
5187
   117E E0                 5186         movx    a,@dptr
5188
   117F FA                 5187         mov     r2,a
5189
   1180 54 FE              5188         anl     a,#0xFE
5190
   1182 F0                 5189         movx    @dptr,a
5191
                           5190 ;       ../../include/ztex-isr.h:166: break;
5192
   1183 02s13rDE           5191         ljmp    00160$
5193
                           5192 ;       ../../include/ztex-isr.h:167: case 0x81 :
5194
   1186                    5193 00116$:
5195
                           5194 ;       ../../include/ztex-isr.h:168: EP1INCS &= ~bmBIT0;
5196
   1186 90 E6 A2           5195         mov     dptr,#_EP1INCS
5197
   1189 E0                 5196         movx    a,@dptr
5198
   118A FA                 5197         mov     r2,a
5199
   118B 54 FE              5198         anl     a,#0xFE
5200
   118D F0                 5199         movx    @dptr,a
5201
                           5200 ;       ../../include/ztex-isr.h:169: break;
5202
   118E 02s13rDE           5201         ljmp    00160$
5203
                           5202 ;       ../../include/ztex-isr.h:170: default:
5204
   1191                    5203 00117$:
5205
                           5204 ;       ../../include/ztex-isr.h:171: EPXCS[ ((SETUPDAT[4] >> 1)-1) & 3 ] &= ~bmBIT0;
5206
   1191 90 E6 BC           5205         mov     dptr,#(_SETUPDAT + 0x0004)
5207
   1194 E0                 5206         movx    a,@dptr
5208
   1195 C3                 5207         clr     c
5209
   1196 13                 5208         rrc     a
5210
   1197 14                 5209         dec     a
5211
   1198 54 03              5210         anl     a,#0x03
5212
   119A 24 A3              5211         add     a,#_EPXCS
5213
   119C FA                 5212         mov     r2,a
5214
   119D E4                 5213         clr     a
5215
   119E 34 E6              5214         addc    a,#(_EPXCS >> 8)
5216
   11A0 FB                 5215         mov     r3,a
5217
   11A1 90 E6 BC           5216         mov     dptr,#(_SETUPDAT + 0x0004)
5218
   11A4 E0                 5217         movx    a,@dptr
5219
   11A5 C3                 5218         clr     c
5220
   11A6 13                 5219         rrc     a
5221
   11A7 14                 5220         dec     a
5222
   11A8 54 03              5221         anl     a,#0x03
5223
   11AA 24 A3              5222         add     a,#_EPXCS
5224
   11AC F5 82              5223         mov     dpl,a
5225
   11AE E4                 5224         clr     a
5226
   11AF 34 E6              5225         addc    a,#(_EPXCS >> 8)
5227
   11B1 F5 83              5226         mov     dph,a
5228
   11B3 E0                 5227         movx    a,@dptr
5229
   11B4 FC                 5228         mov     r4,a
5230
   11B5 53 04 FE           5229         anl     ar4,#0xFE
5231
   11B8 8A 82              5230         mov     dpl,r2
5232
   11BA 8B 83              5231         mov     dph,r3
5233
   11BC EC                 5232         mov     a,r4
5234
   11BD F0                 5233         movx    @dptr,a
5235
                           5234 ;       ../../include/ztex-isr.h:175: break;
5236
   11BE 02s13rDE           5235         ljmp    00160$
5237
                           5236 ;       ../../include/ztex-isr.h:176: case 0x03:      // enable feature, e.g. remote wake, test mode, stall bit
5238
   11C1                    5237 00122$:
5239
                           5238 ;       ../../include/ztex-isr.h:177: if ( SETUPDAT[0] == 2 && SETUPDAT[2] == 0 ) {
5240
   11C1 90 E6 B8           5239         mov     dptr,#_SETUPDAT
5241
   11C4 E0                 5240         movx    a,@dptr
5242
   11C5 FA                 5241         mov     r2,a
5243
   11C6 BA 02 02           5242         cjne    r2,#0x02,00254$
5244
   11C9 80 03              5243         sjmp    00255$
5245
   11CB                    5244 00254$:
5246
   11CB 02s13rDE           5245         ljmp    00160$
5247
   11CE                    5246 00255$:
5248
   11CE 90 E6 BA           5247         mov     dptr,#(_SETUPDAT + 0x0002)
5249
   11D1 E0                 5248         movx    a,@dptr
5250
   11D2 60 03              5249         jz      00256$
5251
   11D4 02s13rDE           5250         ljmp    00160$
5252
   11D7                    5251 00256$:
5253
                           5252 ;       ../../include/ztex-isr.h:178: switch ( SETUPDAT[4] ) {
5254
   11D7 90 E6 BC           5253         mov     dptr,#(_SETUPDAT + 0x0004)
5255
   11DA E0                 5254         movx    a,@dptr
5256
   11DB FA                 5255         mov     r2,a
5257
   11DC 60 0F              5256         jz      00124$
5258
   11DE BA 01 02           5257         cjne    r2,#0x01,00258$
5259
   11E1 80 14              5258         sjmp    00125$
5260
   11E3                    5259 00258$:
5261
   11E3 BA 80 02           5260         cjne    r2,#0x80,00259$
5262
   11E6 80 05              5261         sjmp    00124$
5263
   11E8                    5262 00259$:
5264
                           5263 ;       ../../include/ztex-isr.h:180: case 0x80 :
5265
   11E8 BA 81 20           5264         cjne    r2,#0x81,00127$
5266
   11EB 80 14              5265         sjmp    00126$
5267
   11ED                    5266 00124$:
5268
                           5267 ;       ../../include/ztex-isr.h:181: EP0CS |= bmBIT0;
5269
   11ED 90 E6 A0           5268         mov     dptr,#_EP0CS
5270
   11F0 E0                 5269         movx    a,@dptr
5271
   11F1 FA                 5270         mov     r2,a
5272
   11F2 44 01              5271         orl     a,#0x01
5273
   11F4 F0                 5272         movx    @dptr,a
5274
                           5273 ;       ../../include/ztex-isr.h:182: break;
5275
                           5274 ;       ../../include/ztex-isr.h:183: case 0x01 :
5276
   11F5 80 41              5275         sjmp    00128$
5277
   11F7                    5276 00125$:
5278
                           5277 ;       ../../include/ztex-isr.h:184: EP1OUTCS |= bmBIT0;
5279
   11F7 90 E6 A1           5278         mov     dptr,#_EP1OUTCS
5280
   11FA E0                 5279         movx    a,@dptr
5281
   11FB FA                 5280         mov     r2,a
5282
   11FC 44 01              5281         orl     a,#0x01
5283
   11FE F0                 5282         movx    @dptr,a
5284
                           5283 ;       ../../include/ztex-isr.h:185: break;
5285
                           5284 ;       ../../include/ztex-isr.h:186: case 0x81 :
5286
   11FF 80 37              5285         sjmp    00128$
5287
   1201                    5286 00126$:
5288
                           5287 ;       ../../include/ztex-isr.h:187: EP1INCS |= bmBIT0;
5289
   1201 90 E6 A2           5288         mov     dptr,#_EP1INCS
5290
   1204 E0                 5289         movx    a,@dptr
5291
   1205 FA                 5290         mov     r2,a
5292
   1206 44 01              5291         orl     a,#0x01
5293
   1208 F0                 5292         movx    @dptr,a
5294
                           5293 ;       ../../include/ztex-isr.h:188: break;
5295
                           5294 ;       ../../include/ztex-isr.h:189: default:
5296
   1209 80 2D              5295         sjmp    00128$
5297
   120B                    5296 00127$:
5298
                           5297 ;       ../../include/ztex-isr.h:190: EPXCS[ ((SETUPDAT[4] >> 1)-1) & 3 ] |= ~bmBIT0;
5299
   120B 90 E6 BC           5298         mov     dptr,#(_SETUPDAT + 0x0004)
5300
   120E E0                 5299         movx    a,@dptr
5301
   120F C3                 5300         clr     c
5302
   1210 13                 5301         rrc     a
5303
   1211 14                 5302         dec     a
5304
   1212 54 03              5303         anl     a,#0x03
5305
   1214 24 A3              5304         add     a,#_EPXCS
5306
   1216 FA                 5305         mov     r2,a
5307
   1217 E4                 5306         clr     a
5308
   1218 34 E6              5307         addc    a,#(_EPXCS >> 8)
5309
   121A FB                 5308         mov     r3,a
5310
   121B 90 E6 BC           5309         mov     dptr,#(_SETUPDAT + 0x0004)
5311
   121E E0                 5310         movx    a,@dptr
5312
   121F C3                 5311         clr     c
5313
   1220 13                 5312         rrc     a
5314
   1221 14                 5313         dec     a
5315
   1222 54 03              5314         anl     a,#0x03
5316
   1224 24 A3              5315         add     a,#_EPXCS
5317
   1226 F5 82              5316         mov     dpl,a
5318
   1228 E4                 5317         clr     a
5319
   1229 34 E6              5318         addc    a,#(_EPXCS >> 8)
5320
   122B F5 83              5319         mov     dph,a
5321
   122D E0                 5320         movx    a,@dptr
5322
   122E FC                 5321         mov     r4,a
5323
   122F 43 04 FE           5322         orl     ar4,#0xFE
5324
   1232 8A 82              5323         mov     dpl,r2
5325
   1234 8B 83              5324         mov     dph,r3
5326
   1236 EC                 5325         mov     a,r4
5327
   1237 F0                 5326         movx    @dptr,a
5328
                           5327 ;       ../../include/ztex-isr.h:192: }
5329
   1238                    5328 00128$:
5330
                           5329 ;       ../../include/ztex-isr.h:193: a = ( (SETUPDAT[4] & 0x80) >> 3 ) | (SETUPDAT[4] & 0x0f);
5331
   1238 90 E6 BC           5330         mov     dptr,#(_SETUPDAT + 0x0004)
5332
   123B E0                 5331         movx    a,@dptr
5333
   123C 54 80              5332         anl     a,#0x80
5334
   123E C4                 5333         swap    a
5335
   123F 23                 5334         rl      a
5336
   1240 54 1F              5335         anl     a,#0x1f
5337
   1242 FA                 5336         mov     r2,a
5338
   1243 90 E6 BC           5337         mov     dptr,#(_SETUPDAT + 0x0004)
5339
   1246 E0                 5338         movx    a,@dptr
5340
   1247 FB                 5339         mov     r3,a
5341
   1248 74 0F              5340         mov     a,#0x0F
5342
   124A 5B                 5341         anl     a,r3
5343
   124B 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
   124D 90 E6 83           5345         mov     dptr,#_TOGCTL
5347
   1250 EA                 5346         mov     a,r2
5348
   1251 F0                 5347         movx    @dptr,a
5349
   1252 74 20              5348         mov     a,#0x20
5350
   1254 4A                 5349         orl     a,r2
5351
   1255 F0                 5350         movx    @dptr,a
5352
                           5351 ;       ../../include/ztex-isr.h:197: break;
5353
   1256 02s13rDE           5352         ljmp    00160$
5354
                           5353 ;       ../../include/ztex-isr.h:198: case 0x06:                        // get descriptor
5355
   1259                    5354 00132$:
5356
                           5355 ;       ../../include/ztex-isr.h:199: switch(SETUPDAT[3]) {
5357
   1259 90 E6 BB           5356         mov     dptr,#(_SETUPDAT + 0x0003)
5358
   125C E0                 5357         movx    a,@dptr
5359
   125D FA                 5358         mov     r2,a
5360
   125E BA 01 02           5359         cjne    r2,#0x01,00261$
5361
   1261 80 19              5360         sjmp    00133$
5362
   1263                    5361 00261$:
5363
   1263 BA 02 02           5362         cjne    r2,#0x02,00262$
5364
   1266 80 26              5363         sjmp    00134$
5365
   1268                    5364 00262$:
5366
   1268 BA 03 02           5365         cjne    r2,#0x03,00263$
5367
   126B 80 4D              5366         sjmp    00138$
5368
   126D                    5367 00263$:
5369
   126D BA 06 03           5368         cjne    r2,#0x06,00264$
5370
   1270 02s13r2D           5369         ljmp    00145$
5371
   1273                    5370 00264$:
5372
   1273 BA 07 03           5371         cjne    r2,#0x07,00265$
5373
   1276 02s13r3F           5372         ljmp    00146$
5374
   1279                    5373 00265$:
5375
   1279 02s13r6A           5374         ljmp    00150$
5376
                           5375 ;       ../../include/ztex-isr.h:200: case 0x01:                // device
5377
   127C                    5376 00133$:
5378
                           5377 ;       ../../include/ztex-isr.h:201: SUDPTRH = MSB(&DeviceDescriptor);
5379
   127C 7Ar35              5378         mov     r2,#_DeviceDescriptor
5380
   127E 7Bs00              5379         mov     r3,#(_DeviceDescriptor >> 8)
5381
   1280 90 E6 B3           5380         mov     dptr,#_SUDPTRH
5382
   1283 EB                 5381         mov     a,r3
5383
   1284 F0                 5382         movx    @dptr,a
5384
                           5383 ;       ../../include/ztex-isr.h:202: SUDPTRL = LSB(&DeviceDescriptor);
5385
   1285 90 E6 B4           5384         mov     dptr,#_SUDPTRL
5386
   1288 74r35              5385         mov     a,#_DeviceDescriptor
5387
   128A F0                 5386         movx    @dptr,a
5388
                           5387 ;       ../../include/ztex-isr.h:203: break;
5389
   128B 02s13rDE           5388         ljmp    00160$
5390
                           5389 ;       ../../include/ztex-isr.h:204: case 0x02:                // configuration
5391
   128E                    5390 00134$:
5392
                           5391 ;       ../../include/ztex-isr.h:205: if (USBCS & bmBIT7) {
5393
   128E 90 E6 80           5392         mov     dptr,#_USBCS
5394
   1291 E0                 5393         movx    a,@dptr
5395
   1292 FA                 5394         mov     r2,a
5396
   1293 30 E7 12           5395         jnb     acc.7,00136$
5397
                           5396 ;       ../../include/ztex-isr.h:206: SUDPTRH = MSB(&HighSpeedConfigDescriptor);
5398
   1296 7Ar51              5397         mov     r2,#_HighSpeedConfigDescriptor
5399
   1298 7Bs00              5398         mov     r3,#(_HighSpeedConfigDescriptor >> 8)
5400
   129A 90 E6 B3           5399         mov     dptr,#_SUDPTRH
5401
   129D EB                 5400         mov     a,r3
5402
   129E F0                 5401         movx    @dptr,a
5403
                           5402 ;       ../../include/ztex-isr.h:207: SUDPTRL = LSB(&HighSpeedConfigDescriptor);
5404
   129F 90 E6 B4           5403         mov     dptr,#_SUDPTRL
5405
   12A2 74r51              5404         mov     a,#_HighSpeedConfigDescriptor
5406
   12A4 F0                 5405         movx    @dptr,a
5407
   12A5 02s13rDE           5406         ljmp    00160$
5408
   12A8                    5407 00136$:
5409
                           5408 ;       ../../include/ztex-isr.h:210: SUDPTRH = MSB(&FullSpeedConfigDescriptor);
5410
   12A8 7Ar73              5409         mov     r2,#_FullSpeedConfigDescriptor
5411
   12AA 7Bs00              5410         mov     r3,#(_FullSpeedConfigDescriptor >> 8)
5412
   12AC 90 E6 B3           5411         mov     dptr,#_SUDPTRH
5413
   12AF EB                 5412         mov     a,r3
5414
   12B0 F0                 5413         movx    @dptr,a
5415
                           5414 ;       ../../include/ztex-isr.h:211: SUDPTRL = LSB(&FullSpeedConfigDescriptor);
5416
   12B1 90 E6 B4           5415         mov     dptr,#_SUDPTRL
5417
   12B4 74r73              5416         mov     a,#_FullSpeedConfigDescriptor
5418
   12B6 F0                 5417         movx    @dptr,a
5419
                           5418 ;       ../../include/ztex-isr.h:213: break;
5420
   12B7 02s13rDE           5419         ljmp    00160$
5421
                           5420 ;       ../../include/ztex-isr.h:214: case 0x03:                // strings
5422
   12BA                    5421 00138$:
5423
                           5422 ;       ../../include/ztex-isr.h:215: switch (SETUPDAT[2]) {
5424
   12BA 90 E6 BA           5423         mov     dptr,#(_SETUPDAT + 0x0002)
5425
   12BD E0                 5424         movx    a,@dptr
5426
   12BE FA                 5425         mov     r2,a
5427
   12BF BA 01 02           5426         cjne    r2,#0x01,00267$
5428
   12C2 80 0F              5427         sjmp    00139$
5429
   12C4                    5428 00267$:
5430
   12C4 BA 02 02           5429         cjne    r2,#0x02,00268$
5431
   12C7 80 1C              5430         sjmp    00140$
5432
   12C9                    5431 00268$:
5433
   12C9 BA 03 02           5432         cjne    r2,#0x03,00269$
5434
   12CC 80 29              5433         sjmp    00141$
5435
   12CE                    5434 00269$:
5436
                           5435 ;       ../../include/ztex-isr.h:216: case 1:
5437
   12CE BA 04 4A           5436         cjne    r2,#0x04,00143$
5438
   12D1 80 36              5437         sjmp    00142$
5439
   12D3                    5438 00139$:
5440
                           5439 ;       ../../include/ztex-isr.h:217: SEND_STRING_DESCRIPTOR(manufacturerString);
5441
   12D3 75 82r08           5440         mov     dpl,#_manufacturerString
5442
   12D6 7Ar08              5441         mov     r2,#_manufacturerString
5443
   12D8 7Bs00              5442         mov     r3,#(_manufacturerString >> 8)
5444
   12DA 8B*00              5443         mov     _sendStringDescriptor_PARM_2,r3
5445
   12DC 75*01 05           5444         mov     _sendStringDescriptor_PARM_3,#0x05
5446
   12DF 12s0ErF9           5445         lcall   _sendStringDescriptor
5447
                           5446 ;       ../../include/ztex-isr.h:218: break;
5448
   12E2 02s13rDE           5447         ljmp    00160$
5449
                           5448 ;       ../../include/ztex-isr.h:219: case 2:
5450
   12E5                    5449 00140$:
5451
                           5450 ;       ../../include/ztex-isr.h:220: SEND_STRING_DESCRIPTOR(productString);
5452
   12E5 75 82r0D           5451         mov     dpl,#_productString
5453
   12E8 7Ar0D              5452         mov     r2,#_productString
5454
   12EA 7Bs00              5453         mov     r3,#(_productString >> 8)
5455
   12EC 8B*00              5454         mov     _sendStringDescriptor_PARM_2,r3
5456
   12EE 75*01 20           5455         mov     _sendStringDescriptor_PARM_3,#0x20
5457
   12F1 12s0ErF9           5456         lcall   _sendStringDescriptor
5458
                           5457 ;       ../../include/ztex-isr.h:221: break;
5459
   12F4 02s13rDE           5458         ljmp    00160$
5460
                           5459 ;       ../../include/ztex-isr.h:222: case 3:
5461
   12F7                    5460 00141$:
5462
                           5461 ;       ../../include/ztex-isr.h:223: SEND_STRING_DESCRIPTOR(SN_STRING);
5463
   12F7 75 82 8A           5462         mov     dpl,#_SN_STRING
5464
   12FA 7A 8A              5463         mov     r2,#_SN_STRING
5465
   12FC 7B 00              5464         mov     r3,#(_SN_STRING >> 8)
5466
   12FE 8B*00              5465         mov     _sendStringDescriptor_PARM_2,r3
5467
   1300 75*01 0A           5466         mov     _sendStringDescriptor_PARM_3,#0x0A
5468
   1303 12s0ErF9           5467         lcall   _sendStringDescriptor
5469
                           5468 ;       ../../include/ztex-isr.h:224: break;
5470
   1306 02s13rDE           5469         ljmp    00160$
5471
                           5470 ;       ../../include/ztex-isr.h:225: case 4:
5472
   1309                    5471 00142$:
5473
                           5472 ;       ../../include/ztex-isr.h:226: SEND_STRING_DESCRIPTOR(configurationString);
5474
   1309 75 82r2D           5473         mov     dpl,#_configurationString
5475
   130C 7Ar2D              5474         mov     r2,#_configurationString
5476
   130E 7Bs00              5475         mov     r3,#(_configurationString >> 8)
5477
   1310 8B*00              5476         mov     _sendStringDescriptor_PARM_2,r3
5478
   1312 75*01 08           5477         mov     _sendStringDescriptor_PARM_3,#0x08
5479
   1315 12s0ErF9           5478         lcall   _sendStringDescriptor
5480
                           5479 ;       ../../include/ztex-isr.h:227: break;
5481
   1318 02s13rDE           5480         ljmp    00160$
5482
                           5481 ;       ../../include/ztex-isr.h:228: default:
5483
   131B                    5482 00143$:
5484
                           5483 ;       ../../include/ztex-isr.h:229: SUDPTRH = MSB(&EmptyStringDescriptor);
5485
   131B 7Ar95              5484         mov     r2,#_EmptyStringDescriptor
5486
   131D 7Bs00              5485         mov     r3,#(_EmptyStringDescriptor >> 8)
5487
   131F 90 E6 B3           5486         mov     dptr,#_SUDPTRH
5488
   1322 EB                 5487         mov     a,r3
5489
   1323 F0                 5488         movx    @dptr,a
5490
                           5489 ;       ../../include/ztex-isr.h:230: SUDPTRL = LSB(&EmptyStringDescriptor);
5491
   1324 90 E6 B4           5490         mov     dptr,#_SUDPTRL
5492
   1327 74r95              5491         mov     a,#_EmptyStringDescriptor
5493
   1329 F0                 5492         movx    @dptr,a
5494
                           5493 ;       ../../include/ztex-isr.h:233: break;
5495
   132A 02s13rDE           5494         ljmp    00160$
5496
                           5495 ;       ../../include/ztex-isr.h:234: case 0x06:                // device qualifier
5497
   132D                    5496 00145$:
5498
                           5497 ;       ../../include/ztex-isr.h:235: SUDPTRH = MSB(&DeviceQualifierDescriptor);
5499
   132D 7Ar47              5498         mov     r2,#_DeviceQualifierDescriptor
5500
   132F 7Bs00              5499         mov     r3,#(_DeviceQualifierDescriptor >> 8)
5501
   1331 90 E6 B3           5500         mov     dptr,#_SUDPTRH
5502
   1334 EB                 5501         mov     a,r3
5503
   1335 F0                 5502         movx    @dptr,a
5504
                           5503 ;       ../../include/ztex-isr.h:236: SUDPTRL = LSB(&DeviceQualifierDescriptor);
5505
   1336 90 E6 B4           5504         mov     dptr,#_SUDPTRL
5506
   1339 74r47              5505         mov     a,#_DeviceQualifierDescriptor
5507
   133B F0                 5506         movx    @dptr,a
5508
                           5507 ;       ../../include/ztex-isr.h:237: break;
5509
   133C 02s13rDE           5508         ljmp    00160$
5510
                           5509 ;       ../../include/ztex-isr.h:238: case 0x07:                // other speed configuration
5511
   133F                    5510 00146$:
5512
                           5511 ;       ../../include/ztex-isr.h:239: if (USBCS & bmBIT7) {
5513
   133F 90 E6 80           5512         mov     dptr,#_USBCS
5514
   1342 E0                 5513         movx    a,@dptr
5515
   1343 FA                 5514         mov     r2,a
5516
   1344 30 E7 12           5515         jnb     acc.7,00148$
5517
                           5516 ;       ../../include/ztex-isr.h:240: SUDPTRH = MSB(&FullSpeedConfigDescriptor);
5518
   1347 7Ar73              5517         mov     r2,#_FullSpeedConfigDescriptor
5519
   1349 7Bs00              5518         mov     r3,#(_FullSpeedConfigDescriptor >> 8)
5520
   134B 90 E6 B3           5519         mov     dptr,#_SUDPTRH
5521
   134E EB                 5520         mov     a,r3
5522
   134F F0                 5521         movx    @dptr,a
5523
                           5522 ;       ../../include/ztex-isr.h:241: SUDPTRL = LSB(&FullSpeedConfigDescriptor);
5524
   1350 90 E6 B4           5523         mov     dptr,#_SUDPTRL
5525
   1353 74r73              5524         mov     a,#_FullSpeedConfigDescriptor
5526
   1355 F0                 5525         movx    @dptr,a
5527
   1356 02s13rDE           5526         ljmp    00160$
5528
   1359                    5527 00148$:
5529
                           5528 ;       ../../include/ztex-isr.h:244: SUDPTRH = MSB(&HighSpeedConfigDescriptor);
5530
   1359 7Ar51              5529         mov     r2,#_HighSpeedConfigDescriptor
5531
   135B 7Bs00              5530         mov     r3,#(_HighSpeedConfigDescriptor >> 8)
5532
   135D 90 E6 B3           5531         mov     dptr,#_SUDPTRH
5533
   1360 EB                 5532         mov     a,r3
5534
   1361 F0                 5533         movx    @dptr,a
5535
                           5534 ;       ../../include/ztex-isr.h:245: SUDPTRL = LSB(&HighSpeedConfigDescriptor);
5536
   1362 90 E6 B4           5535         mov     dptr,#_SUDPTRL
5537
   1365 74r51              5536         mov     a,#_HighSpeedConfigDescriptor
5538
   1367 F0                 5537         movx    @dptr,a
5539
                           5538 ;       ../../include/ztex-isr.h:247: break;
5540
                           5539 ;       ../../include/ztex-isr.h:248: default:
5541
   1368 80 74              5540         sjmp    00160$
5542
   136A                    5541 00150$:
5543
                           5542 ;       ../../include/ztex-isr.h:249: EP0CS |= 0x01;    // set stall, unknown descriptor
5544
   136A 90 E6 A0           5543         mov     dptr,#_EP0CS
5545
   136D E0                 5544         movx    a,@dptr
5546
   136E FA                 5545         mov     r2,a
5547
   136F 44 01              5546         orl     a,#0x01
5548
   1371 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
   1372 80 6A              5550         sjmp    00160$
5552
   1374                    5551 00152$:
5553
                           5552 ;       ../../include/ztex-isr.h:253: break;
5554
                           5553 ;       ../../include/ztex-isr.h:254: case 0x08:                        // get configuration
5555
   1374 80 68              5554         sjmp    00160$
5556
   1376                    5555 00153$:
5557
                           5556 ;       ../../include/ztex-isr.h:255: EP0BUF[0] = 0;            // only one configuration
5558
   1376 90 E7 40           5557         mov     dptr,#_EP0BUF
5559
                           5558 ;       ../../include/ztex-isr.h:256: EP0BCH = 0;
5560
   1379 E4                 5559         clr     a
5561
   137A F0                 5560         movx    @dptr,a
5562
   137B 90 E6 8A           5561         mov     dptr,#_EP0BCH
5563
   137E F0                 5562         movx    @dptr,a
5564
                           5563 ;       ../../include/ztex-isr.h:257: EP0BCL = 1;
5565
   137F 90 E6 8B           5564         mov     dptr,#_EP0BCL
5566
   1382 74 01              5565         mov     a,#0x01
5567
   1384 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
   1385 80 57              5569         sjmp    00160$
5571
   1387                    5570 00154$:
5572
                           5571 ;       ../../include/ztex-isr.h:260: resetToggleData();
5573
   1387 12s0ErDB           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
   138A 80 52              5575         sjmp    00160$
5577
   138C                    5576 00155$:
5578
                           5577 ;       ../../include/ztex-isr.h:263: EP0BUF[0] = 0;            // only one alternate setting
5579
   138C 90 E7 40           5578         mov     dptr,#_EP0BUF
5580
                           5579 ;       ../../include/ztex-isr.h:264: EP0BCH = 0;
5581
   138F E4                 5580         clr     a
5582
   1390 F0                 5581         movx    @dptr,a
5583
   1391 90 E6 8A           5582         mov     dptr,#_EP0BCH
5584
   1394 F0                 5583         movx    @dptr,a
5585
                           5584 ;       ../../include/ztex-isr.h:265: EP0BCL = 1;
5586
   1395 90 E6 8B           5585         mov     dptr,#_EP0BCL
5587
   1398 74 01              5586         mov     a,#0x01
5588
   139A 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
   139B 80 41              5590         sjmp    00160$
5592
   139D                    5591 00156$:
5593
                           5592 ;       ../../include/ztex-isr.h:268: resetToggleData();
5594
   139D 12s0ErDB           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
   13A0 80 3C              5596         sjmp    00160$
5598
   13A2                    5597 00157$:
5599
                           5598 ;       ../../include/ztex-isr.h:271: if ( SETUPDAT[0] == 0x82 ) {
5600
   13A2 90 E6 B8           5599         mov     dptr,#_SETUPDAT
5601
   13A5 E0                 5600         movx    a,@dptr
5602
   13A6 FA                 5601         mov     r2,a
5603
   13A7 BA 82 34           5602         cjne    r2,#0x82,00160$
5604
                           5603 ;       ../../include/ztex-isr.h:272: ISOFRAME_COUNTER[ ((SETUPDAT[4] >> 1)-1) & 3 ] = 0;
5605
   13AA 90 E6 BC           5604         mov     dptr,#(_SETUPDAT + 0x0004)
5606
   13AD E0                 5605         movx    a,@dptr
5607
   13AE C3                 5606         clr     c
5608
   13AF 13                 5607         rrc     a
5609
   13B0 14                 5608         dec     a
5610
   13B1 54 03              5609         anl     a,#0x03
5611
   13B3 25 E0              5610         add     a,acc
5612
   13B5 24r05              5611         add     a,#_ISOFRAME_COUNTER
5613
   13B7 F5 82              5612         mov     dpl,a
5614
   13B9 E4                 5613         clr     a
5615
   13BA 34s00              5614         addc    a,#(_ISOFRAME_COUNTER >> 8)
5616
   13BC F5 83              5615         mov     dph,a
5617
   13BE E4                 5616         clr     a
5618
   13BF F0                 5617         movx    @dptr,a
5619
   13C0 A3                 5618         inc     dptr
5620
   13C1 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
   13C2 90 E6 85           5621         mov     dptr,#_USBFRAMEL
5623
   13C5 E0                 5622         movx    a,@dptr
5624
   13C6 90 E7 40           5623         mov     dptr,#_EP0BUF
5625
   13C9 F0                 5624         movx    @dptr,a
5626
                           5625 ;       ../../include/ztex-isr.h:274: EP0BUF[1] = USBFRAMEH;
5627
   13CA 90 E6 84           5626         mov     dptr,#_USBFRAMEH
5628
   13CD E0                 5627         movx    a,@dptr
5629
   13CE FA                 5628         mov     r2,a
5630
   13CF 90 E7 41           5629         mov     dptr,#(_EP0BUF + 0x0001)
5631
   13D2 F0                 5630         movx    @dptr,a
5632
                           5631 ;       ../../include/ztex-isr.h:275: EP0BCH = 0;
5633
   13D3 90 E6 8A           5632         mov     dptr,#_EP0BCH
5634
   13D6 E4                 5633         clr     a
5635
   13D7 F0                 5634         movx    @dptr,a
5636
                           5635 ;       ../../include/ztex-isr.h:276: EP0BCL = 2;
5637
   13D8 90 E6 8B           5636         mov     dptr,#_EP0BCL
5638
   13DB 74 02              5637         mov     a,#0x02
5639
   13DD F0                 5638         movx    @dptr,a
5640
                           5639 ;       ../../include/ztex-isr.h:280: }
5641
   13DE                    5640 00160$:
5642
                           5641 ;       ../../include/ztex-isr.h:283: switch ( bmRequestType ) {
5643
   13DE 90 E6 B8           5642         mov     dptr,#_bmRequestType
5644
   13E1 E0                 5643         movx    a,@dptr
5645
   13E2 FA                 5644         mov     r2,a
5646
   13E3 BA 40 03           5645         cjne    r2,#0x40,00274$
5647
   13E6 02s16r09           5646         ljmp    00182$
5648
   13E9                    5647 00274$:
5649
   13E9 BA C0 02           5648         cjne    r2,#0xC0,00275$
5650
   13EC 80 03              5649         sjmp    00276$
5651
   13EE                    5650 00275$:
5652
   13EE 02s16r33           5651         ljmp    00186$
5653
   13F1                    5652 00276$:
5654
                           5653 ;       ../../include/ztex-isr.h:285: ep0_payload_remaining = (SETUPDAT[7] << 8) | SETUPDAT[6];
5655
   13F1 90 E6 BF           5654         mov     dptr,#(_SETUPDAT + 0x0007)
5656
   13F4 E0                 5655         movx    a,@dptr
5657
   13F5 FB                 5656         mov     r3,a
5658
   13F6 7A 00              5657         mov     r2,#0x00
5659
   13F8 90 E6 BE           5658         mov     dptr,#(_SETUPDAT + 0x0006)
5660
   13FB E0                 5659         movx    a,@dptr
5661
   13FC FC                 5660         mov     r4,a
5662
   13FD 7D 00              5661         mov     r5,#0x00
5663
   13FF 90s00r00           5662         mov     dptr,#_ep0_payload_remaining
5664
   1402 EC                 5663         mov     a,r4
5665
   1403 4A                 5664         orl     a,r2
5666
   1404 F0                 5665         movx    @dptr,a
5667
   1405 ED                 5666         mov     a,r5
5668
   1406 4B                 5667         orl     a,r3
5669
   1407 A3                 5668         inc     dptr
5670
   1408 F0                 5669         movx    @dptr,a
5671
                           5670 ;       ../../include/ztex-isr.h:286: ep0_payload_update();
5672
   1409 12s0Fr62           5671         lcall   _ep0_payload_update
5673
                           5672 ;       ../../include/ztex-isr.h:288: switch ( bRequest ) {
5674
   140C 90 E6 B9           5673         mov     dptr,#_bRequest
5675
   140F E0                 5674         movx    a,@dptr
5676
   1410 FA                 5675         mov     r2,a
5677
   1411 BA 22 02           5676         cjne    r2,#0x22,00277$
5678
   1414 80 31              5677         sjmp    00162$
5679
   1416                    5678 00277$:
5680
   1416 BA 30 03           5679         cjne    r2,#0x30,00278$
5681
   1419 02s15rAF           5680         ljmp    00176$
5682
   141C                    5681 00278$:
5683
   141C BA 38 02           5682         cjne    r2,#0x38,00279$
5684
   141F 80 43              5683         sjmp    00163$
5685
   1421                    5684 00279$:
5686
   1421 BA 3A 02           5685         cjne    r2,#0x3A,00280$
5687
   1424 80 67              5686         sjmp    00164$
5688
   1426                    5687 00280$:
5689
   1426 BA 3B 03           5688         cjne    r2,#0x3B,00281$
5690
   1429 02s14rCC           5689         ljmp    00165$
5691
   142C                    5690 00281$:
5692
   142C BA 3D 03           5691         cjne    r2,#0x3D,00282$
5693
   142F 02s14rE5           5692         ljmp    00166$
5694
   1432                    5693 00282$:
5695
   1432 BA 40 03           5694         cjne    r2,#0x40,00283$
5696
   1435 02s15r06           5695         ljmp    00167$
5697
   1438                    5696 00283$:
5698
   1438 BA 41 03           5697         cjne    r2,#0x41,00284$
5699
   143B 02s15r3C           5698         ljmp    00171$
5700
   143E                    5699 00284$:
5701
   143E BA 43 03           5700         cjne    r2,#0x43,00285$
5702
   1441 02s15r89           5701         ljmp    00175$
5703
   1444                    5702 00285$:
5704
   1444 02s15rFF           5703         ljmp    00180$
5705
                           5704 ;       ../../include/ztex-isr.h:289: case 0x22:                                // get ZTEX descriptor
5706
   1447                    5705 00162$:
5707
                           5706 ;       ../../include/ztex-isr.h:290: SUDPTRCTL = 0;
5708
   1447 90 E6 B5           5707         mov     dptr,#_SUDPTRCTL
5709
                           5708 ;       ../../include/ztex-isr.h:291: EP0BCH = 0;
5710
   144A E4                 5709         clr     a
5711
   144B F0                 5710         movx    @dptr,a
5712
   144C 90 E6 8A           5711         mov     dptr,#_EP0BCH
5713
   144F F0                 5712         movx    @dptr,a
5714
                           5713 ;       ../../include/ztex-isr.h:292: EP0BCL = ZTEX_DESCRIPTOR_LEN;
5715
   1450 90 E6 8B           5714         mov     dptr,#_EP0BCL
5716
   1453 74 28              5715         mov     a,#0x28
5717
   1455 F0                 5716         movx    @dptr,a
5718
                           5717 ;       ../../include/ztex-isr.h:293: SUDPTRH = MSB(ZTEX_DESCRIPTOR_OFFS);
5719
   1456 90 E6 B3           5718         mov     dptr,#_SUDPTRH
5720
   1459 E4                 5719         clr     a
5721
   145A F0                 5720         movx    @dptr,a
5722
                           5721 ;       ../../include/ztex-isr.h:294: SUDPTRL = LSB(ZTEX_DESCRIPTOR_OFFS);
5723
   145B 90 E6 B4           5722         mov     dptr,#_SUDPTRL
5724
   145E 74 6C              5723         mov     a,#0x6C
5725
   1460 F0                 5724         movx    @dptr,a
5726
                           5725 ;       ../../include/ztex-isr.h:295: break;
5727
   1461 02s16r33           5726         ljmp    00186$
5728
                           5727 ;       ../../include/ztex-conf.h:100: case $0:
5729
   1464                    5728 00163$:
5730
                           5729 ;       ../../include/ztex-conf.h:102: break;
5731
   1464 90 E6 BB           5730         mov     dptr,#(_SETUPDAT + 0x0003)
5732
   1467 E0                 5731         movx    a,@dptr
5733
   1468 FB                 5732         mov     r3,a
5734
   1469 7A 00              5733         mov     r2,#0x00
5735
   146B 90 E6 BA           5734         mov     dptr,#(_SETUPDAT + 0x0002)
5736
   146E E0                 5735         movx    a,@dptr
5737
   146F FC                 5736         mov     r4,a
5738
   1470 7D 00              5737         mov     r5,#0x00
5739
   1472 90s00r00           5738         mov     dptr,#_eeprom_addr
5740
   1475 EC                 5739         mov     a,r4
5741
   1476 4A                 5740         orl     a,r2
5742
   1477 F0                 5741         movx    @dptr,a
5743
   1478 ED                 5742         mov     a,r5
5744
   1479 4B                 5743         orl     a,r3
5745
   147A A3                 5744         inc     dptr
5746
   147B F0                 5745         movx    @dptr,a
5747
                           5746 ;       ../../include/ztex-eeprom.h:219: EP0BCH = 0;
5748
   147C 90 E6 8A           5747         mov     dptr,#_EP0BCH
5749
   147F E4                 5748         clr     a
5750
   1480 F0                 5749         movx    @dptr,a
5751
                           5750 ;       ../../include/ztex-eeprom.h:220: EP0BCL = eeprom_read_ep0();
5752
   1481 12s03r0F           5751         lcall   _eeprom_read_ep0
5753
   1484 E5 82              5752         mov     a,dpl
5754
   1486 90 E6 8B           5753         mov     dptr,#_EP0BCL
5755
   1489 F0                 5754         movx    @dptr,a
5756
                           5755 ;       ../../include/ztex-conf.h:102: break;
5757
   148A 02s16r33           5756         ljmp    00186$
5758
                           5757 ;       ../../include/ztex-conf.h:100: case $0:
5759
   148D                    5758 00164$:
5760
                           5759 ;       ../../include/ztex-eeprom.h:247: EP0BUF[0] = LSB(eeprom_write_bytes);
5761
   148D 90s00r02           5760         mov     dptr,#_eeprom_write_bytes
5762
   1490 E0                 5761         movx    a,@dptr
5763
   1491 FA                 5762         mov     r2,a
5764
   1492 A3                 5763         inc     dptr
5765
   1493 E0                 5764         movx    a,@dptr
5766
   1494 FB                 5765         mov     r3,a
5767
   1495 8A 04              5766         mov     ar4,r2
5768
   1497 90 E7 40           5767         mov     dptr,#_EP0BUF
5769
   149A EC                 5768         mov     a,r4
5770
   149B F0                 5769         movx    @dptr,a
5771
                           5770 ;       ../../include/ztex-eeprom.h:248: EP0BUF[1] = MSB(eeprom_write_bytes);
5772
   149C 8B 02              5771         mov     ar2,r3
5773
   149E 90 E7 41           5772         mov     dptr,#(_EP0BUF + 0x0001)
5774
   14A1 EA                 5773         mov     a,r2
5775
   14A2 F0                 5774         movx    @dptr,a
5776
                           5775 ;       ../../include/ztex-eeprom.h:249: EP0BUF[2] = eeprom_write_checksum;
5777
   14A3 90s00r04           5776         mov     dptr,#_eeprom_write_checksum
5778
   14A6 E0                 5777         movx    a,@dptr
5779
   14A7 90 E7 42           5778         mov     dptr,#(_EP0BUF + 0x0002)
5780
   14AA 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
   14AB 75*00 00           5781         mov     _eeprom_select_PARM_2,#0x00
5783
   14AE 75*01 01           5782         mov     _eeprom_select_PARM_3,#0x01
5784
   14B1 75 82 A2           5783         mov     dpl,#0xA2
5785
   14B4 12s00rE2           5784         lcall   _eeprom_select
5786
   14B7 AA 82              5785         mov     r2,dpl
5787
   14B9 90 E7 43           5786         mov     dptr,#(_EP0BUF + 0x0003)
5788
   14BC EA                 5787         mov     a,r2
5789
   14BD F0                 5788         movx    @dptr,a
5790
                           5789 ;       ../../include/ztex-eeprom.h:251: EP0BCH = 0;
5791
   14BE 90 E6 8A           5790         mov     dptr,#_EP0BCH
5792
   14C1 E4                 5791         clr     a
5793
   14C2 F0                 5792         movx    @dptr,a
5794
                           5793 ;       ../../include/ztex-eeprom.h:252: EP0BCL = 4;
5795
   14C3 90 E6 8B           5794         mov     dptr,#_EP0BCL
5796
   14C6 74 04              5795         mov     a,#0x04
5797
   14C8 F0                 5796         movx    @dptr,a
5798
                           5797 ;       ../../include/ztex-conf.h:102: break;
5799
   14C9 02s16r33           5798         ljmp    00186$
5800
                           5799 ;       ../../include/ztex-conf.h:100: case $0:
5801
   14CC                    5800 00165$:
5802
                           5801 ;       ../../include/ztex-conf.h:102: break;
5803
   14CC 90 E6 BA           5802         mov     dptr,#(_SETUPDAT + 0x0002)
5804
   14CF E0                 5803         movx    a,@dptr
5805
   14D0 90s00r05           5804         mov     dptr,#_mac_eeprom_addr
5806
   14D3 F0                 5805         movx    @dptr,a
5807
                           5806 ;       ../../include/ztex-eeprom.h:368: EP0BCH = 0;
5808
   14D4 90 E6 8A           5807         mov     dptr,#_EP0BCH
5809
   14D7 E4                 5808         clr     a
5810
   14D8 F0                 5809         movx    @dptr,a
5811
                           5810 ;       ../../include/ztex-eeprom.h:369: EP0BCL = mac_eeprom_read_ep0();
5812
   14D9 12s05r55           5811         lcall   _mac_eeprom_read_ep0
5813
   14DC E5 82              5812         mov     a,dpl
5814
   14DE 90 E6 8B           5813         mov     dptr,#_EP0BCL
5815
   14E1 F0                 5814         movx    @dptr,a
5816
                           5815 ;       ../../include/ztex-conf.h:102: break;
5817
   14E2 02s16r33           5816         ljmp    00186$
5818
                           5817 ;       ../../include/ztex-conf.h:100: case $0:
5819
   14E5                    5818 00166$:
5820
                           5819 ;       ../../include/ztex-conf.h:102: break;
5821
   14E5 75*00 00           5820         mov     _eeprom_select_PARM_2,#0x00
5822
   14E8 75*01 01           5821         mov     _eeprom_select_PARM_3,#0x01
5823
   14EB 75 82 A6           5822         mov     dpl,#0xA6
5824
   14EE 12s00rE2           5823         lcall   _eeprom_select
5825
   14F1 AA 82              5824         mov     r2,dpl
5826
   14F3 90 E7 40           5825         mov     dptr,#_EP0BUF
5827
   14F6 EA                 5826         mov     a,r2
5828
   14F7 F0                 5827         movx    @dptr,a
5829
                           5828 ;       ../../include/ztex-eeprom.h:390: EP0BCH = 0;
5830
   14F8 90 E6 8A           5829         mov     dptr,#_EP0BCH
5831
   14FB E4                 5830         clr     a
5832
   14FC F0                 5831         movx    @dptr,a
5833
                           5832 ;       ../../include/ztex-eeprom.h:391: EP0BCL = 1;
5834
   14FD 90 E6 8B           5833         mov     dptr,#_EP0BCL
5835
   1500 74 01              5834         mov     a,#0x01
5836
   1502 F0                 5835         movx    @dptr,a
5837
                           5836 ;       ../../include/ztex-conf.h:102: break;
5838
   1503 02s16r33           5837         ljmp    00186$
5839
                           5838 ;       ../../include/ztex-conf.h:100: case $0:
5840
   1506                    5839 00167$:
5841
                           5840 ;       ../../include/ztex-flash2.h:646: if ( flash_ec == 0 && SPI_CS == 0 ) {
5842
   1506 90s00r0E           5841         mov     dptr,#_flash_ec
5843
   1509 E0                 5842         movx    a,@dptr
5844
   150A FA                 5843         mov     r2,a
5845
   150B 70 09              5844         jnz     00169$
5846
   150D 20 83 06           5845         jb      _IOA3,00169$
5847
                           5846 ;       ../../include/ztex-flash2.h:647: flash_ec = FLASH_EC_PENDING;
5848
   1510 90s00r0E           5847         mov     dptr,#_flash_ec
5849
   1513 74 04              5848         mov     a,#0x04
5850
   1515 F0                 5849         movx    @dptr,a
5851
   1516                    5850 00169$:
5852
                           5851 ;       ../../include/ztex-utils.h:121: AUTOPTRL1=LO(&($0));
5853
   1516 75 9Br07           5852         mov     _AUTOPTRL1,#_flash_enabled
5854
                           5853 ;       ../../include/ztex-utils.h:122: AUTOPTRH1=HI(&($0));
5855
   1519 7Ar07              5854         mov     r2,#_flash_enabled
5856
   151B 7Bs00              5855         mov     r3,#(_flash_enabled >> 8)
5857
   151D 8B 9A              5856         mov     _AUTOPTRH1,r3
5858
                           5857 ;       ../../include/ztex-utils.h:123: AUTOPTRL2=LO(&($1));
5859
   151F 75 9E 40           5858         mov     _AUTOPTRL2,#0x40
5860
                           5859 ;       ../../include/ztex-utils.h:124: AUTOPTRH2=HI(&($1));
5861
   1522 75 9D E7           5860         mov     _AUTOPTRH2,#0xE7
5862
                           5861 ;       ../../include/ztex-utils.h:130: __endasm;
5863
                           5862
5864
   1525 C0 02              5863           push ar2
5865
   1527 7A 08              5864             mov r2,#(8);
5866
   1529 12s00r49           5865           lcall _MEM_COPY1_int
5867
   152C D0 02              5866           pop ar2
5868
                           5867
5869
                           5868 ;       ../../include/ztex-flash2.h:650: EP0BCH = 0;
5870
   152E 90 E6 8A           5869         mov     dptr,#_EP0BCH
5871
   1531 E4                 5870         clr     a
5872
   1532 F0                 5871         movx    @dptr,a
5873
                           5872 ;       ../../include/ztex-flash2.h:651: EP0BCL = 8;
5874
   1533 90 E6 8B           5873         mov     dptr,#_EP0BCL
5875
   1536 74 08              5874         mov     a,#0x08
5876
   1538 F0                 5875         movx    @dptr,a
5877
                           5876 ;       ../../include/ztex-conf.h:102: break;
5878
   1539 02s16r33           5877         ljmp    00186$
5879
                           5878 ;       ../../include/ztex-conf.h:100: case $0:
5880
   153C                    5879 00171$:
5881
                           5880 ;       ../../include/ztex-flash2.h:671: ep0_read_mode = SETUPDAT[5];
5882
   153C 90 E6 BD           5881         mov     dptr,#(_SETUPDAT + 0x0005)
5883
   153F E0                 5882         movx    a,@dptr
5884
   1540 FA                 5883         mov     r2,a
5885
   1541 90s00r1E           5884         mov     dptr,#_ep0_read_mode
5886
   1544 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
   1545 EA                 5887         mov     a,r2
5889
   1546 70 2D              5888         jnz     00173$
5890
   1548 90 E6 BB           5889         mov     dptr,#(_SETUPDAT + 0x0003)
5891
   154B E0                 5890         movx    a,@dptr
5892
   154C FB                 5891         mov     r3,a
5893
   154D 7A 00              5892         mov     r2,#0x00
5894
   154F 90 E6 BA           5893         mov     dptr,#(_SETUPDAT + 0x0002)
5895
   1552 E0                 5894         movx    a,@dptr
5896
   1553 7D 00              5895         mov     r5,#0x00
5897
   1555 4A                 5896         orl     a,r2
5898
   1556 F5 82              5897         mov     dpl,a
5899
   1558 ED                 5898         mov     a,r5
5900
   1559 4B                 5899         orl     a,r3
5901
   155A F5 83              5900         mov     dph,a
5902
   155C 12s06rFF           5901         lcall   _flash_read_init
5903
   155F E5 82              5902         mov     a,dpl
5904
   1561 60 12              5903         jz      00173$
5905
                           5904 ;       ../../include/ztex-conf.h:137: EP0CS |= 0x01;   // set stall
5906
   1563 90 E6 A0           5905         mov     dptr,#_EP0CS
5907
   1566 E0                 5906         movx    a,@dptr
5908
   1567 FA                 5907         mov     r2,a
5909
   1568 44 01              5908         orl     a,#0x01
5910
   156A F0                 5909         movx    @dptr,a
5911
                           5910 ;       ../../include/ztex-conf.h:138: ep0_payload_remaining = 0;
5912
   156B 90s00r00           5911         mov     dptr,#_ep0_payload_remaining
5913
   156E E4                 5912         clr     a
5914
   156F F0                 5913         movx    @dptr,a
5915
   1570 A3                 5914         inc     dptr
5916
   1571 F0                 5915         movx    @dptr,a
5917
                           5916 ;       ../../include/ztex-conf.h:139: break;
5918
   1572 02s16r33           5917         ljmp    00186$
5919
   1575                    5918 00173$:
5920
                           5919 ;       ../../include/ztex-flash2.h:675: spi_read_ep0();
5921
   1575 12s0Ar89           5920         lcall   _spi_read_ep0
5922
                           5921 ;       ../../include/ztex-flash2.h:676: EP0BCH = 0;
5923
   1578 90 E6 8A           5922         mov     dptr,#_EP0BCH
5924
   157B E4                 5923         clr     a
5925
   157C F0                 5924         movx    @dptr,a
5926
                           5925 ;       ../../include/ztex-flash2.h:677: EP0BCL = ep0_payload_transfer;
5927
   157D 90s00r02           5926         mov     dptr,#_ep0_payload_transfer
5928
   1580 E0                 5927         movx    a,@dptr
5929
   1581 FA                 5928         mov     r2,a
5930
   1582 90 E6 8B           5929         mov     dptr,#_EP0BCL
5931
   1585 F0                 5930         movx    @dptr,a
5932
                           5931 ;       ../../include/ztex-conf.h:102: break;
5933
   1586 02s16r33           5932         ljmp    00186$
5934
                           5933 ;       ../../include/ztex-conf.h:100: case $0:
5935
   1589                    5934 00175$:
5936
                           5935 ;       ../../include/ztex-utils.h:121: AUTOPTRL1=LO(&($0));
5937
   1589 75 9Br0E           5936         mov     _AUTOPTRL1,#_flash_ec
5938
                           5937 ;       ../../include/ztex-utils.h:122: AUTOPTRH1=HI(&($0));
5939
   158C 7Ar0E              5938         mov     r2,#_flash_ec
5940
   158E 7Bs00              5939         mov     r3,#(_flash_ec >> 8)
5941
   1590 8B 9A              5940         mov     _AUTOPTRH1,r3
5942
                           5941 ;       ../../include/ztex-utils.h:123: AUTOPTRL2=LO(&($1));
5943
   1592 75 9E 40           5942         mov     _AUTOPTRL2,#0x40
5944
                           5943 ;       ../../include/ztex-utils.h:124: AUTOPTRH2=HI(&($1));
5945
   1595 75 9D E7           5944         mov     _AUTOPTRH2,#0xE7
5946
                           5945 ;       ../../include/ztex-utils.h:130: __endasm;
5947
                           5946
5948
   1598 C0 02              5947           push ar2
5949
   159A 7A 0A              5948             mov r2,#(10);
5950
   159C 12s00r49           5949           lcall _MEM_COPY1_int
5951
   159F D0 02              5950           pop ar2
5952
                           5951
5953
                           5952 ;       ../../include/ztex-flash2.h:719: EP0BCH = 0;
5954
   15A1 90 E6 8A           5953         mov     dptr,#_EP0BCH
5955
   15A4 E4                 5954         clr     a
5956
   15A5 F0                 5955         movx    @dptr,a
5957
                           5956 ;       ../../include/ztex-flash2.h:720: EP0BCL = 10;
5958
   15A6 90 E6 8B           5957         mov     dptr,#_EP0BCL
5959
   15A9 74 0A              5958         mov     a,#0x0A
5960
   15AB F0                 5959         movx    @dptr,a
5961
                           5960 ;       ../../include/ztex-conf.h:102: break;
5962
   15AC 02s16r33           5961         ljmp    00186$
5963
                           5962 ;       ../../include/ztex-conf.h:100: case $0:
5964
   15AF                    5963 00176$:
5965
                           5964 ;       ../../include/ztex-utils.h:121: AUTOPTRL1=LO(&($0));
5966
   15AF 75 9Br20           5965         mov     _AUTOPTRL1,#_fpga_checksum
5967
                           5966 ;       ../../include/ztex-utils.h:122: AUTOPTRH1=HI(&($0));
5968
   15B2 7Ar20              5967         mov     r2,#_fpga_checksum
5969
   15B4 7Bs00              5968         mov     r3,#(_fpga_checksum >> 8)
5970
   15B6 8B 9A              5969         mov     _AUTOPTRH1,r3
5971
                           5970 ;       ../../include/ztex-utils.h:123: AUTOPTRL2=LO(&($1));
5972
   15B8 75 9E 41           5971         mov     _AUTOPTRL2,#(_EP0BUF + 0x0001)
5973
                           5972 ;       ../../include/ztex-utils.h:124: AUTOPTRH2=HI(&($1));
5974
   15BB 7A 41              5973         mov     r2,#(_EP0BUF + 0x0001)
5975
   15BD 7B E7              5974         mov     r3,#((_EP0BUF + 0x0001) >> 8)
5976
   15BF 8B 9D              5975         mov     _AUTOPTRH2,r3
5977
                           5976 ;       ../../include/ztex-utils.h:130: __endasm;
5978
                           5977
5979
   15C1 C0 02              5978           push ar2
5980
   15C3 7A 07              5979             mov r2,#(7);
5981
   15C5 12s00r49           5980           lcall _MEM_COPY1_int
5982
   15C8 D0 02              5981           pop ar2
5983
                           5982
5984
                           5983 ;       ../../include/ztex-fpga7.h:144: OEE = (OEE & ~bmBIT6) | bmBIT7;
5985
   15CA AA B6              5984         mov     r2,_OEE
5986
   15CC 74 BF              5985         mov     a,#0xBF
5987
   15CE 5A                 5986         anl     a,r2
5988
   15CF F5 F0              5987         mov     b,a
5989
   15D1 74 80              5988         mov     a,#0x80
5990
   15D3 45 F0              5989         orl     a,b
5991
   15D5 F5 B6              5990         mov     _OEE,a
5992
                           5991 ;       ../../include/ztex-fpga7.h:145: if ( IOE & bmBIT6 )  {
5993
   15D7 E5 B1              5992         mov     a,_IOE
5994
   15D9 30 E6 07           5993         jnb     acc.6,00178$
5995
                           5994 ;       ../../include/ztex-fpga7.h:146: EP0BUF[0] = 0;                  // FPGA configured
5996
   15DC 90 E7 40           5995         mov     dptr,#_EP0BUF
5997
   15DF E4                 5996         clr     a
5998
   15E0 F0                 5997         movx    @dptr,a
5999
   15E1 80 09              5998         sjmp    00179$
6000
   15E3                    5999 00178$:
6001
                           6000 ;       ../../include/ztex-fpga7.h:149: EP0BUF[0] = 1;                  // FPGA unconfigured
6002
   15E3 90 E7 40           6001         mov     dptr,#_EP0BUF
6003
   15E6 74 01              6002         mov     a,#0x01
6004
   15E8 F0                 6003         movx    @dptr,a
6005
                           6004 ;       ../../include/ztex-fpga7.h:150: reset_fpga();                   // prepare FPGA for configuration
6006
   15E9 12s0ArCF           6005         lcall   _reset_fpga
6007
   15EC                    6006 00179$:
6008
                           6007 ;       ../../include/ztex-fpga7.h:153: EP0BUF[8] = 1;                  // bit order for bitstream in Flash memory: swapped
6009
   15EC 90 E7 48           6008         mov     dptr,#(_EP0BUF + 0x0008)
6010
   15EF 74 01              6009         mov     a,#0x01
6011
   15F1 F0                 6010         movx    @dptr,a
6012
                           6011 ;       ../../include/ztex-fpga7.h:155: EP0BCH = 0;
6013
   15F2 90 E6 8A           6012         mov     dptr,#_EP0BCH
6014
   15F5 E4                 6013         clr     a
6015
   15F6 F0                 6014         movx    @dptr,a
6016
                           6015 ;       ../../include/ztex-fpga7.h:156: EP0BCL = 9;
6017
   15F7 90 E6 8B           6016         mov     dptr,#_EP0BCL
6018
   15FA 74 09              6017         mov     a,#0x09
6019
   15FC F0                 6018         movx    @dptr,a
6020
                           6019 ;       ../../include/ztex-conf.h:102: break;
6021
                           6020 ;       ../../include/ztex-isr.h:297: default:
6022
   15FD 80 34              6021         sjmp    00186$
6023
   15FF                    6022 00180$:
6024
                           6023 ;       ../../include/ztex-isr.h:298: EP0CS |= 0x01;                    // set stall, unknown request
6025
   15FF 90 E6 A0           6024         mov     dptr,#_EP0CS
6026
   1602 E0                 6025         movx    a,@dptr
6027
   1603 FA                 6026         mov     r2,a
6028
   1604 44 01              6027         orl     a,#0x01
6029
   1606 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
   1607 80 2A              6031         sjmp    00186$
6033
   1609                    6032 00182$:
6034
                           6033 ;       ../../include/ztex-isr.h:305: if ( SETUPDAT[7]!=0 || SETUPDAT[6]!=0 ) {
6035
   1609 90 E6 BF           6034         mov     dptr,#(_SETUPDAT + 0x0007)
6036
   160C E0                 6035         movx    a,@dptr
6037
   160D 70 06              6036         jnz     00183$
6038
   160F 90 E6 BE           6037         mov     dptr,#(_SETUPDAT + 0x0006)
6039
   1612 E0                 6038         movx    a,@dptr
6040
   1613 60 16              6039         jz      00184$
6041
   1615                    6040 00183$:
6042
                           6041 ;       ../../include/ztex-isr.h:306: ep0_vendor_cmd_setup = 1;
6043
   1615 90s00r04           6042         mov     dptr,#_ep0_vendor_cmd_setup
6044
   1618 74 01              6043         mov     a,#0x01
6045
   161A F0                 6044         movx    @dptr,a
6046
                           6045 ;       ../../include/ztex-isr.h:307: EP0BCL = 0;
6047
   161B 90 E6 8B           6046         mov     dptr,#_EP0BCL
6048
   161E E4                 6047         clr     a
6049
   161F F0                 6048         movx    @dptr,a
6050
                           6049 ;       ../../include/ztex-isr.h:308: EXIF &= ~bmBIT4;                    // clear main USB interrupt flag
6051
   1620 53 91 EF           6050         anl     _EXIF,#0xEF
6052
                           6051 ;       ../../include/ztex-isr.h:309: USBIRQ = bmBIT0;                  // clear SUADV IRQ
6053
   1623 90 E6 5D           6052         mov     dptr,#_USBIRQ
6054
   1626 74 01              6053         mov     a,#0x01
6055
   1628 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
   1629 80 19              6056         sjmp    00187$
6058
   162B                    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
   162B 12s0Fr8F           6059         lcall   _ep0_vendor_cmd_su
6061
                           6060 ;       ../../include/ztex-isr.h:313: EP0BCL = 0;
6062
   162E 90 E6 8B           6061         mov     dptr,#_EP0BCL
6063
   1631 E4                 6062         clr     a
6064
   1632 F0                 6063         movx    @dptr,a
6065
                           6064 ;       ../../include/ztex-isr.h:315: }
6066
   1633                    6065 00186$:
6067
                           6066 ;       ../../include/ztex-isr.h:317: EXIF &= ~bmBIT4;                                    // clear main USB interrupt flag
6068
   1633 53 91 EF           6067         anl     _EXIF,#0xEF
6069
                           6068 ;       ../../include/ztex-isr.h:318: USBIRQ = bmBIT0;                                  // clear SUADV IRQ
6070
   1636 90 E6 5D           6069         mov     dptr,#_USBIRQ
6071
   1639 74 01              6070         mov     a,#0x01
6072
   163B F0                 6071         movx    @dptr,a
6073
                           6072 ;       ../../include/ztex-isr.h:319: EP0CS |= 0x80;                                    // clear the HSNAK bit
6074
   163C 90 E6 A0           6073         mov     dptr,#_EP0CS
6075
   163F E0                 6074         movx    a,@dptr
6076
   1640 FA                 6075         mov     r2,a
6077
   1641 44 80              6076         orl     a,#0x80
6078
   1643 F0                 6077         movx    @dptr,a
6079
   1644                    6078 00187$:
6080
   1644 D0 D0              6079         pop     psw
6081
   1646 D0 01              6080         pop     (0+1)
6082
   1648 D0 00              6081         pop     (0+0)
6083
   164A D0 07              6082         pop     (0+7)
6084
   164C D0 06              6083         pop     (0+6)
6085
   164E D0 05              6084         pop     (0+5)
6086
   1650 D0 04              6085         pop     (0+4)
6087
   1652 D0 03              6086         pop     (0+3)
6088
   1654 D0 02              6087         pop     (0+2)
6089
   1656 D0 83              6088         pop     dph
6090
   1658 D0 82              6089         pop     dpl
6091
   165A D0 F0              6090         pop     b
6092
   165C D0 E0              6091         pop     acc
6093
   165E D0*00              6092         pop     bits
6094
   1660 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
   1661                    6102 _SOF_ISR:
6104
   1661 C0 E0              6103         push    acc
6105
   1663 C0 82              6104         push    dpl
6106
   1665 C0 83              6105         push    dph
6107
                           6106 ;       ../../include/ztex-isr.h:327: EXIF &= ~bmBIT4;
6108
   1667 53 91 EF           6107         anl     _EXIF,#0xEF
6109
                           6108 ;       ../../include/ztex-isr.h:328: USBIRQ = bmBIT1;
6110
   166A 90 E6 5D           6109         mov     dptr,#_USBIRQ
6111
   166D 74 02              6110         mov     a,#0x02
6112
   166F F0                 6111         movx    @dptr,a
6113
   1670 D0 83              6112         pop     dph
6114
   1672 D0 82              6113         pop     dpl
6115
   1674 D0 E0              6114         pop     acc
6116
   1676 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
   1677                    6126 _SUTOK_ISR:
6128
   1677 C0 E0              6127         push    acc
6129
   1679 C0 82              6128         push    dpl
6130
   167B C0 83              6129         push    dph
6131
                           6130 ;       ../../include/ztex-isr.h:336: EXIF &= ~bmBIT4;
6132
   167D 53 91 EF           6131         anl     _EXIF,#0xEF
6133
                           6132 ;       ../../include/ztex-isr.h:337: USBIRQ = bmBIT2;
6134
   1680 90 E6 5D           6133         mov     dptr,#_USBIRQ
6135
   1683 74 04              6134         mov     a,#0x04
6136
   1685 F0                 6135         movx    @dptr,a
6137
   1686 D0 83              6136         pop     dph
6138
   1688 D0 82              6137         pop     dpl
6139
   168A D0 E0              6138         pop     acc
6140
   168C 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
   168D                    6150 _SUSP_ISR:
6152
   168D C0 E0              6151         push    acc
6153
   168F C0 82              6152         push    dpl
6154
   1691 C0 83              6153         push    dph
6155
                           6154 ;       ../../include/ztex-isr.h:345: EXIF &= ~bmBIT4;
6156
   1693 53 91 EF           6155         anl     _EXIF,#0xEF
6157
                           6156 ;       ../../include/ztex-isr.h:346: USBIRQ = bmBIT3;
6158
   1696 90 E6 5D           6157         mov     dptr,#_USBIRQ
6159
   1699 74 08              6158         mov     a,#0x08
6160
   169B F0                 6159         movx    @dptr,a
6161
   169C D0 83              6160         pop     dph
6162
   169E D0 82              6161         pop     dpl
6163
   16A0 D0 E0              6162         pop     acc
6164
   16A2 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
   16A3                    6174 _URES_ISR:
6176
   16A3 C0 E0              6175         push    acc
6177
   16A5 C0 82              6176         push    dpl
6178
   16A7 C0 83              6177         push    dph
6179
                           6178 ;       ../../include/ztex-isr.h:354: EXIF &= ~bmBIT4;
6180
   16A9 53 91 EF           6179         anl     _EXIF,#0xEF
6181
                           6180 ;       ../../include/ztex-isr.h:355: USBIRQ = bmBIT4;
6182
   16AC 90 E6 5D           6181         mov     dptr,#_USBIRQ
6183
   16AF 74 10              6182         mov     a,#0x10
6184
   16B1 F0                 6183         movx    @dptr,a
6185
   16B2 D0 83              6184         pop     dph
6186
   16B4 D0 82              6185         pop     dpl
6187
   16B6 D0 E0              6186         pop     acc
6188
   16B8 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
   16B9                    6198 _HSGRANT_ISR:
6200
   16B9 C0 E0              6199         push    acc
6201
   16BB C0 82              6200         push    dpl
6202
   16BD C0 83              6201         push    dph
6203
                           6202 ;       ../../include/ztex-isr.h:363: EXIF &= ~bmBIT4;
6204
   16BF 53 91 EF           6203         anl     _EXIF,#0xEF
6205
                           6204 ;       ../../include/ztex-isr.h:365: USBIRQ = bmBIT5;
6206
   16C2 90 E6 5D           6205         mov     dptr,#_USBIRQ
6207
   16C5 74 20              6206         mov     a,#0x20
6208
   16C7 F0                 6207         movx    @dptr,a
6209
   16C8 D0 83              6208         pop     dph
6210
   16CA D0 82              6209         pop     dpl
6211
   16CC D0 E0              6210         pop     acc
6212
   16CE 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
   16CF                    6222 _EP0ACK_ISR:
6224
   16CF C0 E0              6223         push    acc
6225
   16D1 C0 82              6224         push    dpl
6226
   16D3 C0 83              6225         push    dph
6227
                           6226 ;       ../../include/ztex-isr.h:373: EXIF &= ~bmBIT4;    // clear USB interrupt flag
6228
   16D5 53 91 EF           6227         anl     _EXIF,#0xEF
6229
                           6228 ;       ../../include/ztex-isr.h:374: USBIRQ = bmBIT6;  // clear EP0ACK IRQ
6230
   16D8 90 E6 5D           6229         mov     dptr,#_USBIRQ
6231
   16DB 74 40              6230         mov     a,#0x40
6232
   16DD F0                 6231         movx    @dptr,a
6233
   16DE D0 83              6232         pop     dph
6234
   16E0 D0 82              6233         pop     dpl
6235
   16E2 D0 E0              6234         pop     acc
6236
   16E4 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
   16E5                    6246 _EP0IN_ISR:
6248
   16E5 C0*00              6247         push    bits
6249
   16E7 C0 E0              6248         push    acc
6250
   16E9 C0 F0              6249         push    b
6251
   16EB C0 82              6250         push    dpl
6252
   16ED C0 83              6251         push    dph
6253
   16EF C0 02              6252         push    (0+2)
6254
   16F1 C0 03              6253         push    (0+3)
6255
   16F3 C0 04              6254         push    (0+4)
6256
   16F5 C0 05              6255         push    (0+5)
6257
   16F7 C0 06              6256         push    (0+6)
6258
   16F9 C0 07              6257         push    (0+7)
6259
   16FB C0 00              6258         push    (0+0)
6260
   16FD C0 01              6259         push    (0+1)
6261
   16FF C0 D0              6260         push    psw
6262
   1701 75 D0 00           6261         mov     psw,#0x00
6263
                           6262 ;       ../../include/ztex-isr.h:382: EUSB = 0;                 // block all USB interrupts
6264
   1704 C2 E8              6263         clr     _EUSB
6265
                           6264 ;       ../../include/ztex-isr.h:383: ep0_payload_update();
6266
   1706 12s0Fr62           6265         lcall   _ep0_payload_update
6267
                           6266 ;       ../../include/ztex-isr.h:384: switch ( ep0_prev_setup_request ) {
6268
   1709 90s00r03           6267         mov     dptr,#_ep0_prev_setup_request
6269
   170C E0                 6268         movx    a,@dptr
6270
   170D FA                 6269         mov     r2,a
6271
   170E BA 30 03           6270         cjne    r2,#0x30,00124$
6272
   1711 02s17r7F           6271         ljmp    00112$
6273
   1714                    6272 00124$:
6274
   1714 BA 38 02           6273         cjne    r2,#0x38,00125$
6275
   1717 80 1E              6274         sjmp    00101$
6276
   1719                    6275 00125$:
6277
   1719 BA 3A 02           6276         cjne    r2,#0x3A,00126$
6278
   171C 80 61              6277         sjmp    00112$
6279
   171E                    6278 00126$:
6280
   171E BA 3B 02           6279         cjne    r2,#0x3B,00127$
6281
   1721 80 24              6280         sjmp    00103$
6282
   1723                    6281 00127$:
6283
   1723 BA 3D 02           6282         cjne    r2,#0x3D,00128$
6284
   1726 80 57              6283         sjmp    00112$
6285
   1728                    6284 00128$:
6286
   1728 BA 40 02           6285         cjne    r2,#0x40,00129$
6287
   172B 80 52              6286         sjmp    00112$
6288
   172D                    6287 00129$:
6289
   172D BA 41 02           6288         cjne    r2,#0x41,00130$
6290
   1730 80 25              6289         sjmp    00106$
6291
   1732                    6290 00130$:
6292
                           6291 ;       ../../include/ztex-conf.h:105: case $0:
6293
   1732 BA 43 41           6292         cjne    r2,#0x43,00111$
6294
   1735 80 48              6293         sjmp    00112$
6295
   1737                    6294 00101$:
6296
                           6295 ;       ../../include/ztex-eeprom.h:222: EP0BCH = 0;
6297
   1737 90 E6 8A           6296         mov     dptr,#_EP0BCH
6298
   173A E4                 6297         clr     a
6299
   173B F0                 6298         movx    @dptr,a
6300
                           6299 ;       ../../include/ztex-eeprom.h:223: EP0BCL = eeprom_read_ep0();
6301
   173C 12s03r0F           6300         lcall   _eeprom_read_ep0
6302
   173F E5 82              6301         mov     a,dpl
6303
   1741 90 E6 8B           6302         mov     dptr,#_EP0BCL
6304
   1744 F0                 6303         movx    @dptr,a
6305
                           6304 ;       ../../include/ztex-conf.h:107: break;
6306
                           6305 ;       ../../include/ztex-conf.h:105: case $0:
6307
   1745 80 38              6306         sjmp    00112$
6308
   1747                    6307 00103$:
6309
                           6308 ;       ../../include/ztex-eeprom.h:371: EP0BCH = 0;
6310
   1747 90 E6 8A           6309         mov     dptr,#_EP0BCH
6311
   174A E4                 6310         clr     a
6312
   174B F0                 6311         movx    @dptr,a
6313
                           6312 ;       ../../include/ztex-eeprom.h:372: EP0BCL = mac_eeprom_read_ep0();
6314
   174C 12s05r55           6313         lcall   _mac_eeprom_read_ep0
6315
   174F E5 82              6314         mov     a,dpl
6316
   1751 90 E6 8B           6315         mov     dptr,#_EP0BCL
6317
   1754 F0                 6316         movx    @dptr,a
6318
                           6317 ;       ../../include/ztex-conf.h:107: break;
6319
                           6318 ;       ../../include/ztex-conf.h:105: case $0:
6320
   1755 80 28              6319         sjmp    00112$
6321
   1757                    6320 00106$:
6322
                           6321 ;       ../../include/ztex-flash2.h:679: if ( ep0_payload_transfer != 0 ) {
6323
   1757 90s00r02           6322         mov     dptr,#_ep0_payload_transfer
6324
   175A E0                 6323         movx    a,@dptr
6325
   175B FA                 6324         mov     r2,a
6326
   175C 60 08              6325         jz      00108$
6327
                           6326 ;       ../../include/ztex-flash2.h:680: flash_ec = 0;
6328
   175E 90s00r0E           6327         mov     dptr,#_flash_ec
6329
   1761 E4                 6328         clr     a
6330
   1762 F0                 6329         movx    @dptr,a
6331
                           6330 ;       ../../include/ztex-flash2.h:681: spi_read_ep0();
6332
   1763 12s0Ar89           6331         lcall   _spi_read_ep0
6333
   1766                    6332 00108$:
6334
                           6333 ;       ../../include/ztex-flash2.h:683: EP0BCH = 0;
6335
   1766 90 E6 8A           6334         mov     dptr,#_EP0BCH
6336
   1769 E4                 6335         clr     a
6337
   176A F0                 6336         movx    @dptr,a
6338
                           6337 ;       ../../include/ztex-flash2.h:684: EP0BCL = ep0_payload_transfer;
6339
   176B 90s00r02           6338         mov     dptr,#_ep0_payload_transfer
6340
   176E E0                 6339         movx    a,@dptr
6341
   176F FA                 6340         mov     r2,a
6342
   1770 90 E6 8B           6341         mov     dptr,#_EP0BCL
6343
   1773 F0                 6342         movx    @dptr,a
6344
                           6343 ;       ../../include/ztex-conf.h:107: break;
6345
                           6344 ;       ../../include/ztex-isr.h:386: default:
6346
   1774 80 09              6345         sjmp    00112$
6347
   1776                    6346 00111$:
6348
                           6347 ;       ../../include/ztex-isr.h:387: EP0BCH = 0;
6349
   1776 90 E6 8A           6348         mov     dptr,#_EP0BCH
6350
                           6349 ;       ../../include/ztex-isr.h:388: EP0BCL = 0;
6351
   1779 E4                 6350         clr     a
6352
   177A F0                 6351         movx    @dptr,a
6353
   177B 90 E6 8B           6352         mov     dptr,#_EP0BCL
6354
   177E F0                 6353         movx    @dptr,a
6355
                           6354 ;       ../../include/ztex-isr.h:389: }
6356
   177F                    6355 00112$:
6357
                           6356 ;       ../../include/ztex-isr.h:390: EXIF &= ~bmBIT4;            // clear USB interrupt flag
6358
   177F 53 91 EF           6357         anl     _EXIF,#0xEF
6359
                           6358 ;       ../../include/ztex-isr.h:391: EPIRQ = bmBIT0;           // clear EP0IN IRQ
6360
   1782 90 E6 5F           6359         mov     dptr,#_EPIRQ
6361
   1785 74 01              6360         mov     a,#0x01
6362
   1787 F0                 6361         movx    @dptr,a
6363
                           6362 ;       ../../include/ztex-isr.h:392: EUSB = 1;
6364
   1788 D2 E8              6363         setb    _EUSB
6365
   178A D0 D0              6364         pop     psw
6366
   178C D0 01              6365         pop     (0+1)
6367
   178E D0 00              6366         pop     (0+0)
6368
   1790 D0 07              6367         pop     (0+7)
6369
   1792 D0 06              6368         pop     (0+6)
6370
   1794 D0 05              6369         pop     (0+5)
6371
   1796 D0 04              6370         pop     (0+4)
6372
   1798 D0 03              6371         pop     (0+3)
6373
   179A D0 02              6372         pop     (0+2)
6374
   179C D0 83              6373         pop     dph
6375
   179E D0 82              6374         pop     dpl
6376
   17A0 D0 F0              6375         pop     b
6377
   17A2 D0 E0              6376         pop     acc
6378
   17A4 D0*00              6377         pop     bits
6379
   17A6 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
   17A7                    6387 _EP0OUT_ISR:
6389
   17A7 C0*00              6388         push    bits
6390
   17A9 C0 E0              6389         push    acc
6391
   17AB C0 F0              6390         push    b
6392
   17AD C0 82              6391         push    dpl
6393
   17AF C0 83              6392         push    dph
6394
   17B1 C0 02              6393         push    (0+2)
6395
   17B3 C0 03              6394         push    (0+3)
6396
   17B5 C0 04              6395         push    (0+4)
6397
   17B7 C0 05              6396         push    (0+5)
6398
   17B9 C0 06              6397         push    (0+6)
6399
   17BB C0 07              6398         push    (0+7)
6400
   17BD C0 00              6399         push    (0+0)
6401
   17BF C0 01              6400         push    (0+1)
6402
   17C1 C0 D0              6401         push    psw
6403
   17C3 75 D0 00           6402         mov     psw,#0x00
6404
                           6403 ;       ../../include/ztex-isr.h:400: EUSB = 0;                 // block all USB interrupts
6405
   17C6 C2 E8              6404         clr     _EUSB
6406
                           6405 ;       ../../include/ztex-isr.h:401: if ( ep0_vendor_cmd_setup ) {
6407
   17C8 90s00r04           6406         mov     dptr,#_ep0_vendor_cmd_setup
6408
   17CB E0                 6407         movx    a,@dptr
6409
   17CC FA                 6408         mov     r2,a
6410
   17CD 60 20              6409         jz      00102$
6411
                           6410 ;       ../../include/ztex-isr.h:402: ep0_vendor_cmd_setup = 0;
6412
   17CF 90s00r04           6411         mov     dptr,#_ep0_vendor_cmd_setup
6413
   17D2 E4                 6412         clr     a
6414
   17D3 F0                 6413         movx    @dptr,a
6415
                           6414 ;       ../../include/ztex-isr.h:403: ep0_payload_remaining = (SETUPDAT[7] << 8) | SETUPDAT[6];
6416
   17D4 90 E6 BF           6415         mov     dptr,#(_SETUPDAT + 0x0007)
6417
   17D7 E0                 6416         movx    a,@dptr
6418
   17D8 FB                 6417         mov     r3,a
6419
   17D9 7A 00              6418         mov     r2,#0x00
6420
   17DB 90 E6 BE           6419         mov     dptr,#(_SETUPDAT + 0x0006)
6421
   17DE E0                 6420         movx    a,@dptr
6422
   17DF FC                 6421         mov     r4,a
6423
   17E0 7D 00              6422         mov     r5,#0x00
6424
   17E2 90s00r00           6423         mov     dptr,#_ep0_payload_remaining
6425
   17E5 EC                 6424         mov     a,r4
6426
   17E6 4A                 6425         orl     a,r2
6427
   17E7 F0                 6426         movx    @dptr,a
6428
   17E8 ED                 6427         mov     a,r5
6429
   17E9 4B                 6428         orl     a,r3
6430
   17EA A3                 6429         inc     dptr
6431
   17EB F0                 6430         movx    @dptr,a
6432
                           6431 ;       ../../include/ztex-isr.h:404: ep0_vendor_cmd_su();
6433
   17EC 12s0Fr8F           6432         lcall   _ep0_vendor_cmd_su
6434
   17EF                    6433 00102$:
6435
                           6434 ;       ../../include/ztex-isr.h:407: ep0_payload_update();
6436
   17EF 12s0Fr62           6435         lcall   _ep0_payload_update
6437
                           6436 ;       ../../include/ztex-isr.h:409: switch ( ep0_prev_setup_request ) {
6438
   17F2 90s00r03           6437         mov     dptr,#_ep0_prev_setup_request
6439
   17F5 E0                 6438         movx    a,@dptr
6440
   17F6 FA                 6439         mov     r2,a
6441
   17F7 BA 31 02           6440         cjne    r2,#0x31,00127$
6442
   17FA 80 60              6441         sjmp    00112$
6443
   17FC                    6442 00127$:
6444
   17FC BA 32 02           6443         cjne    r2,#0x32,00128$
6445
   17FF 80 58              6444         sjmp    00111$
6446
   1801                    6445 00128$:
6447
   1801 BA 39 02           6446         cjne    r2,#0x39,00129$
6448
   1804 80 0A              6447         sjmp    00103$
6449
   1806                    6448 00129$:
6450
   1806 BA 3C 02           6449         cjne    r2,#0x3C,00130$
6451
   1809 80 10              6450         sjmp    00104$
6452
   180B                    6451 00130$:
6453
                           6452 ;       ../../include/ztex-conf.h:128: case $0:
6454
   180B BA 42 4E           6453         cjne    r2,#0x42,00112$
6455
   180E 80 1F              6454         sjmp    00105$
6456
   1810                    6455 00103$:
6457
                           6456 ;       ../../include/ztex-eeprom.h:240: eeprom_write_ep0(EP0BCL);
6458
   1810 90 E6 8B           6457         mov     dptr,#_EP0BCL
6459
   1813 E0                 6458         movx    a,@dptr
6460
   1814 F5 82              6459         mov     dpl,a
6461
   1816 12s03r43           6460         lcall   _eeprom_write_ep0
6462
                           6461 ;       ../../include/ztex-conf.h:130: break;
6463
                           6462 ;       ../../include/ztex-conf.h:128: case $0:
6464
   1819 80 41              6463         sjmp    00112$
6465
   181B                    6464 00104$:
6466
                           6465 ;       ../../include/ztex-eeprom.h:382: mac_eeprom_write(EP0BUF, mac_eeprom_addr, EP0BCL);
6467
   181B 90s00r05           6466         mov     dptr,#_mac_eeprom_addr
6468
   181E E0                 6467         movx    a,@dptr
6469
   181F F5*0A              6468         mov     _mac_eeprom_write_PARM_2,a
6470
   1821 90 E6 8B           6469         mov     dptr,#_EP0BCL
6471
   1824 E0                 6470         movx    a,@dptr
6472
   1825 F5*0B              6471         mov     _mac_eeprom_write_PARM_3,a
6473
   1827 90 E7 40           6472         mov     dptr,#_EP0BUF
6474
   182A 12s04r5D           6473         lcall   _mac_eeprom_write
6475
                           6474 ;       ../../include/ztex-conf.h:130: break;
6476
                           6475 ;       ../../include/ztex-conf.h:128: case $0:
6477
   182D 80 2D              6476         sjmp    00112$
6478
   182F                    6477 00105$:
6479
                           6478 ;       ../../include/ztex-flash2.h:703: if ( ep0_payload_transfer != 0 ) {
6480
   182F 90s00r02           6479         mov     dptr,#_ep0_payload_transfer
6481
   1832 E0                 6480         movx    a,@dptr
6482
   1833 FA                 6481         mov     r2,a
6483
   1834 60 26              6482         jz      00112$
6484
                           6483 ;       ../../include/ztex-flash2.h:704: flash_ec = 0;
6485
   1836 90s00r0E           6484         mov     dptr,#_flash_ec
6486
   1839 E4                 6485         clr     a
6487
   183A F0                 6486         movx    @dptr,a
6488
                           6487 ;       ../../include/ztex-flash2.h:705: spi_send_ep0();
6489
   183B 12s0ArAC           6488         lcall   _spi_send_ep0
6490
                           6489 ;       ../../include/ztex-flash2.h:706: if ( flash_ec != 0 ) {
6491
   183E 90s00r0E           6490         mov     dptr,#_flash_ec
6492
   1841 E0                 6491         movx    a,@dptr
6493
   1842 FA                 6492         mov     r2,a
6494
   1843 60 17              6493         jz      00112$
6495
                           6494 ;       ../../include/ztex-flash2.h:707: spi_deselect();
6496
   1845 12s06r89           6495         lcall   _spi_deselect
6497
                           6496 ;       ../../include/ztex-conf.h:137: EP0CS |= 0x01;   // set stall
6498
   1848 90 E6 A0           6497         mov     dptr,#_EP0CS
6499
   184B E0                 6498         movx    a,@dptr
6500
   184C FA                 6499         mov     r2,a
6501
   184D 44 01              6500         orl     a,#0x01
6502
   184F F0                 6501         movx    @dptr,a
6503
                           6502 ;       ../../include/ztex-conf.h:138: ep0_payload_remaining = 0;
6504
   1850 90s00r00           6503         mov     dptr,#_ep0_payload_remaining
6505
   1853 E4                 6504         clr     a
6506
   1854 F0                 6505         movx    @dptr,a
6507
   1855 A3                 6506         inc     dptr
6508
   1856 F0                 6507         movx    @dptr,a
6509
                           6508 ;       ../../include/ztex-conf.h:139: break;
6510
                           6509 ;       ../../include/ztex-conf.h:128: case $0:
6511
   1857 80 03              6510         sjmp    00112$
6512
   1859                    6511 00111$:
6513
                           6512 ;       ../../include/ztex-fpga7.h:211: fpga_send_ep0();
6514
   1859 12s0Cr03           6513         lcall   _fpga_send_ep0
6515
                           6514 ;       ../../include/ztex-isr.h:411: }
6516
   185C                    6515 00112$:
6517
                           6516 ;       ../../include/ztex-isr.h:413: EP0BCL = 0;
6518
   185C 90 E6 8B           6517         mov     dptr,#_EP0BCL
6519
   185F E4                 6518         clr     a
6520
   1860 F0                 6519         movx    @dptr,a
6521
                           6520 ;       ../../include/ztex-isr.h:415: EXIF &= ~bmBIT4;            // clear main USB interrupt flag
6522
   1861 53 91 EF           6521         anl     _EXIF,#0xEF
6523
                           6522 ;       ../../include/ztex-isr.h:416: EPIRQ = bmBIT1;           // clear EP0OUT IRQ
6524
   1864 90 E6 5F           6523         mov     dptr,#_EPIRQ
6525
   1867 74 02              6524         mov     a,#0x02
6526
   1869 F0                 6525         movx    @dptr,a
6527
                           6526 ;       ../../include/ztex-isr.h:417: if ( ep0_payload_remaining == 0 ) {
6528
   186A 90s00r00           6527         mov     dptr,#_ep0_payload_remaining
6529
   186D E0                 6528         movx    a,@dptr
6530
   186E FA                 6529         mov     r2,a
6531
   186F A3                 6530         inc     dptr
6532
   1870 E0                 6531         movx    a,@dptr
6533
   1871 FB                 6532         mov     r3,a
6534
   1872 4A                 6533         orl     a,r2
6535
   1873 70 08              6534         jnz     00114$
6536
                           6535 ;       ../../include/ztex-isr.h:418: EP0CS |= 0x80;            // clear the HSNAK bit
6537
   1875 90 E6 A0           6536         mov     dptr,#_EP0CS
6538
   1878 E0                 6537         movx    a,@dptr
6539
   1879 FA                 6538         mov     r2,a
6540
   187A 44 80              6539         orl     a,#0x80
6541
   187C F0                 6540         movx    @dptr,a
6542
   187D                    6541 00114$:
6543
                           6542 ;       ../../include/ztex-isr.h:420: EUSB = 1;
6544
   187D D2 E8              6543         setb    _EUSB
6545
   187F D0 D0              6544         pop     psw
6546
   1881 D0 01              6545         pop     (0+1)
6547
   1883 D0 00              6546         pop     (0+0)
6548
   1885 D0 07              6547         pop     (0+7)
6549
   1887 D0 06              6548         pop     (0+6)
6550
   1889 D0 05              6549         pop     (0+5)
6551
   188B D0 04              6550         pop     (0+4)
6552
   188D D0 03              6551         pop     (0+3)
6553
   188F D0 02              6552         pop     (0+2)
6554
   1891 D0 83              6553         pop     dph
6555
   1893 D0 82              6554         pop     dpl
6556
   1895 D0 F0              6555         pop     b
6557
   1897 D0 E0              6556         pop     acc
6558
   1899 D0*00              6557         pop     bits
6559
   189B 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
   189C                    6567 _EP1IN_ISR:
6569
   189C C0 E0              6568         push    acc
6570
   189E C0 82              6569         push    dpl
6571
   18A0 C0 83              6570         push    dph
6572
                           6571 ;       ../../include/ztex-isr.h:429: EXIF &= ~bmBIT4;
6573
   18A2 53 91 EF           6572         anl     _EXIF,#0xEF
6574
                           6573 ;       ../../include/ztex-isr.h:430: EPIRQ = bmBIT2;
6575
   18A5 90 E6 5F           6574         mov     dptr,#_EPIRQ
6576
   18A8 74 04              6575         mov     a,#0x04
6577
   18AA F0                 6576         movx    @dptr,a
6578
   18AB D0 83              6577         pop     dph
6579
   18AD D0 82              6578         pop     dpl
6580
   18AF D0 E0              6579         pop     acc
6581
   18B1 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
   18B2                    6591 _EP1OUT_ISR:
6593
   18B2 C0 E0              6592         push    acc
6594
   18B4 C0 82              6593         push    dpl
6595
   18B6 C0 83              6594         push    dph
6596
                           6595 ;       ../../include/ztex-isr.h:439: EXIF &= ~bmBIT4;
6597
   18B8 53 91 EF           6596         anl     _EXIF,#0xEF
6598
                           6597 ;       ../../include/ztex-isr.h:440: EPIRQ = bmBIT3;
6599
   18BB 90 E6 5F           6598         mov     dptr,#_EPIRQ
6600
   18BE 74 08              6599         mov     a,#0x08
6601
   18C0 F0                 6600         movx    @dptr,a
6602
   18C1 D0 83              6601         pop     dph
6603
   18C3 D0 82              6602         pop     dpl
6604
   18C5 D0 E0              6603         pop     acc
6605
   18C7 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
   18C8                    6615 _EP2_ISR:
6617
   18C8 C0 E0              6616         push    acc
6618
   18CA C0 82              6617         push    dpl
6619
   18CC C0 83              6618         push    dph
6620
                           6619 ;       ../../include/ztex-isr.h:448: EXIF &= ~bmBIT4;
6621
   18CE 53 91 EF           6620         anl     _EXIF,#0xEF
6622
                           6621 ;       ../../include/ztex-isr.h:449: EPIRQ = bmBIT4;
6623
   18D1 90 E6 5F           6622         mov     dptr,#_EPIRQ
6624
   18D4 74 10              6623         mov     a,#0x10
6625
   18D6 F0                 6624         movx    @dptr,a
6626
   18D7 D0 83              6625         pop     dph
6627
   18D9 D0 82              6626         pop     dpl
6628
   18DB D0 E0              6627         pop     acc
6629
   18DD 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
   18DE                    6639 _EP4_ISR:
6641
   18DE C0 E0              6640         push    acc
6642
   18E0 C0 82              6641         push    dpl
6643
   18E2 C0 83              6642         push    dph
6644
                           6643 ;       ../../include/ztex-isr.h:457: EXIF &= ~bmBIT4;
6645
   18E4 53 91 EF           6644         anl     _EXIF,#0xEF
6646
                           6645 ;       ../../include/ztex-isr.h:458: EPIRQ = bmBIT5;
6647
   18E7 90 E6 5F           6646         mov     dptr,#_EPIRQ
6648
   18EA 74 20              6647         mov     a,#0x20
6649
   18EC F0                 6648         movx    @dptr,a
6650
   18ED D0 83              6649         pop     dph
6651
   18EF D0 82              6650         pop     dpl
6652
   18F1 D0 E0              6651         pop     acc
6653
   18F3 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
   18F4                    6663 _EP6_ISR:
6665
   18F4 C0 E0              6664         push    acc
6666
   18F6 C0 82              6665         push    dpl
6667
   18F8 C0 83              6666         push    dph
6668
                           6667 ;       ../../include/ztex-isr.h:466: EXIF &= ~bmBIT4;
6669
   18FA 53 91 EF           6668         anl     _EXIF,#0xEF
6670
                           6669 ;       ../../include/ztex-isr.h:467: EPIRQ = bmBIT6;
6671
   18FD 90 E6 5F           6670         mov     dptr,#_EPIRQ
6672
   1900 74 40              6671         mov     a,#0x40
6673
   1902 F0                 6672         movx    @dptr,a
6674
   1903 D0 83              6673         pop     dph
6675
   1905 D0 82              6674         pop     dpl
6676
   1907 D0 E0              6675         pop     acc
6677
   1909 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
   190A                    6687 _EP8_ISR:
6689
   190A C0 E0              6688         push    acc
6690
   190C C0 82              6689         push    dpl
6691
   190E C0 83              6690         push    dph
6692
                           6691 ;       ../../include/ztex-isr.h:475: EXIF &= ~bmBIT4;
6693
   1910 53 91 EF           6692         anl     _EXIF,#0xEF
6694
                           6693 ;       ../../include/ztex-isr.h:476: EPIRQ = bmBIT7;
6695
   1913 90 E6 5F           6694         mov     dptr,#_EPIRQ
6696
   1916 74 80              6695         mov     a,#0x80
6697
   1918 F0                 6696         movx    @dptr,a
6698
   1919 D0 83              6697         pop     dph
6699
   191B D0 82              6698         pop     dpl
6700
   191D D0 E0              6699         pop     acc
6701
   191F 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
   1920                    6715 _mac_eeprom_init:
6717
                           6716 ;       ../../include/ztex.h:274: mac_eeprom_read ( buf, 0, 3 );        // read signature
6718
   1920 75*08 00           6717         mov     _mac_eeprom_read_PARM_2,#0x00
6719
   1923 75*09 03           6718         mov     _mac_eeprom_read_PARM_3,#0x03
6720
   1926 90s00r31           6719         mov     dptr,#_mac_eeprom_init_buf_1_1
6721
   1929 12s03r70           6720         lcall   _mac_eeprom_read
6722
                           6721 ;       ../../include/ztex.h:275: if ( buf[0]==67 && buf[1]==68 && buf[2]==48 ) {
6723
   192C 90s00r31           6722         mov     dptr,#_mac_eeprom_init_buf_1_1
6724
   192F E0                 6723         movx    a,@dptr
6725
   1930 FA                 6724         mov     r2,a
6726
   1931 BA 43 24           6725         cjne    r2,#0x43,00102$
6727
   1934 90s00r32           6726         mov     dptr,#(_mac_eeprom_init_buf_1_1 + 0x0001)
6728
   1937 E0                 6727         movx    a,@dptr
6729
   1938 FA                 6728         mov     r2,a
6730
   1939 BA 44 1C           6729         cjne    r2,#0x44,00102$
6731
   193C 90s00r33           6730         mov     dptr,#(_mac_eeprom_init_buf_1_1 + 0x0002)
6732
   193F E0                 6731         movx    a,@dptr
6733
   1940 FA                 6732         mov     r2,a
6734
   1941 BA 30 14           6733         cjne    r2,#0x30,00102$
6735
                           6734 ;       ../../include/ztex.h:276: config_data_valid = 1;
6736
   1944 90s00r06           6735         mov     dptr,#_config_data_valid
6737
   1947 74 01              6736         mov     a,#0x01
6738
   1949 F0                 6737         movx    @dptr,a
6739
                           6738 ;       ../../include/ztex.h:277: mac_eeprom_read ( SN_STRING, 16, 10 );        // copy serial number
6740
   194A 75*08 10           6739         mov     _mac_eeprom_read_PARM_2,#0x10
6741
   194D 75*09 0A           6740         mov     _mac_eeprom_read_PARM_3,#0x0A
6742
   1950 90 00 8A           6741         mov     dptr,#_SN_STRING
6743
   1953 12s03r70           6742         lcall   _mac_eeprom_read
6744
   1956 80 05              6743         sjmp    00123$
6745
   1958                    6744 00102$:
6746
                           6745 ;       ../../include/ztex.h:280: config_data_valid = 0;
6747
   1958 90s00r06           6746         mov     dptr,#_config_data_valid
6748
   195B E4                 6747         clr     a
6749
   195C F0                 6748         movx    @dptr,a
6750
                           6749 ;       ../../include/ztex.h:283: for (b=0; b<10; b++) {        // abort if SN != "0000000000"
6751
   195D                    6750 00123$:
6752
   195D 7A 00              6751         mov     r2,#0x00
6753
   195F                    6752 00108$:
6754
   195F BA 0A 00           6753         cjne    r2,#0x0A,00133$
6755
   1962                    6754 00133$:
6756
   1962 50 12              6755         jnc     00111$
6757
                           6756 ;       ../../include/ztex.h:284: if ( SN_STRING[b] != 48 )
6758
   1964 EA                 6757         mov     a,r2
6759
   1965 24 8A              6758         add     a,#_SN_STRING
6760
   1967 F5 82              6759         mov     dpl,a
6761
   1969 E4                 6760         clr     a
6762
   196A 34 00              6761         addc    a,#(_SN_STRING >> 8)
6763
   196C F5 83              6762         mov     dph,a
6764
   196E E0                 6763         movx    a,@dptr
6765
   196F FB                 6764         mov     r3,a
6766
                           6765 ;       ../../include/ztex.h:285: return;
6767
   1970 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
   1973 0A                 6768         inc     r2
6770
   1974 80 E9              6769         sjmp    00108$
6771
   1976                    6770 00111$:
6772
                           6771 ;       ../../include/ztex.h:288: mac_eeprom_read ( buf, 0xfb, 5 );     // read the last 5 MAC digits
6773
   1976 75*08 FB           6772         mov     _mac_eeprom_read_PARM_2,#0xFB
6774
   1979 75*09 05           6773         mov     _mac_eeprom_read_PARM_3,#0x05
6775
   197C 90s00r31           6774         mov     dptr,#_mac_eeprom_init_buf_1_1
6776
   197F 12s03r70           6775         lcall   _mac_eeprom_read
6777
                           6776 ;       ../../include/ztex.h:290: c=0;
6778
   1982 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
   1984 7B 00              6779         mov     r3,#0x00
6781
   1986                    6780 00112$:
6782
   1986 BB 05 00           6781         cjne    r3,#0x05,00136$
6783
   1989                    6782 00136$:
6784
   1989 50 3C              6783         jnc     00116$
6785
                           6784 ;       ../../include/ztex.h:292: d = buf[b];
6786
   198B EB                 6785         mov     a,r3
6787
   198C 24r31              6786         add     a,#_mac_eeprom_init_buf_1_1
6788
   198E F5 82              6787         mov     dpl,a
6789
   1990 E4                 6788         clr     a
6790
   1991 34s00              6789         addc    a,#(_mac_eeprom_init_buf_1_1 >> 8)
6791
   1993 F5 83              6790         mov     dph,a
6792
   1995 E0                 6791         movx    a,@dptr
6793
   1996 FC                 6792         mov     r4,a
6794
                           6793 ;       ../../include/ztex.h:293: SN_STRING[c] = hexdigits[d>>4];
6795
   1997 EA                 6794         mov     a,r2
6796
   1998 24 8A              6795         add     a,#_SN_STRING
6797
   199A FD                 6796         mov     r5,a
6798
   199B E4                 6797         clr     a
6799
   199C 34 00              6798         addc    a,#(_SN_STRING >> 8)
6800
   199E FE                 6799         mov     r6,a
6801
   199F EC                 6800         mov     a,r4
6802
   19A0 C4                 6801         swap    a
6803
   19A1 54 0F              6802         anl     a,#0x0f
6804
   19A3 90s00r99           6803         mov     dptr,#_mac_eeprom_init_hexdigits_1_1
6805
   19A6 93                 6804         movc    a,@a+dptr
6806
   19A7 FF                 6805         mov     r7,a
6807
   19A8 8D 82              6806         mov     dpl,r5
6808
   19AA 8E 83              6807         mov     dph,r6
6809
   19AC F0                 6808         movx    @dptr,a
6810
                           6809 ;       ../../include/ztex.h:294: c++;
6811
   19AD 0A                 6810         inc     r2
6812
                           6811 ;       ../../include/ztex.h:295: SN_STRING[c] = hexdigits[d & 15];
6813
   19AE EA                 6812         mov     a,r2
6814
   19AF 24 8A              6813         add     a,#_SN_STRING
6815
   19B1 FD                 6814         mov     r5,a
6816
   19B2 E4                 6815         clr     a
6817
   19B3 34 00              6816         addc    a,#(_SN_STRING >> 8)
6818
   19B5 FE                 6817         mov     r6,a
6819
   19B6 74 0F              6818         mov     a,#0x0F
6820
   19B8 5C                 6819         anl     a,r4
6821
   19B9 90s00r99           6820         mov     dptr,#_mac_eeprom_init_hexdigits_1_1
6822
   19BC 93                 6821         movc    a,@a+dptr
6823
   19BD FC                 6822         mov     r4,a
6824
   19BE 8D 82              6823         mov     dpl,r5
6825
   19C0 8E 83              6824         mov     dph,r6
6826
   19C2 F0                 6825         movx    @dptr,a
6827
                           6826 ;       ../../include/ztex.h:296: c++;
6828
   19C3 0A                 6827         inc     r2
6829
                           6828 ;       ../../include/ztex.h:291: for (b=0; b<5; b++) { // convert to MAC to SN string
6830
   19C4 0B                 6829         inc     r3
6831
   19C5 80 BF              6830         sjmp    00112$
6832
   19C7                    6831 00116$:
6833
   19C7 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
   19C8                    6841 _init_USB:
6843
                           6842 ;       ../../include/ztex.h:347: USBCS |= bmBIT3;
6844
   19C8 90 E6 80           6843         mov     dptr,#_USBCS
6845
   19CB E0                 6844         movx    a,@dptr
6846
   19CC 44 08              6845         orl     a,#0x08
6847
   19CE F0                 6846         movx    @dptr,a
6848
                           6847 ;       ../../include/ztex.h:349: CPUCS = bmBIT4 | bmBIT1;
6849
   19CF 90 E6 00           6848         mov     dptr,#_CPUCS
6850
   19D2 74 12              6849         mov     a,#0x12
6851
   19D4 F0                 6850         movx    @dptr,a
6852
                           6851 ;       ../../include/ztex.h:350: wait(2);
6853
   19D5 90 00 02           6852         mov     dptr,#0x0002
6854
   19D8 12s00r01           6853         lcall   _wait
6855
                           6854 ;       ../../include/ztex.h:351: CKCON &= ~7;
6856
   19DB 53 8E F8           6855         anl     _CKCON,#0xF8
6857
                           6856 ;       ../../include/ztex.h:380: init_fpga();
6858
   19DE 12s0ArEE           6857         lcall   _init_fpga
6859
                           6858 ;       ../../include/ztex-fpga-flash2.h:105: fpga_flash_result= 255;
6860
   19E1 90s00r26           6859         mov     dptr,#_fpga_flash_result
6861
   19E4 74 FF              6860         mov     a,#0xFF
6862
   19E6 F0                 6861         movx    @dptr,a
6863
                           6862 ;       ../../include/ztex.h:385: EA = 0;
6864
   19E7 C2 AF              6863         clr     _EA
6865
                           6864 ;       ../../include/ztex.h:386: EUSB = 0;
6866
   19E9 C2 E8              6865         clr     _EUSB
6867
                           6866 ;       ../../include/ezintavecs.h:123: INT8VEC_USB.op=0x02;
6868
   19EB 90 00 43           6867         mov     dptr,#_INT8VEC_USB
6869
   19EE 74 02              6868         mov     a,#0x02
6870
   19F0 F0                 6869         movx    @dptr,a
6871
                           6870 ;       ../../include/ezintavecs.h:124: INT8VEC_USB.addrH = 0x01;
6872
   19F1 90 00 44           6871         mov     dptr,#(_INT8VEC_USB + 0x0001)
6873
   19F4 74 01              6872         mov     a,#0x01
6874
   19F6 F0                 6873         movx    @dptr,a
6875
                           6874 ;       ../../include/ezintavecs.h:125: INT8VEC_USB.addrL = 0xb8;
6876
   19F7 90 00 45           6875         mov     dptr,#(_INT8VEC_USB + 0x0002)
6877
   19FA 74 B8              6876         mov     a,#0xB8
6878
   19FC F0                 6877         movx    @dptr,a
6879
                           6878 ;       ../../include/ezintavecs.h:126: INTSETUP |= 8;
6880
   19FD 90 E6 68           6879         mov     dptr,#_INTSETUP
6881
   1A00 E0                 6880         movx    a,@dptr
6882
   1A01 44 08              6881         orl     a,#0x08
6883
   1A03 F0                 6882         movx    @dptr,a
6884
                           6883 ;       ../../include/ezintavecs.h:115: $0.op=0x02;
6885
   1A04 90 01 00           6884         mov     dptr,#_INTVEC_SUDAV
6886
   1A07 74 02              6885         mov     a,#0x02
6887
   1A09 F0                 6886         movx    @dptr,a
6888
                           6887 ;       ../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
6889
   1A0A 7Ar28              6888         mov     r2,#_SUDAV_ISR
6890
   1A0C 7Bs10              6889         mov     r3,#(_SUDAV_ISR >> 8)
6891
   1A0E 8B 04              6890         mov     ar4,r3
6892
   1A10 90 01 01           6891         mov     dptr,#(_INTVEC_SUDAV + 0x0001)
6893
   1A13 EC                 6892         mov     a,r4
6894
   1A14 F0                 6893         movx    @dptr,a
6895
                           6894 ;       ../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
6896
   1A15 90 01 02           6895         mov     dptr,#(_INTVEC_SUDAV + 0x0002)
6897
   1A18 EA                 6896         mov     a,r2
6898
   1A19 F0                 6897         movx    @dptr,a
6899
                           6898 ;       ../../include/ezintavecs.h:115: $0.op=0x02;
6900
   1A1A 90 01 04           6899         mov     dptr,#_INTVEC_SOF
6901
   1A1D 74 02              6900         mov     a,#0x02
6902
   1A1F F0                 6901         movx    @dptr,a
6903
                           6902 ;       ../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
6904
   1A20 7Ar61              6903         mov     r2,#_SOF_ISR
6905
   1A22 7Bs16              6904         mov     r3,#(_SOF_ISR >> 8)
6906
   1A24 8B 04              6905         mov     ar4,r3
6907
   1A26 90 01 05           6906         mov     dptr,#(_INTVEC_SOF + 0x0001)
6908
   1A29 EC                 6907         mov     a,r4
6909
   1A2A F0                 6908         movx    @dptr,a
6910
                           6909 ;       ../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
6911
   1A2B 90 01 06           6910         mov     dptr,#(_INTVEC_SOF + 0x0002)
6912
   1A2E EA                 6911         mov     a,r2
6913
   1A2F F0                 6912         movx    @dptr,a
6914
                           6913 ;       ../../include/ezintavecs.h:115: $0.op=0x02;
6915
   1A30 90 01 08           6914         mov     dptr,#_INTVEC_SUTOK
6916
   1A33 74 02              6915         mov     a,#0x02
6917
   1A35 F0                 6916         movx    @dptr,a
6918
                           6917 ;       ../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
6919
   1A36 7Ar77              6918         mov     r2,#_SUTOK_ISR
6920
   1A38 7Bs16              6919         mov     r3,#(_SUTOK_ISR >> 8)
6921
   1A3A 8B 04              6920         mov     ar4,r3
6922
   1A3C 90 01 09           6921         mov     dptr,#(_INTVEC_SUTOK + 0x0001)
6923
   1A3F EC                 6922         mov     a,r4
6924
   1A40 F0                 6923         movx    @dptr,a
6925
                           6924 ;       ../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
6926
   1A41 90 01 0A           6925         mov     dptr,#(_INTVEC_SUTOK + 0x0002)
6927
   1A44 EA                 6926         mov     a,r2
6928
   1A45 F0                 6927         movx    @dptr,a
6929
                           6928 ;       ../../include/ezintavecs.h:115: $0.op=0x02;
6930
   1A46 90 01 0C           6929         mov     dptr,#_INTVEC_SUSPEND
6931
   1A49 74 02              6930         mov     a,#0x02
6932
   1A4B F0                 6931         movx    @dptr,a
6933
                           6932 ;       ../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
6934
   1A4C 7Ar8D              6933         mov     r2,#_SUSP_ISR
6935
   1A4E 7Bs16              6934         mov     r3,#(_SUSP_ISR >> 8)
6936
   1A50 8B 04              6935         mov     ar4,r3
6937
   1A52 90 01 0D           6936         mov     dptr,#(_INTVEC_SUSPEND + 0x0001)
6938
   1A55 EC                 6937         mov     a,r4
6939
   1A56 F0                 6938         movx    @dptr,a
6940
                           6939 ;       ../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
6941
   1A57 90 01 0E           6940         mov     dptr,#(_INTVEC_SUSPEND + 0x0002)
6942
   1A5A EA                 6941         mov     a,r2
6943
   1A5B F0                 6942         movx    @dptr,a
6944
                           6943 ;       ../../include/ezintavecs.h:115: $0.op=0x02;
6945
   1A5C 90 01 10           6944         mov     dptr,#_INTVEC_USBRESET
6946
   1A5F 74 02              6945         mov     a,#0x02
6947
   1A61 F0                 6946         movx    @dptr,a
6948
                           6947 ;       ../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
6949
   1A62 7ArA3              6948         mov     r2,#_URES_ISR
6950
   1A64 7Bs16              6949         mov     r3,#(_URES_ISR >> 8)
6951
   1A66 8B 04              6950         mov     ar4,r3
6952
   1A68 90 01 11           6951         mov     dptr,#(_INTVEC_USBRESET + 0x0001)
6953
   1A6B EC                 6952         mov     a,r4
6954
   1A6C F0                 6953         movx    @dptr,a
6955
                           6954 ;       ../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
6956
   1A6D 90 01 12           6955         mov     dptr,#(_INTVEC_USBRESET + 0x0002)
6957
   1A70 EA                 6956         mov     a,r2
6958
   1A71 F0                 6957         movx    @dptr,a
6959
                           6958 ;       ../../include/ezintavecs.h:115: $0.op=0x02;
6960
   1A72 90 01 14           6959         mov     dptr,#_INTVEC_HISPEED
6961
   1A75 74 02              6960         mov     a,#0x02
6962
   1A77 F0                 6961         movx    @dptr,a
6963
                           6962 ;       ../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
6964
   1A78 7ArB9              6963         mov     r2,#_HSGRANT_ISR
6965
   1A7A 7Bs16              6964         mov     r3,#(_HSGRANT_ISR >> 8)
6966
   1A7C 8B 04              6965         mov     ar4,r3
6967
   1A7E 90 01 15           6966         mov     dptr,#(_INTVEC_HISPEED + 0x0001)
6968
   1A81 EC                 6967         mov     a,r4
6969
   1A82 F0                 6968         movx    @dptr,a
6970
                           6969 ;       ../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
6971
   1A83 90 01 16           6970         mov     dptr,#(_INTVEC_HISPEED + 0x0002)
6972
   1A86 EA                 6971         mov     a,r2
6973
   1A87 F0                 6972         movx    @dptr,a
6974
                           6973 ;       ../../include/ezintavecs.h:115: $0.op=0x02;
6975
   1A88 90 01 18           6974         mov     dptr,#_INTVEC_EP0ACK
6976
   1A8B 74 02              6975         mov     a,#0x02
6977
   1A8D F0                 6976         movx    @dptr,a
6978
                           6977 ;       ../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
6979
   1A8E 7ArCF              6978         mov     r2,#_EP0ACK_ISR
6980
   1A90 7Bs16              6979         mov     r3,#(_EP0ACK_ISR >> 8)
6981
   1A92 8B 04              6980         mov     ar4,r3
6982
   1A94 90 01 19           6981         mov     dptr,#(_INTVEC_EP0ACK + 0x0001)
6983
   1A97 EC                 6982         mov     a,r4
6984
   1A98 F0                 6983         movx    @dptr,a
6985
                           6984 ;       ../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
6986
   1A99 90 01 1A           6985         mov     dptr,#(_INTVEC_EP0ACK + 0x0002)
6987
   1A9C EA                 6986         mov     a,r2
6988
   1A9D F0                 6987         movx    @dptr,a
6989
                           6988 ;       ../../include/ezintavecs.h:115: $0.op=0x02;
6990
   1A9E 90 01 20           6989         mov     dptr,#_INTVEC_EP0IN
6991
   1AA1 74 02              6990         mov     a,#0x02
6992
   1AA3 F0                 6991         movx    @dptr,a
6993
                           6992 ;       ../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
6994
   1AA4 7ArE5              6993         mov     r2,#_EP0IN_ISR
6995
   1AA6 7Bs16              6994         mov     r3,#(_EP0IN_ISR >> 8)
6996
   1AA8 8B 04              6995         mov     ar4,r3
6997
   1AAA 90 01 21           6996         mov     dptr,#(_INTVEC_EP0IN + 0x0001)
6998
   1AAD EC                 6997         mov     a,r4
6999
   1AAE F0                 6998         movx    @dptr,a
7000
                           6999 ;       ../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
7001
   1AAF 90 01 22           7000         mov     dptr,#(_INTVEC_EP0IN + 0x0002)
7002
   1AB2 EA                 7001         mov     a,r2
7003
   1AB3 F0                 7002         movx    @dptr,a
7004
                           7003 ;       ../../include/ezintavecs.h:115: $0.op=0x02;
7005
   1AB4 90 01 24           7004         mov     dptr,#_INTVEC_EP0OUT
7006
   1AB7 74 02              7005         mov     a,#0x02
7007
   1AB9 F0                 7006         movx    @dptr,a
7008
                           7007 ;       ../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
7009
   1ABA 7ArA7              7008         mov     r2,#_EP0OUT_ISR
7010
   1ABC 7Bs17              7009         mov     r3,#(_EP0OUT_ISR >> 8)
7011
   1ABE 8B 04              7010         mov     ar4,r3
7012
   1AC0 90 01 25           7011         mov     dptr,#(_INTVEC_EP0OUT + 0x0001)
7013
   1AC3 EC                 7012         mov     a,r4
7014
   1AC4 F0                 7013         movx    @dptr,a
7015
                           7014 ;       ../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
7016
   1AC5 90 01 26           7015         mov     dptr,#(_INTVEC_EP0OUT + 0x0002)
7017
   1AC8 EA                 7016         mov     a,r2
7018
   1AC9 F0                 7017         movx    @dptr,a
7019
                           7018 ;       ../../include/ezintavecs.h:115: $0.op=0x02;
7020
   1ACA 90 01 28           7019         mov     dptr,#_INTVEC_EP1IN
7021
   1ACD 74 02              7020         mov     a,#0x02
7022
   1ACF F0                 7021         movx    @dptr,a
7023
                           7022 ;       ../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
7024
   1AD0 7Ar9C              7023         mov     r2,#_EP1IN_ISR
7025
   1AD2 7Bs18              7024         mov     r3,#(_EP1IN_ISR >> 8)
7026
   1AD4 8B 04              7025         mov     ar4,r3
7027
   1AD6 90 01 29           7026         mov     dptr,#(_INTVEC_EP1IN + 0x0001)
7028
   1AD9 EC                 7027         mov     a,r4
7029
   1ADA F0                 7028         movx    @dptr,a
7030
                           7029 ;       ../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
7031
   1ADB 90 01 2A           7030         mov     dptr,#(_INTVEC_EP1IN + 0x0002)
7032
   1ADE EA                 7031         mov     a,r2
7033
   1ADF F0                 7032         movx    @dptr,a
7034
                           7033 ;       ../../include/ezintavecs.h:115: $0.op=0x02;
7035
   1AE0 90 01 2C           7034         mov     dptr,#_INTVEC_EP1OUT
7036
   1AE3 74 02              7035         mov     a,#0x02
7037
   1AE5 F0                 7036         movx    @dptr,a
7038
                           7037 ;       ../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
7039
   1AE6 7ArB2              7038         mov     r2,#_EP1OUT_ISR
7040
   1AE8 7Bs18              7039         mov     r3,#(_EP1OUT_ISR >> 8)
7041
   1AEA 8B 04              7040         mov     ar4,r3
7042
   1AEC 90 01 2D           7041         mov     dptr,#(_INTVEC_EP1OUT + 0x0001)
7043
   1AEF EC                 7042         mov     a,r4
7044
   1AF0 F0                 7043         movx    @dptr,a
7045
                           7044 ;       ../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
7046
   1AF1 90 01 2E           7045         mov     dptr,#(_INTVEC_EP1OUT + 0x0002)
7047
   1AF4 EA                 7046         mov     a,r2
7048
   1AF5 F0                 7047         movx    @dptr,a
7049
                           7048 ;       ../../include/ezintavecs.h:115: $0.op=0x02;
7050
   1AF6 90 01 30           7049         mov     dptr,#_INTVEC_EP2
7051
   1AF9 74 02              7050         mov     a,#0x02
7052
   1AFB F0                 7051         movx    @dptr,a
7053
                           7052 ;       ../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
7054
   1AFC 7ArC8              7053         mov     r2,#_EP2_ISR
7055
   1AFE 7Bs18              7054         mov     r3,#(_EP2_ISR >> 8)
7056
   1B00 8B 04              7055         mov     ar4,r3
7057
   1B02 90 01 31           7056         mov     dptr,#(_INTVEC_EP2 + 0x0001)
7058
   1B05 EC                 7057         mov     a,r4
7059
   1B06 F0                 7058         movx    @dptr,a
7060
                           7059 ;       ../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
7061
   1B07 90 01 32           7060         mov     dptr,#(_INTVEC_EP2 + 0x0002)
7062
   1B0A EA                 7061         mov     a,r2
7063
   1B0B F0                 7062         movx    @dptr,a
7064
                           7063 ;       ../../include/ezintavecs.h:115: $0.op=0x02;
7065
   1B0C 90 01 34           7064         mov     dptr,#_INTVEC_EP4
7066
   1B0F 74 02              7065         mov     a,#0x02
7067
   1B11 F0                 7066         movx    @dptr,a
7068
                           7067 ;       ../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
7069
   1B12 7ArDE              7068         mov     r2,#_EP4_ISR
7070
   1B14 7Bs18              7069         mov     r3,#(_EP4_ISR >> 8)
7071
   1B16 8B 04              7070         mov     ar4,r3
7072
   1B18 90 01 35           7071         mov     dptr,#(_INTVEC_EP4 + 0x0001)
7073
   1B1B EC                 7072         mov     a,r4
7074
   1B1C F0                 7073         movx    @dptr,a
7075
                           7074 ;       ../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
7076
   1B1D 90 01 36           7075         mov     dptr,#(_INTVEC_EP4 + 0x0002)
7077
   1B20 EA                 7076         mov     a,r2
7078
   1B21 F0                 7077         movx    @dptr,a
7079
                           7078 ;       ../../include/ezintavecs.h:115: $0.op=0x02;
7080
   1B22 90 01 38           7079         mov     dptr,#_INTVEC_EP6
7081
   1B25 74 02              7080         mov     a,#0x02
7082
   1B27 F0                 7081         movx    @dptr,a
7083
                           7082 ;       ../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
7084
   1B28 7ArF4              7083         mov     r2,#_EP6_ISR
7085
   1B2A 7Bs18              7084         mov     r3,#(_EP6_ISR >> 8)
7086
   1B2C 8B 04              7085         mov     ar4,r3
7087
   1B2E 90 01 39           7086         mov     dptr,#(_INTVEC_EP6 + 0x0001)
7088
   1B31 EC                 7087         mov     a,r4
7089
   1B32 F0                 7088         movx    @dptr,a
7090
                           7089 ;       ../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
7091
   1B33 90 01 3A           7090         mov     dptr,#(_INTVEC_EP6 + 0x0002)
7092
   1B36 EA                 7091         mov     a,r2
7093
   1B37 F0                 7092         movx    @dptr,a
7094
                           7093 ;       ../../include/ezintavecs.h:115: $0.op=0x02;
7095
   1B38 90 01 3C           7094         mov     dptr,#_INTVEC_EP8
7096
   1B3B 74 02              7095         mov     a,#0x02
7097
   1B3D F0                 7096         movx    @dptr,a
7098
                           7097 ;       ../../include/ezintavecs.h:116: $0.addrH=((unsigned short)(&$1)) >> 8;
7099
   1B3E 7Ar0A              7098         mov     r2,#_EP8_ISR
7100
   1B40 7Bs19              7099         mov     r3,#(_EP8_ISR >> 8)
7101
   1B42 8B 04              7100         mov     ar4,r3
7102
   1B44 90 01 3D           7101         mov     dptr,#(_INTVEC_EP8 + 0x0001)
7103
   1B47 EC                 7102         mov     a,r4
7104
   1B48 F0                 7103         movx    @dptr,a
7105
                           7104 ;       ../../include/ezintavecs.h:117: $0.addrL=(unsigned short)(&$1);
7106
   1B49 90 01 3E           7105         mov     dptr,#(_INTVEC_EP8 + 0x0002)
7107
   1B4C EA                 7106         mov     a,r2
7108
   1B4D F0                 7107         movx    @dptr,a
7109
                           7108 ;       ../../include/ztex.h:407: EXIF &= ~bmBIT4;
7110
   1B4E 53 91 EF           7109         anl     _EXIF,#0xEF
7111
                           7110 ;       ../../include/ztex.h:408: USBIRQ = 0x7f;
7112
   1B51 90 E6 5D           7111         mov     dptr,#_USBIRQ
7113
   1B54 74 7F              7112         mov     a,#0x7F
7114
   1B56 F0                 7113         movx    @dptr,a
7115
                           7114 ;       ../../include/ztex.h:409: USBIE |= 0x7f;
7116
   1B57 90 E6 5C           7115         mov     dptr,#_USBIE
7117
   1B5A E0                 7116         movx    a,@dptr
7118
   1B5B FA                 7117         mov     r2,a
7119
   1B5C 44 7F              7118         orl     a,#0x7F
7120
   1B5E F0                 7119         movx    @dptr,a
7121
                           7120 ;       ../../include/ztex.h:410: EPIRQ = 0xff;
7122
   1B5F 90 E6 5F           7121         mov     dptr,#_EPIRQ
7123
   1B62 74 FF              7122         mov     a,#0xFF
7124
   1B64 F0                 7123         movx    @dptr,a
7125
                           7124 ;       ../../include/ztex.h:411: EPIE = 0xff;
7126
   1B65 90 E6 5E           7125         mov     dptr,#_EPIE
7127
   1B68 74 FF              7126         mov     a,#0xFF
7128
   1B6A F0                 7127         movx    @dptr,a
7129
                           7128 ;       ../../include/ztex.h:413: EUSB = 1;
7130
   1B6B D2 E8              7129         setb    _EUSB
7131
                           7130 ;       ../../include/ztex.h:414: EA = 1;
7132
   1B6D D2 AF              7131         setb    _EA
7133
                           7132 ;       ../../include/ztex.h:333: EP$0CFG = bmBIT7 | bmBIT5;
7134
   1B6F 90 E6 11           7133         mov     dptr,#_EP1INCFG
7135
   1B72 74 A0              7134         mov     a,#0xA0
7136
   1B74 F0                 7135         movx    @dptr,a
7137
                           7136 ;       ../../include/ezregs.h:46: __endasm;
7138
                           7137
7139
   1B75 00                 7138          nop
7140
   1B76 00                 7139          nop
7141
   1B77 00                 7140          nop
7142
   1B78 00                 7141          nop
7143
                           7142
7144
                           7143 ;       ../../include/ztex.h:333: EP$0CFG = bmBIT7 | bmBIT5;
7145
   1B79 90 E6 10           7144         mov     dptr,#_EP1OUTCFG
7146
   1B7C 74 A0              7145         mov     a,#0xA0
7147
   1B7E F0                 7146         movx    @dptr,a
7148
                           7147 ;       ../../include/ezregs.h:46: __endasm;
7149
                           7148
7150
   1B7F 00                 7149          nop
7151
   1B80 00                 7150          nop
7152
   1B81 00                 7151          nop
7153
   1B82 00                 7152          nop
7154
                           7153
7155
                           7154 ;       ../../include/ztex.h:328: ;
7156
   1B83 90 E6 12           7155         mov     dptr,#_EP2CFG
7157
   1B86 E4                 7156         clr     a
7158
   1B87 F0                 7157         movx    @dptr,a
7159
                           7158 ;       ../../include/ezregs.h:46: __endasm;
7160
                           7159
7161
   1B88 00                 7160          nop
7162
   1B89 00                 7161          nop
7163
   1B8A 00                 7162          nop
7164
   1B8B 00                 7163          nop
7165
                           7164
7166
                           7165 ;       ../../include/ztex.h:328: ;
7167
   1B8C 90 E6 13           7166         mov     dptr,#_EP4CFG
7168
   1B8F E4                 7167         clr     a
7169
   1B90 F0                 7168         movx    @dptr,a
7170
                           7169 ;       ../../include/ezregs.h:46: __endasm;
7171
                           7170
7172
   1B91 00                 7171          nop
7173
   1B92 00                 7172          nop
7174
   1B93 00                 7173          nop
7175
   1B94 00                 7174          nop
7176
                           7175
7177
                           7176 ;       ../../include/ztex.h:328: ;
7178
   1B95 90 E6 14           7177         mov     dptr,#_EP6CFG
7179
   1B98 E4                 7178         clr     a
7180
   1B99 F0                 7179         movx    @dptr,a
7181
                           7180 ;       ../../include/ezregs.h:46: __endasm;
7182
                           7181
7183
   1B9A 00                 7182          nop
7184
   1B9B 00                 7183          nop
7185
   1B9C 00                 7184          nop
7186
   1B9D 00                 7185          nop
7187
                           7186
7188
                           7187 ;       ../../include/ztex.h:328: ;
7189
   1B9E 90 E6 15           7188         mov     dptr,#_EP8CFG
7190
   1BA1 E4                 7189         clr     a
7191
   1BA2 F0                 7190         movx    @dptr,a
7192
                           7191 ;       ../../include/ezregs.h:46: __endasm;
7193
                           7192
7194
   1BA3 00                 7193          nop
7195
   1BA4 00                 7194          nop
7196
   1BA5 00                 7195          nop
7197
   1BA6 00                 7196          nop
7198
                           7197
7199
                           7198 ;       ../../include/ztex.h:434: flash_init();
7200
   1BA7 12s09rC9           7199         lcall   _flash_init
7201
                           7200 ;       ../../include/ztex.h:435: if ( !flash_enabled ) {
7202
   1BAA 90s00r07           7201         mov     dptr,#_flash_enabled
7203
   1BAD E0                 7202         movx    a,@dptr
7204
   1BAE FA                 7203         mov     r2,a
7205
   1BAF 70 09              7204         jnz     00102$
7206
                           7205 ;       ../../include/ztex.h:436: wait(250);
7207
   1BB1 90 00 FA           7206         mov     dptr,#0x00FA
7208
   1BB4 12s00r01           7207         lcall   _wait
7209
                           7208 ;       ../../include/ztex.h:437: flash_init();
7210
   1BB7 12s09rC9           7209         lcall   _flash_init
7211
   1BBA                    7210 00102$:
7212
                           7211 ;       ../../include/ztex.h:447: mac_eeprom_init();
7213
   1BBA 12s19r20           7212         lcall   _mac_eeprom_init
7214
                           7213 ;       ../../include/ztex.h:453: fpga_configure_from_flash_init();
7215
   1BBD 12s0DrEC           7214         lcall   _fpga_configure_from_flash_init
7216
                           7215 ;       ../../include/ztex.h:456: USBCS |= bmBIT7 | bmBIT1;
7217
   1BC0 90 E6 80           7216         mov     dptr,#_USBCS
7218
   1BC3 E0                 7217         movx    a,@dptr
7219
   1BC4 44 82              7218         orl     a,#0x82
7220
   1BC6 F0                 7219         movx    @dptr,a
7221
                           7220 ;       ../../include/ztex.h:457: wait(10);
7222
   1BC7 90 00 0A           7221         mov     dptr,#0x000A
7223
   1BCA 12s00r01           7222         lcall   _wait
7224
                           7223 ;       ../../include/ztex.h:459: USBCS &= ~bmBIT3;
7225
   1BCD 90 E6 80           7224         mov     dptr,#_USBCS
7226
   1BD0 E0                 7225         movx    a,@dptr
7227
   1BD1 54 F7              7226         anl     a,#0xF7
7228
   1BD3 F0                 7227         movx    @dptr,a
7229
   1BD4 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
   1BD5                    7237 _main:
7239
                           7238 ;       default.c:37: init_USB();
7240
   1BD5 12s19rC8           7239         lcall   _init_USB
7241
                           7240 ;       default.c:39: if ( config_data_valid ) {
7242
   1BD8 90s00r06           7241         mov     dptr,#_config_data_valid
7243
   1BDB E0                 7242         movx    a,@dptr
7244
   1BDC FA                 7243         mov     r2,a
7245
   1BDD 60 0C              7244         jz      00104$
7246
                           7245 ;       default.c:40: mac_eeprom_read ( (__xdata BYTE*) (productString+20), 6, 1 );
7247
   1BDF 90s00r21           7246         mov     dptr,#(_productString + 0x0014)
7248
   1BE2 75*08 06           7247         mov     _mac_eeprom_read_PARM_2,#0x06
7249
   1BE5 75*09 01           7248         mov     _mac_eeprom_read_PARM_3,#0x01
7250
   1BE8 12s03r70           7249         lcall   _mac_eeprom_read
7251
                           7250 ;       default.c:43: while (1) {       }                                       //  twiddle thumbs
7252
   1BEB                    7251 00104$:
7253
   1BEB 80 FE              7252         sjmp    00104$
7254
                           7253         .area CSEG    (CODE)
7255
                           7254         .area CONST   (CODE)
7256
   0000                    7255 _fpga_flash_boot_id:
7257
   0000 5A                 7256         .db #0x5A
7258
   0001 54                 7257         .db #0x54
7259
   0002 45                 7258         .db #0x45
7260
   0003 58                 7259         .db #0x58
7261
   0004 42                 7260         .db #0x42
7262
   0005 53                 7261         .db #0x53
7263
   0006 01                 7262         .db #0x01
7264
   0007 01                 7263         .db #0x01
7265
   0008                    7264 _manufacturerString:
7266
   0008 5A 54 45 58        7265         .ascii "ZTEX"
7267
   000C 00                 7266         .db 0x00
7268
   000D                    7267 _productString:
7269
   000D 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
   002C 00                 7269         .db 0x00
7276
   002D                    7270 _configurationString:
7277
   002D 64 65 66 61 75 6C  7271         .ascii "default"
7278
        74
7279
   0034 00                 7272         .db 0x00
7280
   0035                    7273 _DeviceDescriptor:
7281
   0035 12                 7274         .db #0x12
7282
   0036 01                 7275         .db #0x01
7283
   0037 00                 7276         .db #0x00
7284
   0038 02                 7277         .db #0x02
7285
   0039 FF                 7278         .db #0xFF
7286
   003A FF                 7279         .db #0xFF
7287
   003B FF                 7280         .db #0xFF
7288
   003C 40                 7281         .db #0x40
7289
   003D 1A                 7282         .db #0x1A
7290
   003E 22                 7283         .db #0x22
7291
   003F 00                 7284         .db #0x00
7292
   0040 01                 7285         .db #0x01
7293
   0041 00                 7286         .db #0x00
7294
   0042 00                 7287         .db #0x00
7295
   0043 01                 7288         .db #0x01
7296
   0044 02                 7289         .db #0x02
7297
   0045 03                 7290         .db #0x03
7298
   0046 01                 7291         .db #0x01
7299
   0047                    7292 _DeviceQualifierDescriptor:
7300
   0047 0A                 7293         .db #0x0A
7301
   0048 06                 7294         .db #0x06
7302
   0049 00                 7295         .db #0x00
7303
   004A 02                 7296         .db #0x02
7304
   004B FF                 7297         .db #0xFF
7305
   004C FF                 7298         .db #0xFF
7306
   004D FF                 7299         .db #0xFF
7307
   004E 40                 7300         .db #0x40
7308
   004F 01                 7301         .db #0x01
7309
   0050 00                 7302         .db #0x00
7310
   0051                    7303 _HighSpeedConfigDescriptor:
7311
   0051 09                 7304         .db #0x09
7312
   0052 02                 7305         .db #0x02
7313
   0053 20                 7306         .db #0x20
7314
   0054 00                 7307         .db #0x00
7315
   0055 01                 7308         .db #0x01
7316
   0056 01                 7309         .db #0x01
7317
   0057 04                 7310         .db #0x04
7318
   0058 C0                 7311         .db #0xC0
7319
   0059 32                 7312         .db #0x32
7320
   005A 09                 7313         .db #0x09
7321
   005B 04                 7314         .db #0x04
7322
   005C 00                 7315         .db #0x00
7323
   005D 00                 7316         .db #0x00
7324
   005E 02                 7317         .db #0x02
7325
   005F FF                 7318         .db #0xFF
7326
   0060 FF                 7319         .db #0xFF
7327
   0061 FF                 7320         .db #0xFF
7328
   0062 00                 7321         .db #0x00
7329
   0063 07                 7322         .db #0x07
7330
   0064 05                 7323         .db #0x05
7331
   0065 81                 7324         .db #0x81
7332
   0066 02                 7325         .db #0x02
7333
   0067 00                 7326         .db #0x00
7334
   0068 02                 7327         .db #0x02
7335
   0069 00                 7328         .db #0x00
7336
   006A 07                 7329         .db #0x07
7337
   006B 05                 7330         .db #0x05
7338
   006C 01                 7331         .db #0x01
7339
   006D 02                 7332         .db #0x02
7340
   006E 00                 7333         .db #0x00
7341
   006F 02                 7334         .db #0x02
7342
   0070 00                 7335         .db #0x00
7343
   0071                    7336 _HighSpeedConfigDescriptor_PadByte:
7344
   0071 00                 7337         .db #0x00
7345
   0072 00                 7338         .db 0x00
7346
   0073                    7339 _FullSpeedConfigDescriptor:
7347
   0073 09                 7340         .db #0x09
7348
   0074 02                 7341         .db #0x02
7349
   0075 20                 7342         .db #0x20
7350
   0076 00                 7343         .db #0x00
7351
   0077 01                 7344         .db #0x01
7352
   0078 01                 7345         .db #0x01
7353
   0079 04                 7346         .db #0x04
7354
   007A C0                 7347         .db #0xC0
7355
   007B 32                 7348         .db #0x32
7356
   007C 09                 7349         .db #0x09
7357
   007D 04                 7350         .db #0x04
7358
   007E 00                 7351         .db #0x00
7359
   007F 00                 7352         .db #0x00
7360
   0080 02                 7353         .db #0x02
7361
   0081 FF                 7354         .db #0xFF
7362
   0082 FF                 7355         .db #0xFF
7363
   0083 FF                 7356         .db #0xFF
7364
   0084 00                 7357         .db #0x00
7365
   0085 07                 7358         .db #0x07
7366
   0086 05                 7359         .db #0x05
7367
   0087 81                 7360         .db #0x81
7368
   0088 02                 7361         .db #0x02
7369
   0089 40                 7362         .db #0x40
7370
   008A 00                 7363         .db #0x00
7371
   008B 00                 7364         .db #0x00
7372
   008C 07                 7365         .db #0x07
7373
   008D 05                 7366         .db #0x05
7374
   008E 01                 7367         .db #0x01
7375
   008F 02                 7368         .db #0x02
7376
   0090 40                 7369         .db #0x40
7377
   0091 00                 7370         .db #0x00
7378
   0092 00                 7371         .db #0x00
7379
   0093                    7372 _FullSpeedConfigDescriptor_PadByte:
7380
   0093 00                 7373         .db #0x00
7381
   0094 00                 7374         .db 0x00
7382
   0095                    7375 _EmptyStringDescriptor:
7383
   0095 04                 7376         .db #0x04
7384
   0096 03                 7377         .db #0x03
7385
   0097 00                 7378         .db #0x00
7386
   0098 00                 7379         .db #0x00
7387
   0099                    7380 _mac_eeprom_init_hexdigits_1_1:
7388
   0099 30 31 32 33 34 35  7381         .ascii "0123456789ABCDEF"
7389
        36 37 38 39 41 42
7390
        43 44 45 46
7391
   00A9 00                 7382         .db 0x00
7392
                           7383         .area XINIT   (CODE)
7393
   0000                    7384 __xinit__ep0_payload_remaining:
7394
   0000 00 00              7385         .byte #0x00,#0x00
7395
   0002                    7386 __xinit__ep0_payload_transfer:
7396
   0002 00                 7387         .db #0x00
7397
   0003                    7388 __xinit__ep0_prev_setup_request:
7398
   0003 FF                 7389         .db #0xFF
7399
   0004                    7390 __xinit__ep0_vendor_cmd_setup:
7400
   0004 00                 7391         .db #0x00
7401
   0005                    7392 __xinit__ISOFRAME_COUNTER:
7402
   0005 00 00              7393         .byte #0x00,#0x00
7403
   0007 00 00              7394         .byte #0x00,#0x00
7404
   0009 00 00              7395         .byte #0x00,#0x00
7405
   000B 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.