📄 fw.ls1
字号:
0031 750000 F 412 MOV pStringDscr+01H,#LOW (StringDscr)
413 ;
414 ; if ((WORD)&DeviceDscr & 0xe000)
415 ; SOURCE LINE # 136
0034 EE 416 MOV A,R6
0035 54E0 417 ANL A,#0E0H
0037 7003 418 JNZ $ + 5H
0039 020000 F 419 LJMP ?C0001
420 ; {
421 ; SOURCE LINE # 137
422 ; IntDescrAddr = INTERNAL_DSCR_ADDR;
423 ; SOURCE LINE # 138
003C 750000 F 424 MOV IntDescrAddr?044,#00H
003F 750080 F 425 MOV IntDescrAddr?044+01H,#080H
426 ; ExtDescrAddr = (WORD)&DeviceDscr;
427 ; SOURCE LINE # 139
0042 8E00 F 428 MOV ExtDescrAddr?045,R6
0044 8F00 F 429 MOV ExtDescrAddr?045+01H,R7
430 ; DevDescrLen = (WORD)&UserDscr - (WORD)&DeviceDscr + 2;
431 ; SOURCE LINE # 140
0046 C3 432 CLR C
0047 7400 F 433 MOV A,#LOW (UserDscr)
0049 9F 434 SUBB A,R7
004A FF 435 MOV R7,A
004B 7400 F 436 MOV A,#HIGH (UserDscr)
004D 9E 437 SUBB A,R6
004E CF 438 XCH A,R7
004F 2402 439 ADD A,#02H
0051 CF 440 XCH A,R7
0052 3400 441 ADDC A,#00H
0054 FE 442 MOV R6,A
0055 E4 443 CLR A
0056 8F00 F 444 MOV DevDescrLen?042+03H,R7
0058 8E00 F 445 MOV DevDescrLen?042+02H,R6
005A F500 F 446 MOV DevDescrLen?042+01H,A
005C F500 F 447 MOV DevDescrLen?042,A
448 ; for (i = 0; i < DevDescrLen; i++)
449 ; SOURCE LINE # 141
005E F500 F 450 MOV i?040+03H,A
0060 F500 F 451 MOV i?040+02H,A
0062 F500 F 452 MOV i?040+01H,A
0064 F500 F 453 MOV i?040,A
0066 454 ?C0002:
A51 MACRO ASSEMBLER FW 12/29/2005 11:19:53 PAGE 8
0066 AF00 F 455 MOV R7,DevDescrLen?042+03H
0068 AE00 F 456 MOV R6,DevDescrLen?042+02H
006A AD00 F 457 MOV R5,DevDescrLen?042+01H
006C AC00 F 458 MOV R4,DevDescrLen?042
006E AB00 F 459 MOV R3,i?040+03H
0070 AA00 F 460 MOV R2,i?040+02H
0072 A900 F 461 MOV R1,i?040+01H
0074 A800 F 462 MOV R0,i?040
0076 C3 463 CLR C
0077 120000 F 464 LCALL ?C?ULCMP
007A 5026 465 JNC ?C0003
466 ; *((BYTE xdata *)IntDescrAddr+i) = 0xCD;
467 ; SOURCE LINE # 142
007C E500 F 468 MOV A,IntDescrAddr?044+01H
007E 2500 F 469 ADD A,i?040+03H
0080 F582 470 MOV DPL,A
0082 E500 F 471 MOV A,IntDescrAddr?044
0084 3500 F 472 ADDC A,i?040+02H
0086 F583 473 MOV DPH,A
0088 74CD 474 MOV A,#0CDH
008A F0 475 MOVX @DPTR,A
008B E500 F 476 MOV A,i?040+03H
008D 2401 477 ADD A,#01H
008F F500 F 478 MOV i?040+03H,A
0091 E4 479 CLR A
0092 3500 F 480 ADDC A,i?040+02H
0094 F500 F 481 MOV i?040+02H,A
0096 E4 482 CLR A
0097 3500 F 483 ADDC A,i?040+01H
0099 F500 F 484 MOV i?040+01H,A
009B E4 485 CLR A
009C 3500 F 486 ADDC A,i?040
009E F500 F 487 MOV i?040,A
00A0 80C4 488 SJMP ?C0002
00A2 489 ?C0003:
490 ; for (i = 0; i < DevDescrLen; i++)
491 ; SOURCE LINE # 143
00A2 E4 492 CLR A
00A3 F500 F 493 MOV i?040+03H,A
00A5 F500 F 494 MOV i?040+02H,A
00A7 F500 F 495 MOV i?040+01H,A
00A9 F500 F 496 MOV i?040,A
00AB 497 ?C0005:
00AB AF00 F 498 MOV R7,DevDescrLen?042+03H
00AD AE00 F 499 MOV R6,DevDescrLen?042+02H
00AF AD00 F 500 MOV R5,DevDescrLen?042+01H
00B1 AC00 F 501 MOV R4,DevDescrLen?042
00B3 AB00 F 502 MOV R3,i?040+03H
00B5 AA00 F 503 MOV R2,i?040+02H
00B7 A900 F 504 MOV R1,i?040+01H
00B9 A800 F 505 MOV R0,i?040
00BB C3 506 CLR C
00BC 120000 F 507 LCALL ?C?ULCMP
00BF 5033 508 JNC ?C0006
509 ; *((BYTE xdata *)IntDescrAddr+i) = *((BYTE xdata *)ExtDescrAddr+i);
510 ; SOURCE LINE # 144
00C1 E500 F 511 MOV A,ExtDescrAddr?045+01H
00C3 2500 F 512 ADD A,i?040+03H
00C5 F582 513 MOV DPL,A
00C7 E500 F 514 MOV A,ExtDescrAddr?045
00C9 3500 F 515 ADDC A,i?040+02H
00CB F583 516 MOV DPH,A
00CD E0 517 MOVX A,@DPTR
00CE FF 518 MOV R7,A
00CF E500 F 519 MOV A,IntDescrAddr?044+01H
00D1 2500 F 520 ADD A,i?040+03H
A51 MACRO ASSEMBLER FW 12/29/2005 11:19:53 PAGE 9
00D3 F582 521 MOV DPL,A
00D5 E500 F 522 MOV A,IntDescrAddr?044
00D7 3500 F 523 ADDC A,i?040+02H
00D9 F583 524 MOV DPH,A
00DB EF 525 MOV A,R7
00DC F0 526 MOVX @DPTR,A
00DD E500 F 527 MOV A,i?040+03H
00DF 2401 528 ADD A,#01H
00E1 F500 F 529 MOV i?040+03H,A
00E3 E4 530 CLR A
00E4 3500 F 531 ADDC A,i?040+02H
00E6 F500 F 532 MOV i?040+02H,A
00E8 E4 533 CLR A
00E9 3500 F 534 ADDC A,i?040+01H
00EB F500 F 535 MOV i?040+01H,A
00ED E4 536 CLR A
00EE 3500 F 537 ADDC A,i?040
00F0 F500 F 538 MOV i?040,A
00F2 80B7 539 SJMP ?C0005
00F4 540 ?C0006:
541 ; pDeviceDscr = IntDescrAddr;
542 ; SOURCE LINE # 145
00F4 850000 F 543 MOV pDeviceDscr,IntDescrAddr?044
00F7 850000 F 544 MOV pDeviceDscr+01H,IntDescrAddr?044+01H
545 ; offset = (WORD)&DeviceDscr - INTERNAL_DSCR_ADDR;
546 ; SOURCE LINE # 146
00FA 7400 F 547 MOV A,#LOW (DeviceDscr)
00FC 2480 548 ADD A,#080H
00FE FF 549 MOV R7,A
00FF 7400 F 550 MOV A,#HIGH (DeviceDscr)
0101 34FF 551 ADDC A,#0FFH
0103 FE 552 MOV R6,A
553 ;---- Variable 'offset?041' assigned to Register 'R6/R7' ----
554 ; pDeviceQualDscr -= offset;
555 ; SOURCE LINE # 147
0104 C3 556 CLR C
0105 E500 F 557 MOV A,pDeviceQualDscr+01H
0107 9F 558 SUBB A,R7
0108 F500 F 559 MOV pDeviceQualDscr+01H,A
010A E500 F 560 MOV A,pDeviceQualDscr
010C 9E 561 SUBB A,R6
010D F500 F 562 MOV pDeviceQualDscr,A
563 ; pConfigDscr -= offset;
564 ; SOURCE LINE # 148
010F C3 565 CLR C
0110 E500 F 566 MOV A,pConfigDscr+01H
0112 9F 567 SUBB A,R7
0113 F500 F 568 MOV pConfigDscr+01H,A
0115 E500 F 569 MOV A,pConfigDscr
0117 9E 570 SUBB A,R6
0118 F500 F 571 MOV pConfigDscr,A
572 ; pOtherConfigDscr -= offset;
573 ; SOURCE LINE # 149
011A C3 574 CLR C
011B E500 F 575 MOV A,pOtherConfigDscr+01H
011D 9F 576 SUBB A,R7
011E F500 F 577 MOV pOtherConfigDscr+01H,A
0120 E500 F 578 MOV A,pOtherConfigDscr
0122 9E 579 SUBB A,R6
0123 F500 F 580 MOV pOtherConfigDscr,A
581 ; pHighSpeedConfigDscr -= offset;
582 ; SOURCE LINE # 150
0125 C3 583 CLR C
0126 E500 F 584 MOV A,pHighSpeedConfigDscr+01H
0128 9F 585 SUBB A,R7
0129 F500 F 586 MOV pHighSpeedConfigDscr+01H,A
A51 MACRO ASSEMBLER FW 12/29/2005 11:19:53 PAGE 10
012B E500 F 587 MOV A,pHighSpeedConfigDscr
012D 9E 588 SUBB A,R6
012E F500 F 589 MOV pHighSpeedConfigDscr,A
590 ; pFullSpeedConfigDscr -= offset;
591 ; SOURCE LINE # 151
0130 C3 592 CLR C
0131 E500 F 593 MOV A,pFullSpeedConfigDscr+01H
0133 9F 594 SUBB A,R7
0134 F500 F 595 MOV pFullSpeedConfigDscr+01H,A
0136 E500 F 596 MOV A,pFullSpeedConfigDscr
0138 9E 597 SUBB A,R6
0139 F500 F 598 MOV pFullSpeedConfigDscr,A
599 ; pStringDscr -= offset;
600 ; SOURCE LINE # 152
013B C3 601 CLR C
013C E500 F 602 MOV A,pStringDscr+01H
013E 9F 603 SUBB A,R7
013F F500 F 604 MOV pStringDscr+01H,A
0141 E500 F 605 MOV A,pStringDscr
0143 9E 606 SUBB A,R6
0144 F500 F 607 MOV pStringDscr,A
608 ; }
609 ; SOURCE LINE # 153
0146 610 ?C0001:
611 ;
612 ; EZUSB_IRQ_ENABLE(); // Enable USB interrupt (INT2)
613 ; SOURCE LINE # 155
0146 D2E8 614 SETB EUSB
615 ; EZUSB_ENABLE_RSMIRQ(); // Wake-up interrupt
616 ; SOURCE LINE # 156
0148 43D820 617 ORL EICON,#020H
618 ;
619 ; INTSETUP |= (bmAV2EN | bmAV4EN); // Enable INT 2 & 4 autovectoring
620 ; SOURCE LINE # 158
014B 900000 F 621 MOV DPTR,#INTSETUP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -