网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 61IC中国电子在线 >> 技术文库 >> 嵌入式 >> 正文
  公开PhilipsUDA1325的N104V20.HEX反汇编“源程序”     ★★★ 【字体:
公开PhilipsUDA1325的N104V20.HEX反汇编“源程序”
作者:61IC录入    文章来源:本站原创    点击数:    更新时间:2006-4-7    
;Disasm51 Version 3.02 Copyright (c) 2000,2003 Xi'an XXX Co. HotPower
;Binfile_name  :[N104V20.bin]
;Binfile_length:[12282...2FFAH]
;-------UDA1325 USB 定义---------------------------------------------------
S1CON   EQU   0D8H
S1STA   EQU   0D9H
S1DAT   EQU   0DAH
S1ADR   EQU   0DBH
;----------------------------------------------------------
    ORG   0000H
RESET:    LJMP  L003E
;----------------------------------------------------------
EXTI0:    LJMP  L1156;INT0外部中断
;----------------------------------------------------------
S0006:    LCALL S2A51;读USB信息
    RET
D000A:    DB    000H
;----------------------------------------------------------
TIMER0:    LJMP  L091A;T0中断
;----------------------------------------------------------
S000E:    LCALL S2A51;读USB信息
    RET
D0012:    DB    000H
;----------------------------------------------------------
EXTI1:    LJMP  L1103;INT1外部中断
D0016:    DB    032H;RETI
;----------------------------------------------------------
S0017:    LCALL S2A51;读USB信息
    RET
;----------------------------------------------------------
TIMER1:    LJMP  L0929;T1中断
D001E:    DB    032H;RETI
;-------数据区----------------------------------------------
D001F:  DB    041H,004H,01AH,0FFH
;-------数据区----------------------------------------------
D0023:  DB    040H,004H,01AH,0FFH
D0027:  DB    0A1H,004H,01AH,0FFH
D002B:  DB    0A0H,004H,01AH,0FFH
;-------数据区----------------------------------------------
D002F:    DB    070H,004H,01AH,0FFH
;----------------------------------------------------------
D0033:  LJMP  L0CB8;IIC中断
        DB    032H;RETI
;----------------------------------------------------------
;if(p3.0 == 0) acc=0 else acc=8;
S0037:    MOV   A,P3
    ANL   A,#008H;取P3.3(PSIE_MMU_INT)
    RET
D003C:    DB    022H;RET
S003D:    RET
;-------内存初始化(启动文件)--------------------------------
L003E:    MOV   R0,#07FH
L0040:    MOV   @R0,#000H
    DJNZ  R0,L0040
;----------------------------------------------------------
    MOV   DPTR,#D0EDE
    LCALL S2C67;取散转向量表
    LJMP  L2A0E;LJMP MAIN
;-------执行散转程序-------------------------------------
S004D:    MOV   R0,SP
    DEC   R0
    DEC   R0
    DEC   R0
    MOV   SP,#093H
    MOV   A,@R0;取入口参数1
    MOV   @R0,#000H
    PUSH  ACC
    INC   R0
    MOV   A,@R0;取入口参数2
    MOV   @R0,#000H
    PUSH  ACC
    INC   R0
    MOV   A,@R0;取散转地址低位
    MOV   @R0,#000H
    PUSH  ACC
    INC   R0
    MOV   A,@R0;取散转地址高位
    PUSH  ACC
    MOV   @R0,#000H
    RET;跳入散转向量
;-------发送USB命令---------------------------------
;入口参数:
;       RAM (008H) 存放USB命令
;出口参数:
;       无
;----------------------------------------------------
S006D:    MOV   009H,#001H
    LCALL S00BC;等待PSIE_MMU_READY为高电平
    MOV   A,008H;取USB发送命令
    MOV   DPTR,#4001H;COMMAND REGISTER PSIE
    MOVX  @DPTR,A;发送命令
    RET
;-------发送USB命令且写入1个字节---------------------
;入口参数:
;       RAM (008H) 存放USB命令
;       RAM (00BH) 存放USB数据
;出口参数:
;       无
;----------------------------------------------------
S007A:    LCALL S006D;COMMAND REGISTER PSIE(<@08H>)
    LCALL S00BC;等待PSIE_MMU_READY为高电平
    MOV   DPTR,#4000H;DATA REGISTER PSIE
    MOV   A,00BH;取USB数据
    MOVX  @DPTR,A
    RET
;-------发送USB命令且写入N个字节---------------------
;入口参数:
;       RAM (008H) 存放USB命令
;       RAM (00CH) 存放写入USB数据指针首址
;       RAM (00AH) 存放写入USB数据个数
;出口参数:
;       无
;----------------------------------------------------
S0087:    LCALL S006D;COMMAND REGISTER PSIE(<@08H>)
    LCALL S00BC;等待PSIE_MMU_READY为高电平
    MOV   R7,00AH;<@0AH>存放写入个数计数器
    MOV   DPTR,#4000H;DATA REGISTER PSIE
    MOV   R0,#00CH;起始地址
L0094:    LCALL S00BC;等待PSIE_MMU_READY为高电平
    MOV   A,@R0
    MOVX  @DPTR,A;送数据
    INC   R0
    DJNZ  R7,L0094;<@08H>未送完,继续
    RET
;-------发送USB命令且读1个字节-----------------------
;入口参数:
;       RAM (008H) 存放USB命令
;出口参数:
;       RAM (00BH) 读回USB数据
;       ACC        读回USB数据
;----------------------------------------------------
S009D:    ACALL S006D;COMMAND REGISTER PSIE(<@08H>)
    LCALL S00BC;等待PSIE_MMU_READY为高电平
    MOV   DPTR,#4000H;DATA REGISTER PSIE
    MOVX  A,@DPTR;READ 1 BYTE
    MOV   00BH,A;存入USB数据
    RET
;-------发送USB命令且读10个字节-----------------------
;入口参数:
;       RAM (008H) 存放USB命令
;       RAM (00CH) 存放USB数据指针首址
;出口参数:
;       RAM (00CH) 读回10字节USB数据
;       RAM (00BH) 读回最后1字节USB数据
;       ACC        读回最后1字节USB数据
;----------------------------------------------------
S00A9:    ACALL S006D;COMMAND REGISTER PSIE(<@08H>)
    ACALL S00BC;等待PSIE_MMU_READY为高电平
    MOV   R7,#00AH
    MOV   R0,#00CH
    MOV   DPTR,#4000H;DATA REGISTER PSIE
L00B4:    ACALL S00BC;等待PSIE_MMU_READY为高电平
    MOVX  A,@DPTR
    MOV   @R0,A
    INC   R0
    DJNZ  R7,L00B4
    RET
;-----------------------------------------------------
S00BC:    JNB   T0,$;等待PSIE_MMU_READY为高电平
    RET
;-----------------------------------------------------
D00C0:    DB    001H,003H
;-----------------------------------------------------
D00C2:  DB    'dio Class 1.0S'
D00D0:  DB    'W1.0-1.2LIB DEV '
D00E0:  DB    '1.0.1.11'
;-----------------------------------------------------
D00E8:    DB    002H,000H,0EDH,000H,0EDH,012H,001H,000H
D00F0:    DB    001H,000H,000H,000H,008H,071H,004H,005H
D00F8:    DB    011H,000H,001H,001H,002H,000H
D00FE:    DB    001H
D00FF:    DB    002H,001H,004H,001H,004H,0E1H,009H,003H
D0107:    DB    0A8H,009H,003H,0B1H,00AH,003H,0BAH,00CH
D010F:    DB    003H,0C4H,00DH,004H,010H,009H,003H,0DDH
D0117:    DB    00CH,003H,0E6H,00DH,004H,003H,009H,003H
D011F:    DB    0FAH,003H,004H,01DH,002H,004H,023H,004H
D0127:    DB    004H,039H,003H,004H,01DH,002H,004H,025H
D012F:    DB    004H,004H,039H,007H,004H,03DH,004H,004H
D0137:    DB    04BH,003H,004H,05BH,007H,004H,06DH,004H
D013F:    DB    004H,0ACH,002H,004H,0B4H,003H,004H,0C8H
D0147:    DB    007H,004H,0CBH,003H,004H,01DH,002H,004H
D014F:    DB    027H,004H,004H,039H,007H,004H,03DH,004H
D0157:    DB    004H,04BH,003H,004H,05EH,007H,004H,06DH
D015F:    DB    004H,004H,0ACH,002H,004H,0B6H,003H,004H
D0167:    DB    0C8H,007H,004H,0CBH,003H,004H,01DH,002H
D016F:    DB    004H,029H,004H,004H,039H,007H,004H,03DH
D0177:    DB    004H,004H,04BH,003H,004H,061H,007H,004H
D017F:    DB    06DH,004H,004H,0ACH,002H,004H,0B8H,003H
D0187:    DB    004H,0C8H,007H,004H,0CBH,003H,004H,01DH
D018F:    DB    002H,004H,02BH,004H,004H,039H,007H,004H
D0197:    DB    03DH,004H,004H,04BH,003H,004H,064H,007H
D019F:    DB    004H,06DH,004H,004H,0ACH,002H,004H,0BAH
D01A7:    DB    003H,004H,0C8H,007H,004H,0CBH,003H,004H
D01AF:    DB    01DH,002H,004H,02DH,004H,004H,039H,007H
D01B7:    DB    004H,03DH,004H,004H,04BH,003H,004H,067H
D01BF:    DB    007H,004H,06DH,004H,004H,0ACH,002H,004H
D01C7:    DB    0BCH,003H,004H,0C8H,007H,004H,0CBH,003H
D01CF:    DB    004H,01DH,002H,004H,02FH,004H,004H,039H
D01D7:    DB    007H,004H,03DH,004H,004H,04BH,003H,004H
D01DF:    DB    06AH,007H,004H,06DH,004H,004H,0ACH,002H
D01E7:    DB    004H,0BEH,003H,004H,0C8H,007H,004H,0CBH
D01EF:    DB    003H,004H,01DH,002H,004H,031H,004H,004H
D01F7:    DB    039H,007H,004H,03DH,004H,004H,04BH,003H
D01FF:    DB    004H,061H,007H,004H,074H,004H,004H,0ACH
D0207:    DB    002H,004H,0C0H,003H,004H,0C8H,007H,004H
D020F:    DB    0CBH,003H,004H,01DH,002H,004H,033H,004H
D0217:    DB    004H,039H,007H,004H,03DH,004H,004H,04BH
D021F:    DB    003H,004H,064H,007H,004H,074H,004H,004H
D0227:    DB    0ACH,002H,004H,0C2H,003H,004H,0C8H,007H
D022F:    DB    004H,0CBH,003H,004H,01DH,002H,004H,035H
D0237:    DB    004H,004H,039H,007H,004H,03DH,004H,004H
D023F:    DB    04BH,003H,004H,061H,007H,004H,07BH,004H
D0247:    DB    004H,0ACH,002H,004H,0C4H,003H,004H,0C8H
D024F:    DB    007H,004H,0CBH,003H,004H,01DH,002H,004H
D0257:    DB    037H,004H,004H,039H,007H,004H,03DH,004H
D025F:    DB    004H,04BH,003H,004H,064H,007H,004H,07BH
D0267:    DB    004H,004H,0ACH,002H,004H,0C6H,003H,004H
D026F:    DB    0C8H,007H,004H,0CBH,003H,004H,020H,002H
D0277:    DB    004H,023H,004H,004H,039H,003H,004H,020H
D027F:    DB    002H,004H,025H,004H,004H,039H,007H,004H
D0287:    DB    044H,004H,004H,04FH,003H,004H,05BH,001H
D028F:    DB    004H,082H,024H,004H,084H,004H,004H,0B0H
D0297:    DB    002H,004H,0B4H,003H,004H,0C8H,007H,004H
D029F:    DB    0D2H,003H,004H,020H,002H,004H,027H,004H
D02A7:    DB    004H,039H,007H,004H,044H,004H,004H,04FH
D02AF:    DB    003H,004H,05EH,001H,004H,082H,024H,004H
D02B7:    DB    084H,004H,004H,0B0H,002H,004H,0B6H,003H
D02BF:    DB    004H,0C8H,007H,004H,0D2H,003H,004H,020H
D02C7:    DB    002H,004H,029H,004H,004H,039H,007H,004H
D02CF:    DB    044H,004H,004H,04FH,003H,004H,061H,001H
D02D7:    DB    004H,082H,024H,004H,084H,004H,004H,0B0H
D02DF:    DB    002H,004H,0B8H,003H,004H,0C8H,007H,004H
D02E7:    DB    0D2H,003H,004H,020H,002H,004H,02BH,004H
D02EF:    DB    004H,039H,007H,004H,044H,004H,004H,04FH
D02F7:    DB    003H,004H,064H,001H,004H,082H,024H,004H
D02FF:    DB    084H,004H,004H,0B0H,002H,004H,0BAH,003H
D0307:    DB    004H,0C8H,007H,004H,0D2H,003H,004H,020H
D030F:    DB    002H,004H,02DH,004H,004H,039H,007H,004H
D0317:    DB    044H,004H,004H,04FH,003H,004H,067H,001H
D031F:    DB    004H,082H,024H,004H,084H,004H,004H,0B0H
D0327:    DB    002H,004H,0BCH,003H,004H,0C8H,007H,004H
D032F:    DB    0D2H,003H,004H,020H,002H,004H,02FH,004H
D0337:    DB    004H,039H,007H,004H,044H,004H,004H,04FH
D033F:    DB    003H,004H,06AH,001H,004H,082H,024H,004H
D0347:    DB    084H,004H,004H,0B0H,002H,004H,0BEH,003H
D034F:    DB    004H,0C8H,007H,004H,0D2H,003H,004H,020H
D0357:    DB    002H,004H,031H,004H,004H,039H,007H,004H
D035F:    DB    044H,004H,004H,057H,003H,004H,061H,001H
D0367:    DB    004H,083H,015H,004H,084H,004H,004H,0B0H
D036F:    DB    002H,004H,0C0H,003H,004H,0C8H,007H,004H
D0377:    DB    0D2H,003H,004H,020H,002H,004H,033H,004H
D037F:    DB    004H,039H,007H,004H,044H,004H,004H,057H
D0387:    DB    003H,004H,064H,001H,004H,083H,015H,004H
D038F:    DB    084H,004H,004H,0B0H,002H,004H,0C2H,003H
D0397:    DB    004H,0C8H,007H,004H,0D2H,009H,004H,0D9H
D039F:    DB    009H,004H,0E2H,009H,004H,0EBH,007H,004H
D03A7:    DB    0F4H,009H,002H,0A2H,004H
D03AC:    DB    005H,001H,000H,080H,032H,009H,004H,000H
D03B4:    DB    000H,000H,001H,001H,000H,000H,00AH,024H
D03BC:    DB    001H,000H,001H,04EH,000H,002H,001H,002H
D03C4:    DB    00CH,024H,002H,001H,001H,001H,000H,002H
D03CC:    DB    003H,000H,000H,000H,00DH,024H,006H,002H
D03D4:    DB    001H,002H,015H,000H,002H,000H,002H,000H
D03DC:    DB    000H,009H,024H,003H,003H,004H,003H,000H
D03E4:    DB    00BH,000H,00CH,024H,002H,004H,003H,006H
D03EC:    DB    000H,002H,003H,000H,000H,000H,008H,024H
D03F4:    DB    005H,006H,002H,009H,00AH,000H,009H,024H
D03FC:    DB    003H,008H,001H,001H,000H,009H,000H,00DH
D0404:    DB    024H,006H,009H,004H,002H,000H,000H,002H
D040C:    DB    000H,002H,000H,000H,00DH,024H,006H,00BH
D0414:    DB    001H,002H,015H,001H,002H,000H,002H,000H
D041C:    DB    000H,009H,004H,001H,009H,004H,002H,000H
D0424:    DB    000H,001H,001H,002H,001H,003H,001H,004H
D042C:    DB    001H,005H,001H,006H,001H,007H,001H,008H
D0434:    DB    001H,009H,001H,00AH,001H,001H,002H,000H
D043C:    DB    000H,007H,024H,001H,001H,000H,001H,000H
D0444:    DB    007H,024H,001H,008H,000H,001H,000H,00EH
D044C:    DB    024H,002H,001H,02CH,024H,002H,001H,00BH
D0454:    DB    024H,002H,001H,01DH,024H,002H,001H,001H
D045C:    DB    001H,008H,002H,001H,008H,001H,002H,010H
D0464:    DB    002H,002H,010H,001H,003H,014H,002H,003H
D046C:    DB    014H,000H,07EH,013H,000H,08AH,0BBH,000H
D0474:    DB    000H,07EH,013H,000H,05AH,046H,000H,000H
D047C:    DB    07EH,013H,000H,09AH,065H,000H,00CH,007H
D0484:    DB    0A0H
D0485:    DB    00FH,000H,088H,015H,000H,070H,017H,000H
D048D:    DB    040H,01FH,000H,011H,02BH,000H,0E0H,02EH
D0495:    DB    000H,080H,03EH,000H,022H,056H,000H,0C0H
D049D:    DB    05DH,000H,000H,07DH,000H,044H,0ACH,000H
D04A5:    DB    080H,0BBH,000H,001H,080H,0BBH,000H,009H
D04AD:    DB    005H,004H,009H,009H,005H,085H,005H,031H
D04B5:    DB    000H,062H,000H,062H,000H,0C4H,000H,093H
D04BD:    DB    000H,026H,001H,026H,000H,04CH,000H,036H
D04C5:    DB    000H,06CH,000H,001H,000H,000H,007H,025H
D04CD:    DB    001H,000H,002H,000H,002H,007H,025H,001H
D04D5:    DB    001H,000H,000H,000H,009H,004H,003H,000H
D04DD:    DB    000H,0FFH,000H,0FFH,000H,009H,004H,004H
D04E5:    DB    000H,001H,003H,000H,000H,000H
D04EB:    DB    009H,021H,000H,001H,000H,001H,022H,025H
D04F3:    DB    000H,007H,005H,083H,003H,001H,000H,001H
D04FB:    DB    025H,000H,005H,00CH,009H,001H,0A1H,001H
D0503:    DB    015H,000H,025H,001H,095H,006H,075H,001H
D050B:    DB    009H,0E9H,009H,0EAH,009H,0E2H,009H,0E5H
D0513:    DB    00AH,050H,001H,00AH,051H,001H,081H,042H
D051B:    DB    095H,001H,075H,002H,081H,001H,0C0H
D0522:    DB    004H,005H,0A3H,005H,033H,005H,037H,005H
D052A:    DB    05FH,005H,0A3H,005H,033H,005H,037H,005H
D0532:    DB    05FH,004H,003H,009H,004H,028H,003H
;-------版本说明----------------------------------------
;Philips ElectronicsDUSB Playback and Recording System
;\N104SW1.0-1.20Lb1.0-1.12ADC1.0HID1.0HUT1.0-C1
;\N104SW1.0-1.20Lb1.0-1.12ADC1.0HID1.0HUT1.0-CE
;-------------------------------------------------------
D0539:  DB    050H,000H;'p'
        DB    068H,000H;'h'
        DB    069H,000H;'i'
        DB    06CH,000H;'l'
        DB    069H,000H;'i'
        DB    070H,000H;'p'
        DB    073H,000H;'s'
        DB    020H,000H;' '
        DB    045H,000H;'E'
        DB    06CH,000H;'l'
        DB    065H,000H;'e'
        DB    063H,000H;'c'
        DB    074H,000H;'t'
        DB    072H,000H;'r'
        DB    06FH,000H;'o'
        DB    06EH,000H;'n'
        DB    069H,000H;'i'
        DB    063H,000H;'c'
        DB    073H,000H;'s'
        DB    044H,003H;'D'
        DB    055H,000H;'U'
        DB    053H,000H;'S'
        DB    042H,000H;'B'
        DB    020H,000H;' '
        DB    050H,000H;'P'
        DB    06CH,000H;'l'
        DB    061H,000H;'a'
        DB    079H,000H;'y'
        DB    062H,000H;'b'
        DB    061H,000H;'a'
        DB    063H,000H;'c'
        DB    06BH,000H;'k'
        DB    020H,000H;' '
        DB    061H,000H;'a'
        DB    06EH,000H;'n'
        DB    064H,000H;'d'
        DB    020H,000H;' '
        DB    052H,000H;'R'
        DB    065H,000H;'e'
        DB    063H,000H;'c'
        DB    06FH,000H;'o'
        DB    072H,000H;'r'
        DB    064H,000H;'d'
        DB    069H,000H;'i'
        DB    06EH,000H;'n'
        DB    067H,000H;'g'
        DB    020H,000H;' '
        DB    053H,000H;'S'
        DB    079H,000H;'y'
        DB    073H,000H;'s'
        DB    074H,000H;'t'
        DB    065H,000H;'e'
        DB    06DH,000H;'m'
        DB    05CH,003H;'\'
        DB    04EH,000H;'N'
        DB    031H,000H;'1'
        DB    030H,000H;'0'
        DB    034H,000H;'4'
        DB    053H,000H;'S'
        DB    057H,000H;'W'
        DB    031H,000H;'1'
        DB    02EH,000H;'.'
        DB    030H,000H;'0'
        DB    02DH,000H;'-'
        DB    031H,000H;'1'
        DB    02EH,000H;'.'
        DB    032H,000H;'2'
        DB    030H,000H;'0'
        DB    04CH,000H;'L'
        DB    062H,000H;'b'
        DB    031H,000H;'1'
        DB    02EH,000H;'.'
        DB    030H,000H;'0'
        DB    02DH,000H;'-'
        DB    031H,000H;'1'
        DB    02EH,000H;'.'
        DB    031H,000H;'1'
        DB    032H,000H;'2'
        DB    041H,000H;'A'
        DB    044H,000H;'D'
        DB    043H,000H;'C'
        DB    031H,000H;'1'
        DB    02EH,000H;'.'
        DB    030H,000H;'0'
        DB    048H,000H;'H'
        DB    049H,000H;'I'
        DB    044H,000H;'D'
        DB    031H,000H;'1'
        DB    02EH,000H;'.'
        DB    030H,000H;'0'
        DB    048H,000H;'H'
        DB    055H,000H;'U'
        DB    054H,000H;'T'
        DB    031H,000H;'1'
        DB    02EH,000H;'.'
        DB    030H,000H;'0'
        DB    02DH,000H;'-'
        DB    043H,000H;'C'
        DB    031H,000H;'1'
D05FF:     DB    05CH,003H;'\'
        DB    04EH,000H;'N'
        DB    031H,000H;'1'
        DB    030H,000H;'0'
          DB    034H,000H;'4'
        DB    053H,000H;'S'
        DB    057H,000H;'W'
        DB    031H,000H;'1'
          DB    02EH,000H;'.'
        DB    030H,000H;'0'
        DB    02DH,000H;'-'
        DB    031H,000H;'1'
          DB    02EH,000H;'.'
        DB    032H,000H;'2'
        DB    030H,000H;'0'
        DB    04CH,000H;'L'
          DB    062H,000H;'b'
        DB    031H,000H;'1'
        DB    02EH,000H;'.'
        DB    030H,000H;'0'
          DB    02DH,000H;'-'
        DB    031H,000H;'1'
        DB    02EH,000H;'.'
        DB    031H,000H;'1'
          DB    032H,000H;'2'
        DB    041H,000H;'A'
        DB    044H,000H;'D'
        DB    043H,000H;'C'
          DB    031H,000H;'1'
        DB    02EH,000H;'.'
        DB    030H,000H;'0'
        DB    048H,000H;'H'
          DB    049H,000H;'I'
        DB    044H,000H;'D'
        DB    031H,000H;'1'
        DB    02EH,000H;'.'
          DB    030H,000H;'0'
        DB    048H,000H;'H'
        DB    055H,000H;'U'
        DB    054H,000H;'T'
          DB    031H,000H;'1'
        DB    02EH,000H;'.'
        DB    030H,000H;'0'
        DB    02DH,000H;'-'
          DB    043H,000H;'C'
        DB    045H,000H;'E'
;-------------------------------------------------------
S065B:    MOV   03EH,#000H
    MOV   03FH,#000H
    LCALL S2534
    RET
S0665:    CLR   P1.5;GP5=0
    MOV   045H,#000H
    MOV   046H,#000H
    MOV   061H,#000H
    MOV   01AH,#001H
    LCALL L0BA3
    MOV   DPTR,#1002H;IO SELECTION REGISTER
    MOV   A,#01FH
    MOVX  @DPTR,A
    RET
S067D:    MOV   008H,#0D0H;USB命令set address/enable
    MOV   00BH,#080H;USB数据(地址0000000B)acc.7=1 enable
    LCALL S007A;发送USB命令且写入1个字节
;----------------------------------------------------------
    MOV   01EH,#000H
    ANL   016H,#0DFH
    ANL   016H,#0BFH
    ORL   016H,#081H
    MOV   A,045H
    CJNE  A,#000H,L06B4
    MOV   R0,#082H
    MOV   @R0,#000H
    DEC   R0
    MOV   @R0,#0ACH
    DEC   R0
    MOV   @R0,#044H
    LCALL S089F
    JZ    L06A9
    LJMP  L079D
L06A9:    LCALL L0742
    ANL   A,#003H
    CLR   C
    RLC   A
    MOV   DPTR,#L073E
    JMP   @A+DPTR;?
L06B4:    MOV   042H,#000H
    MOV   045H,#0FFH
    LCALL S00BC;等待PSIE_MMU_READY为高电平
    MOV   DPTR,#4001H;COMMAND REGISTER PSIE
    MOV   A,#007H;
    MOVX  @DPTR,A
    LCALL S00BC;等待PSIE_MMU_READY为高电平
    MOV   A,#0FAH
    MOVX  @DPTR,A
    LCALL S00BC;等待PSIE_MMU_READY为高电平
    MOV   DPTR,#4001H;COMMAND REGISTER PSIE
    MOV   A,#0D8H;SET ENDPOINT ENABLE
    MOVX  @DPTR,A
    LCALL S00BC;等待PSIE_MMU_READY为高电平
    MOV   DPTR,#4000H;DATA REGISTER PSIE
    MOV   A,#003H;WRITE 1 BYTE
    MOVX  @DPTR,A;acc.0=1 enable resered
    LCALL S00BC;等待PSIE_MMU_READY为高电平
    MOV   DPTR,#4001H;COMMAND REGISTER PSIE
    MOV   A,#086H
    MOVX  @DPTR,A
    LCALL S00BC;等待PSIE_MMU_READY为高电平
    MOV   DPTR,#4000H;DATA REGISTER PSIE
    MOV   A,#000H
    MOVX  @DPTR,A
    LCALL S00BC;等待PSIE_MMU_READY为高电平
    MOV   DPTR,#4000H;DATA REGISTER PSIE
    MOV   A,#000H
    MOVX  @DPTR,A
    LCALL S00BC;等待PSIE_MMU_READY为高电平
    MOV   DPTR,#4001H;COMMAND REGISTER PSIE
    MOV   A,#0F3H;SET MODE
    MOVX  @DPTR,A
    LCALL S00BC;等待PSIE_MMU_READY为高电平
    MOV   DPTR,#4000H;DATA REGISTER PSIE
    MOV   A,#01FH;
    MOVX  @DPTR,A
    ORL   016H,#081H
    MOV   R7,#000H
    LCALL S10A4
    LCALL S0B93
    MOV   A,046H
    MOV   047H,A
    LCALL S1212
    MOV   008H,#0F4H;发送USB命令Read intrrupt且读1个字节
    LCALL S009D;发送USB命令且读1个字节
    MOV   A,00BH;取USB数据
    MOV   008H,#042H;发送USB命令Set endpoint status(endpoint index=2)且写1个字节
    MOV   00BH,#001H
    LCALL S007A;发送USB命令且写入1个字节
    MOV   008H,#043H;发送USB命令Set endpoint status(endpoint index=3)且写1个字节
    MOV   00BH,#001H
    LCALL S007A;发送USB命令且写入1个字节
    MOV   008H,#044H;发送USB命令Set endpoint status(endpoint index=4)且写1个字节
    MOV   00BH,#001H
    LCALL S007A;发送USB命令且写入1个字节
    RET
L073E:    AJMP  L0751
L0740:    AJMP  L0751
L0742:    MOV   DPTR,#1002H;IO SELECTION REGISTER
    MOV   A,#01FH
    MOVX  @DPTR,A
;-----------------------------------------------
;P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0
; SDA  SCL  GP5  GP4  GP3  GP2  GP1 ADAC_ERROR
;-----------------------------------------------
    MOV   A,P1
    CPL   A
    ANL   A,#018H
    RR    A
    RR    A
    RR    A
    RET
;---------------------------------------------------
L0751:    MOV   03CH,#002H
    MOV   02CH,#090H
    MOV   02DH,#0F3H
    MOV   02EH,#000H
    MOV   036H,#018H
    MOV   032H,#00FH
    MOV   033H,#005H
    MOV   034H,#018H
    MOV   03EH,#000H
    MOV   03FH,#000H
    MOV   037H,#010H
    MOV   038H,#010H
    MOV   02BH,#060H
    MOV   027H,#08BH
    MOV   035H,#000H
    MOV   025H,#080H
    MOV   02AH,#05CH
    MOV   024H,#000H
    MOV   028H,#000H
    MOV   029H,#036H
    MOV   030H,#080H
    MOV   031H,#025H
    MOV   026H,#000H
    MOV   R0,#07FH
    MOV   A,#000H
    MOV   @R0,A;
    SJMP  L07CE
L079D:    MOV   01AH,#00AH
    LCALL L0BBF
    MOV   R0,#061H
    MOV   R1,#024H
    MOV   R2,#00AH
    LCALL S07C7
    MOV   01AH,#00AH
    LCALL L0BBF
    MOV   R0,#061H
    MOV   R2,#00AH
    LCALL S07C7
    MOV   @R1,A
    MOV   01AH,#004H
    LCALL L0BBF
    MOV   R0,#07FH
    MOV   A,061H
    MOV   @R0,A
    SJMP  L07CE
S07C7:    MOV   A,@R0
    MOV   @R1,A
    INC   R0
    INC   R1
    DJNZ  R2,S07C7
    RET
;-----------------------------------------------------------------------
L07CE:    INC   038H
    INC   037H
    MOV   A,02DH
    JNB   ACC.7,L07DB
    MOV   R0,#07FH
    MOV   @R0,#000H
L07DB:    MOV   A,026H
    MOV   DPTR,#1003H;POWER CONTROL
    MOVX  @DPTR,A
    MOV   A,031H
    ANL   A,#00FH
    CJNE  A,#000H,L07EB
    ORL   031H,#001H
L07EB:    MOV   A,031H
    ANL   A,#00FH
    CLR   C
    SUBB  A,#007H
    JC    L07FC
    MOV   A,031H
    ANL   A,#0F0H
    ORL   A,#001H
    MOV   031H,A
L07FC:    MOV   DPTR,#1001H;RESET CONTROL AND APLL SETTINGS
    MOV   A,#014H
;----------------------------------------------------------------------
;       D7D6  D5  D4  D3  D2  D1  D0   VALUE
;        00    0   1   0   1   0   0   14H
;                                  0   X
;                              0       RESET ADIF=OFF
;                          1           RESET DIGITAL I/O-INTERFACE=ON
;                      0               RESET MMU=OFF
;                  1                   RESET ADAC=ON
;              0                       X
;        00                            256*44.1KHZ
;----------------------------------------------------------------------
    MOVX  @DPTR,A
    CLR   A
    MOVX  @DPTR,A
    MOV   A,025H
    MOVX  @DPTR,A
    MOV   DPTR,#1000H;CLOCK SHOP SETTINGS
    MOV   A,024H
    MOVX  @DPTR,A
    LCALL S1718
    MOV   A,027H
    MOV   DPTR,#2000H;ASR SETTINGS
    MOVX  @DPTR,A
    MOV   A,#000H
    MOV   039H,A
    ORL   A,#080H
    LCALL S0956;audio feature registers
    MOV   A,#000H
    MOV   03AH,A
    ORL   A,#0C0H
    LCALL S0956;audio feature registers
    MOV   A,037H
    ORL   A,#000H
    LCALL S0956;audio feature registers
    MOV   A,038H
    ORL   A,#040H
    LCALL S0956;audio feature registers
    MOV   03BH,#003H
    MOV   A,02BH
    ORL   A,#060H
    MOV   02BH,A
    LCALL S0965;control registers 1
    MOV   A,02CH
    LCALL S0965;control registers 2
    LCALL S0860
;------------------------------------------------------
    MOV   A,024H
    SWAP  A;/16
    RR    A;/2->/64
;------------------------------------------------------
    ANL   A,#003H;取(024H)bit7,bit6->acc.1,acc.0
;------------------------------------------------------
    MOV   R0,A
    MOV   A,025H
    SWAP  A;/16
    ANL   A,#00CH;取(025H)bit7,bit6->acc.3,acc.2
;------------------------------------------------------
    ORL   A,R0;acc=24h.7,24h.6,25h.7,25h.6
;------------------------------------------------------
    MOV   DPTR,#D08EE;取数据DATABUFF(16个数据)
;-------数据区(16个数据)-------------------------------
;D08EE:    DB    00AH,007H,004H,001H,009H,006H,003H,000H
;D08F6:    DB    00BH,008H,005H,002H,00AH,007H,004H,001H
;------------------------------------------------------
    MOVC  A,@A+DPTR
    MOV   041H,A;保存数据
    LJMP  L06B4
S0860:    MOV   A,031H
    JNB   ACC.7,L0886
    JNB   ACC.6,L0877
    ORL   046H,#08FH
    LCALL S08D0
    LCALL S08DE
    SETB  P1.5;GP5=1
    MOV   A,#020H
    SJMP  L0898
L0877:    SETB  P1.5;GP5=1
    ORL   046H,#08FH
    LCALL S08D0
    LCALL S08DE
    MOV   A,#000H
    SJMP  L0898
L0886:    SETB  P1.5;GP5=1
    ORL   046H,#08FH
    LCALL S08D0
    LCALL S08C2
    LCALL S08DE
    MOV   A,#019H
    SJMP  L0898
L0898:    MOV   DPTR,#1002H;IO SELECTION REGISTER
    ORL   A,#080H
    MOVX  @DPTR,A
    RET
S089F:    MOV   01AH,#001H
    MOV   061H,#000H
    LCALL L0BAA
    MOV   01AH,#002H
    LCALL L0BBF
    MOV   R0,#061H
    CJNE  @R0,#0A5H,L08BE
    INC   R0
    CJNE  @R0,#0A5H,L08BE
    MOV   03CH,#0A0H
    MOV   A,03CH
    SJMP  L08BF
L08BE:    CLR   A
L08BF:    ORL   A,#000H
    RET
S08C2:    MOV   A,02DH
    ANL   A,#004H
    SWAP  A
    MOV   R0,A
    MOV   A,046H
    ANL   A,#0BFH
    ORL   A,R0
    MOV   046H,A
    RET
S08D0:    MOV   A,02DH
    ANL   A,#003H
    SWAP  A
    MOV   R0,A
    MOV   A,046H
    ANL   A,#0CFH
    ORL   A,R0
    MOV   046H,A
    RET
S08DE:    MOV   A,02DH
    SWAP  A
    XRL   A,035H
    JB    ACC.1,L08EA
    ANL   046H,#0BFH
    RET
L08EA:    ORL   046H,#040H
    RET
;-------数据区(16个数据)-------------------------------
D08EE:    DB    00AH,007H,004H,001H,009H,006H,003H,000H
D08F6:    DB    00BH,008H,005H,002H,00AH,007H,004H,001H
;-------设置定时器方式---------------------------------
S08FE:    MOV   A,TMOD
    ANL   A,#0F0H
    ORL   A,#001H
    MOV   TMOD,A
    RET
S0907:
;---------------------------------------
;40001T
        MOV   TH1,#063H;设置定时器1时间常数
    MOV   TL1,#0BFH
;---------------------------------------
    MOV   A,TMOD
    ANL   A,#00FH
    ORL   A,#010H;16位定时器
    MOV   TMOD,A
    SETB  ET1
    SETB  TR1;启动定时器1
    RET
L091A:    CLR   TR0
    PUSH  000H
    MOV   R0,#088H
    MOV   @R0,#000H
    POP   000H
    CLR   ET0;设置电平触发
    SETB  EX0;开放外部INT0中断
    RETI
;-------------------------------------------
L0929:    CLR   TR1;关闭定时器1
    MOV   TH1,#063H;设置定时器1时间常数
    MOV   TL1,#0BFH
    ORL   016H,#001H
    SETB  TR1;启动定时器1
    RETI
;-------发送时钟L_CLK及数据L3_DATA----------
S0937:    MOV   R7,#008H;发送8位数据
L0939:    CLR   WR;L3_CLK=0,拉低时钟
    NOP;延时
    NOP;延时
    NOP;延时
    RRC   A;右移一位数据,取出数据位
;-----------------------------------------------
;汇编只需1条MOV RD,C;指令即可!!!!!!!!!!
;C语言确要编写以下5条指令!!!
;-----------------------------------------------
    JNC   L0945
    SETB  RD;L3_DATA=1,发送数据1
    SJMP  L0949
L0945:    CLR   RD;L3_DATA=0,发送数据0
    SJMP  L0949
;-----------------------------------------------
L0949:    NOP;延时
    NOP;延时
    NOP;延时
    SETB  WR;L3_CLK=1,拉高时钟
    NOP;延时
    NOP;延时
    NOP;延时
    DJNZ  R7,L0939;8位数据发送未完,继续
    SETB  WR;L3_CLK=1,拉高时钟(废话!!!)
    RET
;-----------------------------------------------
S0956:    MOV   R6,A;保存寄存器地址
    CLR   T1;L3_MODE=0
;-------data_transfer_type=00b(audio feature registers)----------
    MOV   A,#014H;命令data_transfer_type=00b device address=5
    LCALL S0937;发送时钟L_CLK及数据L3_DATA
    SETB  T1;L3_MODE=1
    MOV   A,R6;恢复寄存器地址
    LCALL S0937;发送时钟L_CLK及数据L3_DATA
    RET
;-----------------------------------------------
S0965:    MOV   R6,A;保存寄存器地址
    CLR   T1;L3_MODE=0
;-------data_transfer_type=10b(control registers)----------------
    MOV   A,#016H;命令data_transfer_type=10b device address=5
    LCALL S0937;发送时钟L_CLK及数据L3_DATA
    SETB  T1;L3_MODE=1
    MOV   A,R6;恢复寄存器地址
    LCALL S0937;发送时钟L_CLK及数据L3_DATA
    RET
;-----------------------------------------------
D0974:    DB    000H
D0975:    DB    005H;5个
        DW    D0974
        DW    D0974
        DW    D0974
        DW    D0974
        DW    D04FB
D0980:    DB    005H;5个
        DW    D0974
        DW    D0974
        DW    D0974
        DW    D0974
        DW    D04FB
;---------------------------------------
D098B:    DW    S2A51;读USB信息
        DW    S0EF8
        DW    S2A51;读USB信息
        DW    S2A51;读USB信息
D0993:    DW    S2A51;读USB信息
        DW    S2A51;读USB信息
        DW    S2A51;读USB信息
        DW    S2A51;读USB信息
D099B:    DW    S2A51;读USB信息
        DW    S2A51;读USB信息
        DW    S2A51;读USB信息
        DW    S2A51;读USB信息
D09A3:    DW    S2A51;读USB信息
        DW    S2A51;读USB信息
        DW    S2A51;读USB信息
        DW    S2A51;读USB信息
D09AB:    DB    001H
        DB    004H
        DB    0A1H
        DB    001H
        DB    000H
        DB    001H
        DB    004H
        DB    000H
D09B3:    DB    0FFH
        DB    0FFH
;-----------------------------------------------------
D09B5:  DW    S133A
;-------散转向量表------------------------------------
D09B7:    DB    004H;4个散转向量表
        DW    S2874
        DW    S067D
        DW    S24AF
        DW    S251A
;-----------------------------------------------------
D09C0:    DW    S2689
        DW    S1828
        DW    S1F72
        DW    S2A51;读USB信息
;-------散转向量表------------------------------------
D09C8:    DB    001H;1个散转向量表
        DW    S2C0E
;-------散转向量表------------------------------------
D09CB:    DB    002H;2个散转向量表
        DW    S24FD
        DW    S2D38
;-----------------------------------------------------
D09D0:    DW    S181F
D09D2:    DW    S2C58
D09D4:    DW    S2C58
D09D6:    DW    S2C58
D09D8:    DW    S1FF2
D09DA:    DW    S2001
D09DC:    DW    S2010
D09DE:    DW    S20BD
D09E0:    DW    S20DE
D09E2:    DW    S2481
        DW    S235C
        DW    S2A51;读USB信息
        DW    S2593
D09EA:    DW    S2A51;读USB信息
        DW    S24D7
        DW    S23DC
        DW    S2A51;读USB信息
D09F2:    DW    S23B3
        DW    S251E
        DW    S23F2
        DW    S25EA
D09FA:    DW    S2A51;读USB信息
        DW    S2A51;读USB信息
        DW    S2A51;读USB信息
        DW    S2A51;读USB信息
D0A02:    DB    007H,006H,080H,000H,000H,000H,000H,000H
D0A0A:    DB    002H,000H,026H,04EH,006H,081H,000H,000H
D0A12:    DB    000H,004H,000H,002H,000H,00BH,05BH,006H
D0A1A:    DB    081H,000H,000H,000H,0FFH,000H,002H,000H
D0A22:    DB    028H,059H,006H,082H,000H,000H,000H,083H
D0A2A:    DB    000H,002H,000H,00BH,078H,006H,082H,000H
D0A32:    DB    000H,000H,004H,000H,002H,000H,00BH,064H
D0A3A:    DB    006H,082H,000H,000H,000H,085H,000H,002H
D0A42:    DB    000H,00BH,064H,006H,082H,000H,000H,000H
D0A4A:    DB    0FFH,000H,002H,000H,026H,051H
D0A50:    DB    002H,006H,002H,001H,000H,000H,083H,000H
D0A58:    DB    000H,000H,00BH,081H,006H,002H,001H,000H
D0A60:    DB    000H,0FFH,000H,000H,000H,023H,07CH
D0A67:    DB    002H,006H,002H,003H,000H,000H,083H,000H
D0A6F:    DB    000H,000H,00BH,08AH,006H,002H,003H,000H
D0A77:    DB    000H,0FFH,000H,000H,000H,025H,0B3H
D0A7E:    DB    001H,007H,000H,005H,0FFH,000H,000H,000H
D0A86:    DB    000H,000H,024H,0F0H
D0A8A:    DB    005H,007H,080H,006H,000H,001H,000H,000H
D0A92:    DB    0FFH,0FFH,026H,095H,007H,080H,006H,000H
D0A9A:    DB    002H,000H,000H,0FFH,0FFH,027H,054H,007H
D0AA2:    DB    080H,006H,0FFH,003H,0FFH,0FFH,0FFH,0FFH
D0AAA:    DB    027H,0F3H,007H,081H,006H,000H,021H,004H
D0AB2:    DB    000H,0FFH,0FFH,00FH,026H,007H,081H,006H
D0ABA:    DB    000H,022H,004H,000H,0FFH,0FFH,00FH,066H
D0AC2:    DB    001H,006H,080H,008H,000H,000H,000H,000H
D0ACA:    DB    001H,000H,023H,0C4H
D0ACE:    DB    002H,006H,000H,009H,000H,000H,000H,000H
D0AD6:    DB    000H,000H
D0AD8:  DW    S065B
D0ADA:  DB    006H,000H,009H,001H
D0ADE:    DB    000H,000H,000H,000H,000H
;--------------------------------------------------------
D0AE3:  DW    S2534
D0AE5:    DW    S168D
;--------------------------------------------------------
D0AE7:    DB    005H,004H,081H,00AH,000H,000H,000H,000H
D0AEF:    DB    001H,000H,024H,003H,004H,081H,00AH,000H
D0AF7:    DB    000H,001H,000H,001H,000H,024H,003H,004H
D0AFF:    DB    081H,00AH,000H,000H,002H,000H,001H,000H
D0B07:    DB    024H,003H,004H,081H,00AH,000H,000H,003H
D0B0F:    DB    000H,001H,000H,024H,003H,004H,081H,00AH
D0B17:    DB    000H,000H,004H,000H,001H,000H,024H,003H
;--------------------------------------------------------
D0B1F:    DW    S1762
D0B21:    DB    005H,004H,001H,00BH,000H,000H,000H,000H
D0B29:    DB    000H,000H,026H,000H,004H,001H,00BH,0FFH
D0B31:    DB    000H,001H,000H,000H,000H,026H,000H,004H
D0B39:    DB    001H,00BH,0FFH,000H,002H,000H,000H,000H
D0B41:    DB    026H,000H,004H,001H,00BH,000H,000H,003H
D0B49:    DB    000H,000H,000H,026H,000H,004H,001H,00BH
D0B51:    DB    000H,000H,004H,000H,000H,000H,026H,000H
D0B59:    DW    S178C
L0B5B:    MOV   A,030H
    JNB   ACC.7,L0B63
    LCALL S2859
L0B63:    RET
L0B64:    MOV   R0,#012H
    MOV   A,@R0
    MOV   R5,A
    MOV   A,075H
    XRL   A,#001H
    JNZ   L0B72
    CLR   A
    XRL   A,@R0
    JNZ   L0B77
L0B72:    MOV   06CH,#000H
    MOV   R1,#06CH
L0B77:    RET
L0B78:    MOV   A,030H
    JNB   ACC.7,L0B80
    LCALL S2651
L0B80:    RET
L0B81:    MOV   A,030H
    JNB   ACC.7,L0B89
    LCALL S237C
L0B89:    RET
L0B8A:    MOV   A,030H
    JNB   ACC.7,L0B92
    LCALL S25B3
L0B92:    RET
S0B93:    MOV   A,02DH
    JNB   ACC.6,L0BA2
    MOV   A,046H
    MOV   061H,A
    MOV   01AH,#001H
    LCALL L0BA3
L0BA2:    RET
L0BA3:    MOV   DPTR,#D0023;取数据DATABUFF
    LCALL S0C06
    RET
L0BAA:    MOV   DPTR,#D002B;取数据DATABUFF
    LCALL S0C06
    RET
L0BB1:    MOV   DPTR,#D002F;取数据DATABUFF
    LCALL S0C06
    RET
L0BB8:    MOV   DPTR,#D001F;取数据DATABUFF
    LCALL S0C06
    RET
L0BBF:    MOV   DPTR,#D0027;取数据DATABUFF
    LCALL S0C06
    RET
L0BC6:    MOV   DPTR,#D0BF2;取数据DATABUFF
    ANL   056H,#0FEH
    ORL   056H,#000H
    LCALL S0C06
    JBC   009H,L0BD7
    CLR   A
    RET
L0BD7:    MOV   A,#001H
    RET
L0BDA:    MOV   DPTR,#D0BEE;取数据DATABUFF
    ANL   056H,#0FEH
    ORL   056H,#001H
    LCALL S0C06
    JBC   009H,L0BEB
    CLR   A
    RET
L0BEB:    MOV   A,#001H
    RET
;-------数据区----------------------------------------------
D0BEE:    DB    0FEH,004H,01AH,0FFH
;-------数据区----------------------------------------------
D0BF2:  DB    0FEH,004H,01AH,0FFH
;-----------------------------------------------------------
S0BF6:    SETB  0AEH
    MOV   S1CON,#0C5H
    MOV   S1ADR,#05BH
    MOV   048H,#000H
    CLR   009H
    CLR   008H
    RET
S0C06:    JNB   008H,L0C12
    LCALL S0C4C
    JNZ   L0C47
    CLR   008H
    SJMP  L0C3B
L0C12:    MOV   04CH,DPL
    MOV   04DH,DPH
    MOV   048H,#00FH
    SETB  0DDH
    MOV   051H,#001H
    MOV   052H,#000H
L0C23:    LCALL S0C4C
    JZ    L0C3B
    MOV   A,048H
    CJNE  A,#00FH,L0C2F
    SJMP  L0C23
L0C2F:    CJNE  A,#000H,L0C47
    CLR   009H
    CLR   008H
L0C36:    MOV   A,048H
    MOV   049H,A
    RET
L0C3B:    LCALL S0D4C
    ANL   048H,#0F0H
    ORL   048H,#004H
    LCALL S0C4B
L0C47:    SETB  009H
    SJMP  L0C36
S0C4B:    RETI
S0C4C:    INC   051H
    MOV   A,051H
    JNZ   L0C56
    INC   052H
    MOV   A,052H
L0C56:    RET
S0C57:    CLR   C
    SJMP  L0C5B
S0C5A:    SETB  C
L0C5B:    MOV   DPL,04CH
    MOV   DPH,04DH
    CLR   A
    MOVC  A,@A+DPTR;?
    JNC   L0C66
    INC   DPTR
L0C66:    MOV   04CH,DPL
    MOV   04DH,DPH
    RET
S0C6D:    SJMP  L0C92
L0C6F:    JNB   003H,L0C77
    LCALL S0C5A
    SJMP  L0C8B
L0C77:    JB    000H,L0C92
    MOV   DPL,04AH
    MOV   DPH,04BH
    JB    001H,L0C8E
    MOVX  A,@DPTR
L0C84:    INC   DPTR
    MOV   04AH,DPL
    MOV   04BH,DPH
L0C8B:    MOV   055H,A
    RET
L0C8E:    CLR   A
    MOVC  A,@A+DPTR;?
    SJMP  L0C84
L0C92:    MOV   R0,04AH
    MOV   A,@R0
    MOV   055H,A
    INC   R0
    MOV   04AH,R0
    RET
;-------20H.0(MOVX) 20H.0(MOV @)------
S0C9B:    JB    000H,L0CAF;20H.0
    MOV   DPL,04AH
    MOV   DPH,04BH
    MOVX  @DPTR,A
    MOV   055H,A
    INC   DPTR
    MOV   04AH,DPL
    MOV   04BH,DPH
    RET
;--------------------------------------------------------
L0CAF:    MOV   R0,04AH
    MOV   @R0,A
    MOV   055H,A
    INC   R0
    MOV   04AH,R0
    RET
;-------IIC中断服务程序----------------------------------
L0CB8:    PUSH  PSW
    PUSH  ACC
    PUSH  DPL
    PUSH  DPH
    PUSH  000H
    PUSH  B
    MOV   A,S1STA
    CJNE  A,#0F8H,L0CCB
    SJMP  L0CD6
L0CCB:    RR    A
    RR    A
    RR    A
    MOV   B,#003H;LJMP
    MUL   AB
    MOV   DPTR,#L0CE9
    JMP   @A+DPTR;?
L0CD6:    MOV   051H,#001H
    MOV   052H,#000H
    POP   B
    POP   000H
    POP   DPH
    POP   DPL
    POP   ACC
    POP   PSW
    RETI
;--------------------------------------------------------
L0CE9:    LJMP  L0D37
L0CEC:    LJMP  L0D59
L0CEF:    LJMP  L0D69
L0CF2:    LJMP  L0D6B
L0CF5:    LJMP  L0DC5
L0CF8:    LJMP  L0DE0
L0CFB:    LJMP  L0E16
L0CFE:    LJMP  L0E2B
L0D01:    LJMP  L0E33
L0D04:    LJMP  L0E54
L0D07:    LJMP  L0E57
L0D0A:    LJMP  L0E68
L0D0D:    LJMP  L0E73
L0D10:    LJMP  L0E83
L0D13:    LJMP  L0E88
L0D16:    LJMP  L0E8D
L0D19:    LJMP  L0E92
L0D1C:    LJMP  L0E94
L0D1F:    LJMP  L0EA6
L0D22:    LJMP  L0EA8
L0D25:    LJMP  L0EAA
L0D28:    LJMP  L0EAC
L0D2B:    LJMP  L0EBC
L0D2E:    LJMP  L0EC1
L0D31:    LJMP  L0ED3
L0D34:    LJMP  L0ED8
L0D37:    ANL   048H,#0F0H
    ORL   048H,#005H
    CLR   P1.6;SCL=0
    CLR   P1.7;SDA=0
    SETB  P1.6;SCL=1
    SETB  P1.7;SDA=1
    CLR   008H
L0D47:    LCALL S0D4C
    SJMP  L0CD6
S0D4C:    CLR   A
    MOV   020H,A;清除标志
    MOV   053H,A
    MOV   054H,A
    MOV   055H,A
    MOV   S1CON,#0D5H
    RET
L0D59:    LCALL S0C5A
    CJNE  A,#0FEH,L0D61
    MOV   A,056H
L0D61:    MOV   S1DAT,A
L0D63:    MOV   S1CON,#0C1H
    LJMP  L0CD6
L0D69:    SJMP  L0D59
L0D6B:    MOV   053H,#000H
    LCALL S0C5A
    MOV   020H,A;改写标志
    LCALL S0D81
L0D76:    LCALL S0C6D
L0D79:    MOV   S1DAT,A
L0D7B:    MOV   S1CON,#0C5H
    LJMP  L0CD6
S0D81:    JBC   002H,L0DA0
    JBC   005H,L0DB0
    JB    003H,L0DBC
    LCALL S0C5A
    MOV   R0,A
    MOV   A,@R0
    DEC   A
    MOV   054H,A
    LCALL S0C5A
    MOV   04AH,A
    JB    000H,L0D9F;20H.0
    LCALL S0C5A
    MOV   04BH,A
L0D9F:    RET
L0DA0:    LCALL S0C5A
    MOV   R0,A
    MOV   A,@R0
    DEC   A
    MOV   054H,A
    MOV   A,#001H
    MOV   020H,A;bit7~bit1=0,bit0=0
    MOV   04AH,#061H
    RET
L0DB0:    MOV   054H,050H
    DEC   054H
    MOV   04AH,04EH
    MOV   04BH,04FH
    RET
L0DBC:    LCALL S0C5A
    MOV   R0,A
    MOV   A,@R0
    DEC   A
    MOV   054H,A
    RET
L0DC5:    INC   053H
    MOV   A,053H
    CJNE  A,#003H,L0DD5
    ANL   048H,#0F0H
    ORL   048H,#003H
    LJMP  L0D47
L0DD5:    MOV   R0,#04CH
    MOV   A,@R0
    JNZ   L0DDD
    INC   R0
    DEC   @R0
    DEC   R0
L0DDD:    DEC   @R0
    SJMP  L0DFD
L0DE0:    MOV   053H,#000H
    MOV   A,054H
    JZ    L0DEB
    DEC   054H
    SJMP  L0D76
L0DEB:    JBC   004H,L0E03
    LCALL S0C57
    CJNE  A,#0FFH,L0DFD
    ANL   048H,#0F0H
    ORL   048H,#000H
    LJMP  L0D47
L0DFD:    MOV   S1CON,#0E5H
    LJMP  L0CD6
L0E03:    MOV   A,#0EEH
    PUSH  ACC
    MOV   A,#00DH
    PUSH  ACC
    LCALL S0C5A
    PUSH  ACC
    LCALL S0C5A
    PUSH  ACC
    RET
L0E16:    INC   053H
    MOV   A,053H
    CJNE  A,#003H,L0E26
    ANL   048H,#0F0H
    ORL   048H,#002H
    LJMP  L0D47
L0E26:    MOV   A,055H
    LJMP  L0D79
L0E2B:    ANL   048H,#0F0H
    ORL   048H,#001H
    SJMP  L0E51
L0E33:    MOV   053H,#000H
    LCALL S0C5A
    MOV   020H,A;改写标志
    JNB   003H,L0E47
    ANL   048H,#0F0H
    ORL   048H,#006H
    LJMP  L0D47
L0E47:    LCALL S0D81
    MOV   A,054H
    JNZ   L0E51
L0E4E:    LJMP  L0D63
L0E51:    LJMP  L0D7B
L0E54:    LJMP  L0DC5
L0E57:    MOV   053H,#000H
    MOV   A,S1DAT
    LCALL S0C9B
    MOV   A,054H
    DEC   054H
    CJNE  A,#001H,L0E51
    SJMP  L0E4E
L0E68:    MOV   A,S1DAT
    LCALL S0C9B
    MOV   053H,#000H
    LJMP  L0DEB
L0E73:    MOV   048H,#010H
L0E76:    MOV   054H,#00AH
    MOV   020H,#001H;bit0=1
    SETB  008H
    MOV   04AH,#057H
    SJMP  L0E51
L0E83:    MOV   048H,#030H
    SJMP  L0E76
L0E88:    MOV   048H,#040H
    SJMP  L0E76
L0E8D:    MOV   048H,#050H
    SJMP  L0E76
L0E92:    SJMP  L0E57
L0E94:    MOV   A,S1DAT
    LCALL S0C9B
L0E99:    LCALL S0EDA
L0E9C:    ANL   048H,#0F0H
    ORL   048H,#000H
    CLR   008H
    SJMP  L0E51
L0EA6:    SJMP  L0E92
L0EA8:    SJMP  L0E94
L0EAA:    SJMP  L0E99
L0EAC:    MOV   048H,#010H
L0EAF:    MOV   054H,#00AH
    MOV   020H,#001H;bit0=1
    SETB  008H
    MOV   04AH,#061H
    SJMP  L0EC1
L0EBC:    MOV   048H,#020H
    SJMP  L0EAF
L0EC1:    LCALL S0C6D
    MOV   S1DAT,A
    MOV   A,054H
    DEC   054H
    CJNE  A,#001H,L0ED0
    LJMP  L0E4E
L0ED0:    LJMP  L0E51
L0ED3:    LCALL S0EDB
    SJMP  L0E9C
L0ED8:    SJMP  L0ED3
S0EDA:    RET
S0EDB:    RET
D0EDC:    DB    037H,003H
;-------散转向量表------------------------------------------
D0EDE:    DB    00BH;11个散转向量表
;-----------------------------------------------------------
        DW    S004D
        DW    S0BF6
        DW    S0907
        DW    S251A
        DW    S2B31;开放总中断
        DW    S0665
        DW    S067D
        DW    S2874
        DW    S24BE
        DW    S0EF5
        DW    S247C
;-----------------------------------------------------------
S0EF5:    CLR   010H
    RET
S0EF8:    MOV   A,030H
    JNB   ACC.7,L0F0A
    MOV   R0,#00EH
    MOV   DPTR,#D09AB
    MOV   R1,#0FFH
    LCALL S2C8E
    CJNE  R1,#0FFH,L0F0F
L0F0A:    LCALL S2A51;读USB信息
    SJMP  L0F25
L0F0F:    MOV   R1,#00DH
    CJNE  @R1,#000H,L0F19
    LCALL S2A51;读USB信息
    SJMP  L0F25
L0F19:    MOV   00CH,#000H
    MOV   A,00DH
    ADD   A,#002H
    MOV   00AH,A
    LCALL S2AB1
L0F25:    RET
L0F26:    MOV   A,030H
    JB    ACC.7,L0F30
    LCALL S2A51;读USB信息
    SJMP  L0F65
L0F30:    LCALL S168D
    CJNE  A,#0FFH,L0F4D
    LCALL S2D02
    LCALL S2058
    MOV   A,00EH
    MOV   R2,A
    MOV   R3,#000H
    SETB  019H
    LCALL S2D0D
    LCALL S2D1A
    MOV   R1,#000H
    SJMP  L0F65
L0F4D:    CJNE  A,#000H,L0F55
    MOV   DPTR,#D04EB
    SJMP  L0F58
L0F55:    MOV   DPTR,#D04EB
L0F58:    CLR   A
    MOVC  A,@A+DPTR
    MOV   R2,A
    MOV   R3,#000H
    LCALL S2D0D
    LCALL S2D1A
    MOV   R1,#000H
L0F65:    RET
L0F66:    MOV   A,030H
    JB    ACC.7,L0F70
    LCALL S2A51;读USB信息
    SJMP  L0FC5
L0F70:    LCALL S168D
    CJNE  A,#0FFH,L0F88
    LCALL S2D02
    LCALL S2067
    SETB  019H
    LCALL S2D0D
    LCALL S2D1A
    MOV   R1,#000H
    SJMP  L0FC5
L0F88:    LCALL S168D
    CJNE  A,#001H,L0F93
    MOV   DPTR,#D0975
    SJMP  L0F96
L0F93:    MOV   DPTR,#D0980
L0F96:    MOV   R1,DPH
    MOV   R2,DPL
    CLR   A
    MOVC  A,@A+DPTR
    JZ    L0FC5
    INC   DPTR
    MOV   R0,#012H
    SUBB  A,@R0
    JC    L0FC5
    MOV   DPH,R1
    MOV   DPL,R2
    INC   DPTR
    MOV   A,@R0
    RL    A
    MOVC  A,@A+DPTR
    MOV   R3,A
    MOV   A,@R0
    RL    A
    INC   A
    MOVC  A,@A+DPTR
    MOV   DPH,R3
    MOV   DPL,A
    CLR   A
    MOVC  A,@A+DPTR
    MOV   R2,A
    INC   DPTR
    CLR   A
    MOVC  A,@A+DPTR
    MOV   R3,A
    INC   DPTR
    LCALL S2D0D
    LCALL S2D1A
    MOV   R1,#000H
L0FC5:    RET
L0FC6:    CLR   A
    LCALL S2A8B
    RET
S0FCB:    MOV   R0,#00FH
    MOV   A,@R0
    ANL   A,#00FH
    MOV   DPTR,#D098B
    LCALL S2C5B;取散转向量表
    RET
S0FD7:    MOV   A,030H
    XRL   A,#081H
    JNZ   L0FE7
    MOV   A,01DH
    ANL   A,#0FCH
    MOV   R0,#088H
    ORL   A,@R0
    LCALL S1205
L0FE7:    LCALL S10CB
    MOV   A,016H
    JNB   ACC.0,L1004
    LCALL S101D
    LCALL S105A
    LCALL S1082
    LCALL S1005
    LCALL S1178
    LCALL S14EE
    ANL   016H,#0FEH
L1004:    RET
S1005:    MOV   A,047H
    ANL   A,#0F0H
    MOV   R0,A
    MOV   A,046H
    ANL   A,#0F0H
    XRL   A,R0
    JZ    L101C
    MOV   A,046H
    ORL   A,#00FH
    MOV   046H,A
    MOV   047H,A
    LCALL S0B93
L101C:    RET
S101D:    MOV   A,031H
    JB    ACC.7,L103B
    MOV   A,02DH
    JNB   ACC.3,L102E
    MOV   A,016H
    JNB   ACC.5,L1035
    SJMP  L1039
L102E:    MOV   A,016H
    JNB   ACC.6,L1035
    SJMP  L1039
L1035:    SETB  P1.1;GP1=1
    SJMP  L103B
L1039:    CLR   P1.1;GP1=0
L103B:    MOV   A,02DH
    JNB   ACC.6,L1059
    JNB   ACC.4,L104A
    MOV   A,016H
    JNB   ACC.5,L1055
    SJMP  L1051
L104A:    MOV   A,016H
    JNB   ACC.6,L1055
    SJMP  L1051
L1051:    ANL   046H,#07FH
    RET
L1055:    ORL   046H,#080H
    RET
L1059:    RET
S105A:    MOV   A,02DH
    JNB   ACC.6,L1081
    LCALL S1F57
    JNZ   L106B
    MOV   A,02DH
    JB    ACC.5,L107D
    SJMP  L1079
L106B:    MOV   R0,#081H
    MOV   A,@R0
    CLR   C
    SUBB  A,#0B3H
    RRC   A
    RRC   A
    RRC   A
    XRL   A,02DH
    JB    ACC.5,L107D
L1079:    ORL   046H,#010H
    RET
L107D:    ANL   046H,#0EFH
    RET
L1081:    RET
S1082:    MOV   A,02DH
    JNB   ACC.6,L10A3
    MOV   A,031H
    JB    ACC.7,L10A3
    MOV   A,075H
    CJNE  A,#002H,L1095
    SETB  ACC.1
    SJMP  L1097
L1095:    CLR   ACC.1
L1097:    XRL   A,02DH
    JB    ACC.1,L10A0
    ANL   046H,#0DFH
    RET
L10A0:    ORL   046H,#020H
L10A3:    RET
S10A4:    MOV   A,031H
    JB    ACC.7,L10B7
    MOV   A,R7
    RL    A
    RL    A
    XRL   A,02DH
    JB    ACC.2,L10B4
    CLR   P1.2;GP2=0
    RET
L10B4:    SETB  P1.2;GP2=1
    RET
L10B7:    MOV   A,R7
    RL    A
    RL    A
    XRL   A,02DH
    JB    ACC.2,L10C4
    ORL   046H,#020H
    SJMP  L10C7
L10C4:    ANL   046H,#0DFH
L10C7:    LCALL S1005
    RET
;---------------------------------------------------
S10CB:    JNB   TXD,L1102;PSIE_MMU_SUSPEND=0
;-------PSIE_MMU_SUSPEND=1--------------------------
    ANL   016H,#07FH
    MOV   01EH,#000H
    MOV   R7,#001H
    LCALL S10A4
    LCALL S1082
    LCALL S1005
    LCALL S1359;延时
    LCALL S1359;延时
    LCALL S1359;延时
    CLR   EA;关闭总中断
    MOV   A,#07FH
    MOV   DPTR,#1003H;POWER CONTROL
    MOVX  @DPTR,A
    MOV   A,#01FH
;------------------------------------------------------------------------
;       D7  D6D5  D4  D3  D2  D1  D0   VALUE
;        0    00   1   1   1   1   1   1FH
;                                  1   OSCAD OSCILLATOR=ON
;                              1       ADC CLOCK=DISABLE
;                          1           CLOCK RECOVERED BY PSIE=DISABLE
;                      1               CLOCK 48MHZ INTERNAL=DISABLE
;                  1                   CLOCK ADAC=DISABLE
;              00                      ADC CLOCK DEVIDED-BY=1
;        0                             ADC CLOCK FROM APLL
;------------------------------------------------------------------------
    MOV   DPTR,#1000H;CLOCK SHOP SETTINGS
    MOVX  @DPTR,A
    CLR   TR1;关闭定时器1
    CLR   IT1
    SETB  EX1
    SETB  EA;开放总中断
    MOV   A,#006H
    MOV   PCON,A;进入掉电状态,关闭晶振(死机)
L1102:    RET
;---------------------------------------------------
L1103:    CLR   A
    MOV   PCON,A
    CLR   EX1
    SETB  IT1;设置边沿触发
    SETB  TR1;启动定时器1
    MOV   A,024H
    MOV   DPTR,#1000H;CLOCK SHOP SETTINGS
    MOVX  @DPTR,A
L1112:    JB    TXD,$;PSIE_MMU_SUSPEND=1?
    CLR   A
    MOV   DPTR,#1003H;POWER CONTROL
    MOVX  @DPTR,A
    SETB  0BEH
    MOV   R7,#000H
    LCALL S10A4
    LCALL S1082
    LCALL S1005
    ORL   016H,#080H
    MOV   A,02EH
    CLR   C
    SUBB  A,#028H
    JNC   L1135
    MOV   A,#028H
    SJMP  L1137
L1135:    MOV   A,02EH
L1137:    JNB   TXD,L1142;PSIE_MMU_SUSPEND=0
    JZ    L1142
    LCALL S1359;延时
    DEC   A
    SJMP  L1137
L1142:    SETB  EA;开放总中断
    MOV   008H,#0F4H;发送USB命令Read intrrupt且读1个字节
    LCALL S009D;发送USB命令且读1个字节
    MOV   A,00BH;取USB数据
    CLR   0BEH
    RETI
S114F:    MOV   008H,#046H;发送USB命令Get endpoint status(endpoint index=6)且读1个字节
    LCALL S009D;发送USB命令且读1个字节
    RET
;-------INT0外部中断处理服务程序-------------
L1156:    JNB   INT0,L115A;GP0=0没干扰,处理中断
    RETI;GP0=1干扰,退出
L115A:    PUSH  000H;保护现场
    CLR   EX0;关中断
;--------------------------------------------
;if(GP3 == 1) *(0x88)=1; else *(0x88)=2;
;--------------------------------------------
    MOV   R0,#088H
    JNB   P1.3,L1167
    MOV   @R0,#001H;GP3=1
    SJMP  L1169
L1167:    MOV   @R0,#002H;GP3=0
;--------------------------------------------
L1169:    POP   000H;恢复现场
    CLR   TR0;关闭定时器
;--------------------------------------------
;8001T
    MOV   TH0,#0E0H
    MOV   TL0,#0BFH
    SETB  TR0;打开定时器
    SETB  ET0;开放定时器中断
    RETI;中断处理结束
;---------------------------------------------

S1178:    MOV   A,030H
    JB    ACC.7,L117E
    RET
L117E:    MOV   A,031H
    JB    ACC.7,L11C0
    MOV   A,030H
    JB    ACC.0,L1196
    MOV   A,P1
    RL    A
    SWAP  A
    ANL   A,#003H;GP4GP3
    MOV   R7,A
    LCALL S123F
    PUSH  ACC
    SJMP  L11A9
L1196:    MOV   A,01DH
    ANL   A,#003H
    PUSH  ACC
    MOV   A,P1
    CPL   A
    RR    A
    RR    A
    ANL   A,#004H;!GP4
    POP   B
    ORL   A,B
    PUSH  ACC
L11A9:    MOV   A,02DH
    JNB   ACC.6,L11BC
    LCALL S1316
    CPL   A
    RL    A
    RL    A
    ANL   A,#038H
    POP   B
    ORL   A,B
    SJMP  S1205
L11BC:    POP   ACC
    SJMP  S1205
L11C0:    MOV   A,031H
    JB    ACC.6,L11E9
    MOV   A,02DH
    JNB   ACC.6,L11E6
    MOV   A,030H
    JB    ACC.0,L11E6
    LCALL S1316
    PUSH  ACC
    ANL   A,#003H
    MOV   R7,A
    LCALL S123F
    MOV   B,A
    POP   ACC
    CPL   A
    RL    A
    ANL   A,#018H
    ORL   A,B
    SJMP  S1205
L11E6:    CLR   A
    SJMP  S1205
L11E9:    MOV   A,02DH
    JNB   ACC.6,L11E6
    LCALL S1316
    PUSH  ACC
    ANL   A,#006H
    RR    A
    MOV   R7,A
    LCALL S123F
    MOV   B,A
    POP   ACC
    CPL   A
    ANL   A,#008H
    ORL   A,B
    SJMP  S1205
S1205:    MOV   B,A
    XRL   A,01DH
    JZ    L1211
    MOV   01DH,B
    LCALL S1324
L1211:    RET
S1212:    MOV   A,030H
    JB    ACC.7,L1218
    RET
L1218:    MOV   01BH,#000H
    MOV   01CH,#03FH
    MOV   01DH,#000H
    MOV   R0,#088H
    MOV   @R0,#000H
    MOV   R0,#086H
    MOV   @R0,#0FFH
    MOV   R0,#087H
    MOV   @R0,#0FFH
    MOV   R0,#089H
    MOV   A,#000H
    MOV   @R0,A
    MOV   A,030H
    JNB   ACC.0,L123E
    LCALL S08FE;设置定时器方式
    SETB  IT0;设置边沿触发
    SETB  EX0;开放外部INT0中断
L123E:    RET
S123F:    MOV   A,R7
    MOV   B,A
    ANL   A,#001H
    MOV   R7,A
    MOV   R5,#086H
    LCALL S12FE
    JZ    L1269
    MOV   R0,#01CH
    MOV   R1,#086H
    MOV   A,@R1
    XRL   A,@R0
    JNB   ACC.0,L1269
    MOV   A,@R0
    JNB   ACC.0,L1260
    CLR   ACC.0
    MOV   @R0,A
    MOV   A,#002H
    SJMP  L1265
L1260:    SETB  ACC.0
    MOV   @R0,A
    MOV   A,#001H
L1265:    MOV   R0,#088H
    ORL   A,@R0
    MOV   @R0,A
L1269:    MOV   A,B
    RR    A
    ANL   A,#001H
    MOV   R7,A
    MOV   R5,#087H
    LCALL S12FE
    JZ    L1293
    MOV   R0,#01CH
    MOV   R1,#087H
    MOV   A,@R1
    XRL   A,@R0
    JNB   ACC.1,L1293
    MOV   A,@R0
    JNB   ACC.1,L128A
    CLR   ACC.1
    MOV   @R0,A
    MOV   A,#020H
    SJMP  L128F
L128A:    SETB  ACC.1
    MOV   @R0,A
    MOV   A,#010H
L128F:    MOV   R0,#088H
    ORL   A,@R0
    MOV   @R0,A
L1293:    MOV   R0,#088H
    MOV   R1,#089H
    MOV   A,@R1
    CLR   C
    RLC   A
    MOV   DPTR,#L129E
    JMP   @A+DPTR;?
L129E:    AJMP  L12A6
L12A0:    AJMP  L12C2
L12A2:    AJMP  L12DB
L12A4:    AJMP  L12F4
L12A6:    MOV   A,@R0
    ANL   A,#0EEH
    MOV   @R0,A
    MOV   R2,#000H
    JB    ACC.1,L12B4
    JB    ACC.5,L12BB
    SJMP  L12FC
L12B4:    CLR   ACC.1
    MOV   @R0,A
    MOV   @R1,#001H
    SJMP  L12FC
L12BB:    CLR   ACC.5
    MOV   @R0,A
    MOV   @R1,#002H
    SJMP  L12FC
L12C2:    MOV   R2,#001H
    MOV   A,@R0
    JB    ACC.0,L12CD
    JB    ACC.5,L12D4
    SJMP  L12FC
L12CD:    CLR   ACC.0
    MOV   @R0,A
    MOV   @R1,#000H
    SJMP  L12FC
L12D4:    CLR   ACC.5
    MOV   @R0,A
    MOV   @R1,#003H
    SJMP  L12FC
L12DB:    MOV   R2,#002H
    MOV   A,@R0
    JB    ACC.4,L12E6
    JB    ACC.1,L12ED
    SJMP  L12FC
L12E6:    CLR   ACC.4
    MOV   @R0,A
    MOV   @R1,#000H
    SJMP  L12FC
L12ED:    CLR   ACC.1
    MOV   @R0,A
    MOV   @R1,#003H
    SJMP  L12FC
L12F4:    MOV   R2,#004H
    MOV   @R1,#000H
    MOV   A,@R0
    ANL   A,#0EDH
    MOV   @R0,A
L12FC:    MOV   A,R2
    RET
S12FE:    MOV   A,R7
    RRC   A
    MOV   A,R5
    MOV   R0,A
    MOV   A,@R0
    RLC   A
    ANL   A,#00FH
    MOV   @R0,A
    XRL   A,#00FH
    JZ    L1313
    MOV   A,@R0
    XRL   A,#000H
    JZ    L1313
    MOV   A,#000H
    RET
L1313:    MOV   A,#001H
    RET
S1316:    MOV   01AH,#001H
    LCALL L0BB8
    JBC   009H,L1322
    MOV   A,061H
    RET
L1322:    CLR   A
    RET
S1324:    MOV   008H,#005H
    LCALL S006D;COMMAND REGISTER PSIE(<@08H>)
    LCALL S1349
    MOV   008H,#0F0H
    LCALL S0087;发送USB命令且写入N个字节
    MOV   008H,#0FAH;发送USB命令Validate buffer
    LCALL S006D;COMMAND REGISTER PSIE(<@08H>)
    RET
S133A:    MOV   A,030H
    JB    ACC.7,L1343
    LCALL S2A51;读USB信息
    RET
L1343:    LCALL S1349
    MOV   R1,#000H
    RET
S1349:    MOV   A,01DH
    ANL   A,#03FH
    MOV   00EH,A
    MOV   00CH,#000H
    MOV   00DH,#001H
    MOV   00AH,#003H
    RET
;-------延时程序---------------------
S1359:    PUSH  B
    MOV   B,#0FAH
L135E:    NOP
    NOP
    NOP
    NOP
    NOP
    NOP
    DJNZ  B,L135E
    POP   B
    RET
;-------------------------------------
S136A:    ANL   A,#03EH
    CJNE  A,#000H,L1373
    MOV   A,#000H
    SJMP  L137C
L1373:    CJNE  A,#002H,L137A
    MOV   A,#000H
    SJMP  L137C
L137A:    DEC   A
    DEC   A
L137C:    RET
S137D:    CLR   C
    MOV   R7,A
    SUBB  A,#00CH
    JC    L1385
    MOV   R7,#00CH
L1385:    MOV   A,R7
    RET
S1387:    MOV   R7,A
    CJNE  A,#000H,L138F
    MOV   A,#000H;真是C语言好呀!!!(可笑)
    SJMP  L139D
L138F:    CLR   C
    SUBB  A,#080H
    JC    L1398
    MOV   A,#000H
    SJMP  L139D
L1398:    MOV   A,R7
    ANL   A,#07EH
    INC   A
    INC   A
L139D:    ANL   A,#07EH
    MOV   R7,A
    MOV   A,02BH
    ANL   A,#060H
    CJNE  A,#000H,L13AB
    MOV   A,#000H;真是C语言好呀!!!(可笑)
    SJMP  L13C4
L13AB:    CJNE  A,#060H,L13B9
    MOV   A,R7
    CLR   C
    SUBB  A,#01AH
    JC    L13B6
    MOV   R7,#01AH
L13B6:    MOV   A,R7
    SJMP  L13C4
L13B9:    MOV   A,R7
    CLR   C
    SUBB  A,#014H
    JC    L13C1
    MOV   R7,#014H
L13C1:    MOV   A,R7
    SJMP  L13C4
L13C4:    ANL   A,#03EH
    RET
S13C7:    MOV   R7,A
    CJNE  A,#000H,L13CF
    MOV   A,#000H;真是C语言好呀!!!(可笑)
    SJMP  L13EC
L13CF:    CLR   C
    SUBB  A,#006H
    JC    L13D6
    MOV   R7,#006H
L13D6:    MOV   A,R7
    CLR   C
    SUBB  A,#080H
    JC    L13E0
    MOV   A,#000H
    SJMP  L13EC
L13E0:    MOV   A,R7
    MOV   R7,A
    MOV   A,02BH
    ANL   A,#060H
    CJNE  A,#000H,L13EC
    MOV   A,#000H
    MOV   R7,A
L13EC:    MOV   A,R7
    ANL   A,#01EH
    RET
S13F0:    MOV   A,037H
    LCALL S146F
    MOV   R0,A
    MOV   A,038H
    LCALL S146F
    MOV   R1,A
    ANL   A,R0
    JZ    L140A
    MOV   A,R1
    CLR   C
    SUBB  A,R0
    JC    L1407
    MOV   A,R1
    SJMP  L140C
L1407:    MOV   A,R0
    SJMP  L140C
L140A:    MOV   A,#000H
L140C:    MOV   R0,A
    MOV   A,03AH
    LCALL S137D
    MOV   R2,A
    CLR   C
    MOV   A,R0
    ADD   A,R2
    JB    ACC.7,L1429
    CLR   C
    MOV   R3,A
    MOV   R1,#07FH
    MOV   A,@R1
    CLR   C
    SUBB  A,R3
    JZ    L1429
    JNC   L1429
    MOV   R3,A
    MOV   A,R2
    CLR   C
    ADD   A,R3
    MOV   R2,A
L1429:    MOV   A,R2
    LCALL S13C7
    ORL   A,#0C0H
    LCALL S0956;audio feature registers
    MOV   A,039H
    LCALL S136A
    MOV   R2,A
    MOV   A,03BH
    JNB   ACC.7,L1441
    MOV   A,036H
    ADD   A,R2
    MOV   R2,A
L1441:    CLR   C
    MOV   A,R0
    ADD   A,R2
    JB    ACC.7,L1457
    CLR   C
    MOV   R3,A
    MOV   R1,#07FH
    MOV   A,@R1
    CLR   C
    SUBB  A,R3
    JZ    L1457
    JNC   L1457
    MOV   R3,A
    MOV   A,R2
    CLR   C
    ADD   A,R3
    MOV   R2,A
L1457:    MOV   A,R2
    LCALL S1387
    ORL   A,#080H
    LCALL S0956;audio feature registers
    MOV   A,038H
    ORL   A,#040H
    LCALL S0956;audio feature registers
    MOV   A,037H
    ORL   A,#000H
    LCALL S0956;audio feature registers
    RET
S146F:    ANL   A,#03FH
    CJNE  A,#03FH,L1478
    MOV   A,#080H
    SJMP  L1482
L1478:    CJNE  A,#000H,L147F
    MOV   A,#000H
    SJMP  L1482
L147F:    DEC   A
    CPL   A
    INC   A
L1482:    RET
S1483:    MOV   R7,A
    JB    ACC.7,L148B
    MOV   A,#000H
    SJMP  L14AA
L148B:    CPL   A
    INC   A
    INC   A
    MOV   R7,A
    CLR   C
    SUBB  A,#03EH
    JNC   L1497
    MOV   A,R7
    SJMP  L149B
L1497:    MOV   A,#03FH
    SJMP  L14AA
L149B:    CJNE  A,#000H,L14A2
    MOV   A,#000H
    SJMP  L14AA
L14A2:    CLR   C
    SUBB  A,#03DH
    JC    L14A9
    MOV   R7,#03DH
L14A9:    MOV   A,R7
L14AA:    ANL   A,#03FH
    RET
S14AD:    MOV   B,R6
    JNB   B.7,L14B7
    MOV   B,#000H
    SJMP  L14C7
L14B7:    MOV   A,R7
    JNB   ACC.7,L14BD
    INC   B
L14BD:    MOV   A,B
    CLR   C
    SUBB  A,#01CH
    JC    L14C7
    MOV   B,#01BH
L14C7:    MOV   A,B
    MOV   B,#003H;/3
    DIV   AB;取整数
    MOV   DPTR,#D14D2
    MOVC  A,@A+DPTR
    RET
;-------查表----------------------------------------------
D14D2:    DB    001H,002H,003H,003H,004H
D14D7:    DB    004H,005H,005H
D14DA:  DB    006H,006H
;---------------------------------------------------------
S14DC:    MOV   A,R7
    MOV   DPTR,#D14E5;取数据
    MOVC  A,@A+DPTR
    MOV   R7,#000H
    MOV   R6,A
    RET
;-------数据区----------------------------------------
D14E5:  DB    000H,000H,003H,009H,00FH,015H,01BH,01BH
D14ED:  DB    022H
;-----------------------------------------------------
S14EE:    MOV   A,01EH
    CLR   C
    RLC   A;*2
    RLC   A;*2->*4<LJMP+NOP=4Byte>
    MOV   DPTR,#L14F7
    JMP   @A+DPTR;?
L14F7:    LJMP  L150F
D14FA:    DB    000H;NOP
L14FB:    LJMP  L1524
D14FE:    DB    000H;NOP
L14FF:    LJMP  L1553
D1502:    DB    000H;NOP
L1503:    LJMP  L1570
D1506:    DB    000H;NOP
L1507:    LJMP  L15B5
D150A:    DB    000H;NOP
L150B:    LJMP  L15EC
D150E:    DB    000H;NOP
L150F:    MOV   A,016H
    ANL   A,#080H
    JNZ   L1518
    LJMP  L1641
L1518:    ANL   016H,#0DFH
    ANL   016H,#0BFH
    MOV   01EH,#001H
    LJMP  L1641
L1524:    MOV   A,016H
    ANL   A,#080H
    JNZ   L1530
    MOV   01EH,#000H
    LJMP  L1641
L1530:    JNB   P1.0,L1536;ADAC_ERROR=0
    LJMP  L1641;ADAC_ERROR=1
L1536:    JNB   RXD,L153C;ASR_ERROR=0
    LJMP  L1641;ASR_ERROR=1
L153C:    ORL   016H,#020H
    ANL   016H,#0BFH
    MOV   019H,032H
    MOV   A,027H
    CLR   ACC.0
    MOV   DPTR,#2000H;ASR SETTINGS
    MOVX  @DPTR,A
    MOV   01EH,#002H
    LJMP  L1641
L1553:    MOV   A,019H
    JZ    L155C
    DEC   019H
    LJMP  L1641
L155C:    MOV   A,027H
    SETB  ACC.0
    MOV   DPTR,#2000H;ASR SETTINGS
    MOVX  @DPTR,A
    MOV   01EH,#003H
    MOV   017H,#0FAH
    MOV   018H,034H
    LJMP  L1641
L1570:    JNB   P1.0,L1594
    MOV   A,016H
    JNB   ACC.7,L159D
    MOV   A,034H
    JZ    L1591
    MOV   A,017H
    DEC   A
    MOV   017H,A
    CJNE  A,#000H,L1591
    MOV   017H,#0FAH
    MOV   A,018H
    DEC   A
    MOV   018H,A
    CJNE  A,#000H,L1591
    SJMP  L159D
L1591:    LJMP  L1641
L1594:    MOV   A,02BH
    ANL   A,#002H
    JZ    L15A9
    LJMP  L1641
L159D:    ANL   016H,#0DFH
    ANL   016H,#0BFH
    MOV   01EH,#001H
    LJMP  L1641
L15A9:    ORL   016H,#020H
    ORL   016H,#040H
    MOV   01EH,#004H
    LJMP  L1641
L15B5:    MOV   01FH,#000H
    MOV   A,02BH
    ANL   A,#002H
    JNZ   L15CA
    MOV   A,P3
    ANL   A,#001H
    JNZ   L15DB
    MOV   A,03EH
    JZ    L15DB
    SJMP  L1641
L15CA:    ORL   016H,#020H
    ANL   016H,#0BFH
    MOV   017H,#0FAH
    MOV   018H,033H
    MOV   01EH,#003H
    SJMP  L1641
L15DB:    ORL   016H,#020H
    ORL   016H,#040H
    MOV   017H,#032H
    MOV   018H,033H
    MOV   01EH,#005H
    SJMP  L1641
L15EC:    JB    RXD,L15F3;ASR_ERROR=1
    MOV   A,03EH
    JNZ   L1632
L15F3:    MOV   A,016H
    JNB   ACC.7,L160F
    MOV   A,017H
    DEC   A
    MOV   017H,A
    CJNE  A,#000H,L160D
    MOV   017H,#032H
    MOV   A,018H
    DEC   A
    MOV   018H,A
    CJNE  A,#000H,L160D
    SJMP  L160F
L160D:    SJMP  L1641
L160F:    ORL   016H,#020H
    ANL   016H,#0BFH
    MOV   017H,#0FAH
    MOV   018H,034H
    MOV   01EH,#003H
    MOV   DPTR,#2000H;ASR SETTINGS
    MOV   A,03EH
    JZ    L162B
    MOV   A,027H
    ORL   A,#001H
    SJMP  L162F
L162B:    MOV   A,027H
    ANL   A,#0FEH
L162F:    MOVX  @DPTR,A
    SJMP  L1641
L1632:    MOV   A,01FH
    INC   A
    MOV   01FH,A
    CLR   C
    SUBB  A,#005H
    JC    L1641
    MOV   01EH,#004H
    SJMP  L1641
L1641:    RET
;--------------------------------------------------------
D1642:    DB    001H;1个
        DW    S0FD7
;--------------------------------------------------------
D1645:  DW    S28DB
        DW    S1659
        DW    S299D
        DW    S2C58
        DW    S2C58
        DW    S2C58
        DW    S2C58
        DW    S114F
;--------------------------------------------------------
D1655:    DW    S2C58
        DW    S28DB
;--------------------------------------------------------
S1659:    CLR   010H
    LCALL S28E2
    RET

D165F:    DB    008H,000H,080H,0FFH,0FFH,0FFH,083H,0FFH
D1667:    DB    0FFH
;----------------------------------------------------------
D1668:    DB    023H
;----------------------------------------------------------
D1669:    DW    S1CFA
        DW    S1CFE
        DW    S1D10
        DW    S1D1C
D1671:    DW    S1D28
        DW    S1DF5
        DW    S1E0C
        DW    S1E24
D1679:    DW    S1CFA
        DW    S1E37
        DW    S1E4C
        DW    S1FAB
D1681:    DW    S1D3B
        DW    S1D53
        DW    S1D6E
        DW    S1D97
        DW    S1DB0
        DW    S1DCC
S168D:    JB    010H,L1696
    MOV   A,03CH
    MOV   R0,A
    CJNE  A,#0A0H,L1699
L1696:    MOV   A,#0FFH
    RET
L1699:    MOV   A,R0
    ANL   A,#00FH
    MOV   R0,A
    RET
S169E:    MOV   00CH,#000H
    MOV   00DH,#001H
    MOV   00AH,#003H
    LCALL S2AB1
    SETB  018H
    MOV   R1,#000H
    RET
S16AF:    MOV   00CH,#000H
    MOV   R0,#002H
    MOV   A,015H
    CJNE  A,#000H,L16C3
    MOV   A,014H
    CLR   C
    SUBB  A,R0
    JZ    L16C3
    JNC   L16C3
    MOV   R0,014H
L16C3:    MOV   A,R0
    MOV   00DH,A
    INC   A
    INC   A
    MOV   00AH,A
    LCALL S2AB1
    SETB  018H
    MOV   R1,#000H
    RET
S16D2:    MOV   00CH,#000H
    MOV   R0,#003H
    MOV   A,015H
    CJNE  A,#000H,L16E6
    MOV   A,014H
    CLR   C
    SUBB  A,R0
    JZ    L16E6
    JNC   L16E6
    MOV   R0,014H
L16E6:    MOV   A,R0
    MOV   00DH,A
    INC   A
    INC   A
    MOV   00AH,A
    LCALL S2AB1
    SETB  018H
    MOV   R1,#000H
    RET
S16F5:    MOV   00CH,#000H
    MOV   R0,#004H
    MOV   A,015H
    CJNE  A,#000H,L1709
    MOV   A,014H
    CLR   C
    SUBB  A,R0
    JZ    L1709
    JNC   L1709
    MOV   R0,014H
L1709:    MOV   A,R0
    MOV   00DH,A
    INC   A
    INC   A
    MOV   00AH,A
    LCALL S2AB1
    SETB  018H
    MOV   R1,#000H
    RET
S1718:    LCALL S1F57
    JZ    L174A
    MOV   A,031H
    ANL   A,#00FH
    CJNE  A,#003H,L1733
    MOV   A,02AH
    ANL   A,#0F7H
    MOV   02AH,A
    MOV   DPTR,#0801H;ADIF CONTROL
    MOVX  @DPTR,A
    ANL   035H,#0FDH
    AJMP  L1759
L1733:    MOV   A,035H
    JB    ACC.1,L173E
    MOV   A,02AH
    ORL   A,#008H
    SJMP  L1742
L173E:    MOV   A,02AH
    ANL   A,#0F7H
L1742:    MOV   02AH,A
    MOV   DPTR,#0801H;ADIF CONTROL
    MOVX  @DPTR,A
    AJMP  L1759
L174A:    MOV   A,035H
    JB    ACC.1,L1753
    MOV   A,028H
    SJMP  L1755
L1753:    MOV   A,029H
L1755:    MOV   DPTR,#0800H;PGA GAIN
    MOVX  @DPTR,A
L1759:    MOV   A,02DH
    JNB   ACC.6,L1761
    LCALL S08DE
L1761:    RET
S1762:    LCALL S264B
    ANL   A,#00FH
    MOV   DPTR,#L176D;AJMP散转表
    CLR   C
    RLC   A;*2
    JMP   @A+DPTR;?
L176D:    AJMP  L1777
L176F:    AJMP  L1779
L1771:    AJMP  L177C
L1773:    AJMP  L177F
L1775:    AJMP  L1781
L1777:    CLR   A
    RET
L1779:    MOV   A,03EH
    RET
L177C:    MOV   A,03FH
    RET
L177F:    CLR   A
    RET
L1781:    MOV   A,030H
    JB    ACC.7,L178A
    LCALL S2A51;读USB信息
    RET
L178A:    CLR   A
    RET
S178C:    LCALL S264B
    MOV   B,A
    ANL   A,#00FH;有漏洞!!!(ANL A,#7;好些)
    MOV   DPTR,#L1799;SJMP散转表
    CLR   C
    RLC   A;*2
    JMP   @A+DPTR;?
L1799:    SJMP  L17A3
L179B:    SJMP  L17B0
L179D:    SJMP  L17E0
L179F:    SJMP  L17A3
L17A1:    SJMP  L17A5
L17A3:    CLR   A
    RET
L17A5:    MOV   A,030H
    JB    ACC.7,L17AE
    LCALL S2A51;读USB信息
    RET
L17AE:    CLR   A
    RET
L17B0:    MOV   A,B
    SWAP  A
    ANL   A,#00FH
    MOV   B,A
    CLR   C
    SUBB  A,#00BH
    JC    L17BF
    MOV   A,#0FFH
    RET
L17BF:    MOV   A,B
    MOV   03EH,A
    MOV   DPTR,#D17D5
    MOVC  A,@A+DPTR
    MOV   R7,A
    MOV   A,027H
    ANL   A,#0F0H
    ORL   A,R7
    MOV   027H,A
    MOV   DPTR,#2000H;ASR SETTINGS
    MOVX  @DPTR,A
    CLR   A
    RET
D17D5:    DB    006H,005H,007H,009H,00BH,00DH,00FH,009H
D17DD:    DB    00BH,009H,00BH
L17E0:    MOV   A,B
    SWAP  A
    ANL   A,#00FH
    MOV   B,A
    LCALL S1F57
    JZ    L17F3
    MOV   A,B
    CLR   C
    SUBB  A,#007H
    SJMP  L17F8
L17F3:    MOV   A,B
    CLR   C
    SUBB  A,#009H
L17F8:    JC    L17FE
    MOV   A,#0FFH
    SJMP  L1815
L17FE:    MOV   A,B
    MOV   03FH,A
    MOV   A,02AH
    ANL   A,#08FH
    MOV   R0,A
    MOV   DPTR,#D1816
    MOV   A,B
    MOVC  A,@A+DPTR
    ORL   A,R0
    MOV   02AH,A
    MOV   DPTR,#0801H;ADIF CONTROL
    MOVX  @DPTR,A
    CLR   A
L1815:    RET
D1816:    DB    050H,020H,030H,040H,050H,060H,070H,040H
D181E:    DB    050H
S181F:    MOV   A,042H
    MOV   DPTR,#D1669
    LCALL S2C5B;取散转向量表
    RET
S1828:    CLR   019H
    MOV   R0,#012H
    CJNE  @R0,#000H,L1833
L182F:    LCALL S21C3
    RET
L1833:    CJNE  @R0,#085H,L1842
    MOV   R0,#00EH
    CJNE  @R0,#0A2H,L183D
    SJMP  L182F
L183D:    CJNE  @R0,#022H,L1842
    SJMP  L182F
L1842:    LCALL S0FCB
    RET
L1846:    MOV   R7,013H
    LCALL S1ECF
    CJNE  A,#001H,L1863
    MOV   A,010H
    CJNE  A,#000H,L1855
    SJMP  L1858
L1855:    CJNE  A,#0FFH,L1863
L1858:    MOV   A,02BH
    ANL   A,#002H
    RR    A
    MOV   00EH,A
    LCALL S169E
    RET
L1863:    LCALL S2A51
    RET
L1867:    MOV   R7,013H
    LCALL S1ECF
    JZ    L18CD
    CJNE  A,#001H,L187F
    MOV   A,038H
    LCALL S146F
    MOV   00EH,#000H
    MOV   00FH,A
    LCALL S16AF
    RET
L187F:    CJNE  R7,#009H,L1886
    MOV   A,028H
    SJMP  L188B
L1886:    CJNE  R7,#00AH,L18CD
    MOV   A,029H
L188B:    ANL   A,#007H
    MOV   R7,A
    LCALL S14DC
    MOV   00EH,R7
    MOV   00FH,R6
    LCALL S16AF
    RET
L1899:    MOV   R7,013H
    LCALL S1ECF
    JZ    L18CD
    CJNE  A,#001H,L18B1
    MOV   A,037H
    LCALL S146F
    MOV   00EH,#000H
    MOV   00FH,A
    LCALL S16AF
    RET
L18B1:    CJNE  R7,#009H,L18B8
    MOV   A,028H
    SJMP  L18BD
L18B8:    CJNE  R7,#00AH,L18CD
    MOV   A,029H
L18BD:    RL    A
    SWAP  A
    ANL   A,#007H
    MOV   R7,A
    LCALL S14DC
    MOV   00EH,R7
    MOV   00FH,R6
    LCALL S16AF
    RET
L18CD:    LCALL S2A51
    RET
L18D1:    MOV   R7,013H
    LCALL S1ECF
    JZ    L18CD
    CJNE  A,#001H,L18F8
    MOV   A,010H
    CJNE  A,#0FFH,L18CD
    MOV   A,038H
    LCALL S146F
    MOV   00FH,A
    MOV   A,037H
    LCALL S146F
    MOV   011H,A
    MOV   00EH,#000H
    MOV   010H,#000H
    LCALL S16F5
    RET
L18F8:    MOV   A,010H
    CJNE  A,#0FFH,L18CD
    CJNE  R7,#009H,L1904
    MOV   A,028H
    SJMP  L1909
L1904:    CJNE  R7,#00AH,L18CD
    MOV   A,029H
L1909:    PUSH  ACC
    ANL   A,#007H
    MOV   R7,A
    LCALL S14DC
    MOV   00EH,R7
    MOV   00FH,R6
    POP   ACC
    RL    A
    SWAP  A
    ANL   A,#007H
    MOV   R7,A
    LCALL S14DC
    MOV   010H,R7
    MOV   011H,R6
    LCALL S16F5
    RET
L1927:    MOV   R7,013H
    LCALL S1ECF
    JZ    L194D
    CJNE  A,#001H,L194D
    CJNE  R7,#00CH,L1936
    SJMP  L194D
L1936:    MOV   A,010H
    CJNE  A,#000H,L193D
    SJMP  L1940
L193D:    CJNE  A,#0FFH,L194D
L1940:    MOV   A,039H
    LCALL S136A
    RL    A
    RL    A
    MOV   00EH,A
    LCALL S169E
    RET
L194D:    LCALL S2A51
    RET
L1951:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1977
    CJNE  A,#001H,L1977
    CJNE  R7,#00CH,L1960
    SJMP  L1977
L1960:    MOV   A,010H
    CJNE  A,#000H,L1967
    SJMP  L196A
L1967:    CJNE  A,#0FFH,L1977
L196A:    MOV   A,03AH
    LCALL S137D
    RL    A
    RL    A
    MOV   00EH,A
    LCALL S169E
    RET
L1977:    LCALL S2A51
    RET
L197B:    MOV   R7,013H
    LCALL S1ECF
    JZ    L199A
    CJNE  R7,#00BH,L199A
    MOV   A,010H
    CJNE  A,#000H,L198C
    SJMP  L198F
L198C:    CJNE  A,#0FFH,L199A
L198F:    MOV   A,03BH
    ANL   A,#080H
    RL    A
    MOV   00EH,A
    LCALL S169E
    RET
L199A:    LCALL S2A51
L199D:    RET
L199E:    MOV   R7,013H
    LCALL S1ECF
    JZ    L199A
    MOV   A,035H
    ANL   A,#002H
    RR    A
    INC   A
    MOV   00EH,A
    LCALL S169E
    RET
L19B1:    LCALL S1F57
    JZ    L19C2
    MOV   R0,#080H
    MOV   00EH,@R0
    INC   R0
    MOV   00FH,@R0
    INC   R0
    MOV   010H,@R0
    SJMP  L19D9
L19C2:    MOV   DPTR,#D0484
    MOV   A,041H
    MOV   B,#003H
    MUL   AB
    MOV   R0,A
    INC   R0
    MOVC  A,@A+DPTR
    MOV   00EH,A
    MOV   A,R0
    INC   R0
    MOVC  A,@A+DPTR
    MOV   00FH,A
    MOV   A,R0
    MOVC  A,@A+DPTR
    MOV   010H,A
L19D9:    LCALL S16D2
    RET
L19DD:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1A2A
    CJNE  A,#001H,L19F1
    MOV   00EH,#000H
    MOV   00FH,#0C4H
    LCALL S16AF
    RET
L19F1:    MOV   00EH,#000H
    MOV   00FH,#000H
    LCALL S16AF
    RET
L19FB:    MOV   A,010H
    CJNE  A,#0FFH,L1A2A
    MOV   R7,013H
    LCALL S1ECF
    JZ    L1A2A
    CJNE  A,#001H,L1A1A
    MOV   00EH,#000H
    MOV   00FH,#0C4H
    MOV   010H,#000H
    MOV   011H,#0C4H
    LCALL S16F5
    RET
L1A1A:    MOV   00EH,#000H
    MOV   00FH,#000H
    MOV   010H,#000H
    MOV   011H,#000H
    LCALL S16F5
    RET
L1A2A:    LCALL S2A51
    RET
L1A2E:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1A4E
    CJNE  A,#001H,L1A4E
    CJNE  R7,#00CH,L1A3D
    SJMP  L1A4E
L1A3D:    MOV   A,010H
    CJNE  A,#000H,L1A44
    SJMP  L1A47
L1A44:    CJNE  A,#0FFH,L1A4E
L1A47:    MOV   00EH,#000H
    LCALL S169E
    RET
L1A4E:    LCALL S2A51
    RET
L1A52:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1A4E
    MOV   00EH,#001H
    LCALL S169E
    RET
L1A60:    LCALL S1F57
    JZ    L1A70
    MOV   00EH,#044H
    MOV   00FH,#0ACH
    MOV   010H,#000H
    SJMP  L1A81
L1A70:    MOV   DPTR,#D0484
    CLR   A
    MOVC  A,@A+DPTR
    MOV   00EH,A
    INC   DPTR
    CLR   A
    MOVC  A,@A+DPTR
    MOV   00FH,A
    INC   DPTR
    CLR   A
    MOVC  A,@A+DPTR
    MOV   010H,A
L1A81:    LCALL S16D2
    RET
L1A85:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1AD2
    CJNE  A,#001H,L1A99
    MOV   00EH,#000H
    MOV   00FH,#000H
    LCALL S16AF
    RET
L1A99:    MOV   00EH,#000H
    MOV   00FH,#01BH
    LCALL S16AF
    RET
L1AA3:    MOV   A,010H
    CJNE  A,#0FFH,L1AD2
    MOV   R7,013H
    LCALL S1ECF
    JZ    L1AD2
    CJNE  A,#001H,L1AC2
    MOV   00EH,#000H
    MOV   00FH,#000H
    MOV   010H,#000H
    MOV   011H,#000H
    LCALL S16F5
    RET
L1AC2:    MOV   00EH,#000H
    MOV   00FH,#01BH
    MOV   010H,#000H
    MOV   011H,#01BH
    LCALL S16F5
    RET
L1AD2:    LCALL S2A51
    RET
L1AD6:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1AF6
    CJNE  A,#001H,L1AF6
    CJNE  R7,#00CH,L1AE5
    SJMP  L1AF6
L1AE5:    MOV   A,010H
    CJNE  A,#000H,L1AEC
    SJMP  L1AEF
L1AEC:    CJNE  A,#0FFH,L1AF6
L1AEF:    MOV   00EH,#060H
    LCALL S169E
    RET
L1AF6:    LCALL S2A51
    RET
L1AFA:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1B1A
    CJNE  A,#001H,L1B1A
    CJNE  R7,#00CH,L1B09
    SJMP  L1B1A
L1B09:    MOV   A,010H
    CJNE  A,#000H,L1B10
    SJMP  L1B13
L1B10:    CJNE  A,#0FFH,L1B1A
L1B13:    MOV   00EH,#018H
    LCALL S169E
    RET
L1B1A:    LCALL S2A51
    RET
L1B1E:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1B1A
    MOV   00EH,#002H
    LCALL S169E
    RET
L1B2C:    MOV   A,031H
    ANL   A,#00FH
    CJNE  A,#003H,L1B41
    CJNE  A,#004H,L1B41
    MOV   00EH,#080H
    MOV   00FH,#0BBH
    MOV   010H,#000H
    SJMP  L1B52
L1B41:    MOV   DPTR,#D04A5
    CLR   A
    MOVC  A,@A+DPTR
    MOV   00EH,A
    INC   DPTR
    CLR   A
    MOVC  A,@A+DPTR
    MOV   00FH,A
    INC   DPTR
    CLR   A
    MOVC  A,@A+DPTR
    MOV   010H,A
L1B52:    LCALL S16D2
    RET
L1B56:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1BA3
    CJNE  A,#001H,L1B6A
    MOV   00EH,#000H
    MOV   00FH,#001H
    LCALL S16AF
    RET
L1B6A:    MOV   00EH,#000H
    MOV   00FH,#003H
    LCALL S16AF
    RET
L1B74:    MOV   A,010H
    CJNE  A,#0FFH,L1BA3
L1B79:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1BA3
    CJNE  A,#001H,L1B93
    MOV   00EH,#000H
    MOV   00FH,#001H
    MOV   010H,#000H
    MOV   011H,#001H
    LCALL S16F5
    RET
L1B93:    MOV   00EH,#000H
    MOV   00FH,#003H
    MOV   010H,#000H
    MOV   011H,#003H
    LCALL S16F5
    RET
L1BA3:    LCALL S2A51
    RET
L1BA7:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1BC7
    CJNE  A,#001H,L1BC7
    CJNE  R7,#00CH,L1BB6
    SJMP  L1BC7
L1BB6:    MOV   A,010H
    CJNE  A,#000H,L1BBD
    SJMP  L1BC0
L1BBD:    CJNE  A,#0FFH,L1BC7
L1BC0:    MOV   00EH,#008H
    LCALL S169E
    RET
L1BC7:    LCALL S2A51
    RET
L1BCB:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1BC7
    MOV   00EH,#001H
    LCALL S169E
    RET
L1BD9:    MOV   00EH,#001H
    MOV   00FH,#000H
    MOV   010H,#000H
    LCALL S16D2
    RET
L1BE6:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1C03
    CJNE  A,#001H,L1C03
    MOV   A,010H
    CJNE  A,#000H,L1BF7
    SJMP  L1BFA
L1BF7:    CJNE  A,#0FFH,L1C03
L1BFA:    MOV   042H,#001H
    LCALL S2A8B
    MOV   R1,#000H
    RET
L1C03:    LCALL S2A51
    RET
L1C07:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1C6F
    CJNE  A,#001H,L1C16
    MOV   042H,#002H
    SJMP  L1C21
L1C16:    CJNE  R7,#009H,L1C1E
    MOV   042H,#00CH
    SJMP  L1C21
L1C1E:    MOV   042H,#00FH
L1C21:    LCALL S2A8B
    MOV   R1,#000H
    RET
L1C27:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1C6F
    CJNE  A,#001H,L1C36
    MOV   042H,#003H
    SJMP  L1C41
L1C36:    CJNE  R7,#009H,L1C3E
    MOV   042H,#00DH
    SJMP  L1C41
L1C3E:    MOV   042H,#010H
L1C41:    LCALL S2A8B
    MOV   R1,#000H
    RET
L1C47:    MOV   A,010H
    CJNE  A,#0FFH,L1C6F
    MOV   R7,013H
    LCALL S1ECF
    JZ    L1C6F
    CJNE  A,#001H,L1C5B
    MOV   042H,#004H
    SJMP  L1C69
L1C5B:    CJNE  R7,#009H,L1C63
    MOV   042H,#00EH
    SJMP  L1C69
L1C63:    CJNE  R7,#00AH,L1C6F
    MOV   042H,#011H
L1C69:    LCALL S2A8B
    MOV   R1,#000H
    RET
L1C6F:    LCALL S2A51
    RET
L1C73:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1C96
    CJNE  A,#001H,L1C96
    CJNE  R7,#00CH,L1C83
    LJMP  L1AF6
L1C83:    MOV   A,010H
    CJNE  A,#000H,L1C8A
    SJMP  L1C8D
L1C8A:    CJNE  A,#0FFH,L1C96
L1C8D:    MOV   042H,#005H
    LCALL S2A8B
    MOV   R1,#000H
    RET
L1C96:    LCALL S2A51
    RET
L1C9A:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1CBC
L1CA1:    CJNE  A,#001H,L1CBC
    CJNE  R7,#00CH,L1CA9
    SJMP  L1CBC
L1CA9:    MOV   A,010H
    CJNE  A,#000H,L1CB0
    SJMP  L1CB3
L1CB0:    CJNE  A,#0FFH,L1CBC
L1CB3:    MOV   042H,#006H
    MOV   R1,#000H
    LCALL S2A8B
    RET
L1CBC:    LCALL S2A51;读USB信息
    RET
L1CC0:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1CDD
    CJNE  R7,#00BH,L1CDD
    MOV   A,010H
    CJNE  A,#000H,L1CD1
    SJMP  L1CD4
L1CD1:    CJNE  A,#0FFH,L1CDD
L1CD4:    MOV   042H,#007H
    LCALL S2A8B
    MOV   R1,#000H
    RET
L1CDD:    LCALL S2A51;读USB信息
    RET
L1CE1:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1CDD
    MOV   042H,#009H
    MOV   R1,#000H
    LCALL S2A8B
    RET
L1CF1:    MOV   042H,#00AH
    MOV   R1,#000H
    LCALL S2A8B
    RET
S1CFA:    MOV   042H,#000H
    RET
S1CFE:    MOV   A,00EH
    ANL   A,#001H
    RL    A
    MOV   R0,A
    MOV   A,02BH
    ANL   A,#0FDH
    ORL   A,R0
    MOV   02BH,A
    LCALL S0965;control registers
    SJMP  S1CFA
S1D10:    MOV   A,00FH
    LCALL S1483
    MOV   038H,A
    LCALL S13F0
    SJMP  S1CFA
S1D1C:    MOV   A,00FH
    LCALL S1483
    MOV   037H,A
    LCALL S13F0
    SJMP  S1CFA
S1D28:    MOV   A,00FH
    LCALL S1483
    MOV   038H,A
    MOV   A,011H
    LCALL S1483
    MOV   037H,A
    LCALL S13F0
    SJMP  S1CFA
S1D3B:    MOV   R7,00EH
    MOV   R6,00FH
    LCALL S14AD
    PUSH  ACC
    MOV   A,028H
    ANL   A,#0F8H
    POP   B
    ORL   A,B
    MOV   028H,A
    LCALL S1718
    SJMP  S1CFA
S1D53:    MOV   R7,00EH
    MOV   R6,00FH
    LCALL S14AD
    RL    A
    RL    A
    RL    A
    PUSH  ACC
    MOV   A,028H
    ANL   A,#0C7H
    POP   B
    ORL   A,B
    MOV   028H,A
    LCALL S1718
    SJMP  S1CFA
S1D6E:    MOV   R7,00EH
    MOV   R6,00FH
    LCALL S14AD
    PUSH  ACC
    MOV   R7,010H
    MOV   R6,011H
    LCALL S14AD
    RL    A
    RL    A
    RL    A
    PUSH  ACC
    MOV   A,028H
    ANL   A,#0C0H
    POP   B
    ORL   A,B
    POP   B
    ORL   A,B
    MOV   028H,A
    LCALL S1718
    LJMP  S1CFA
S1D97:    MOV   R7,00EH
    MOV   R6,00FH
    LCALL S14AD
    PUSH  ACC
    MOV   A,029H
    ANL   A,#0F8H
    POP   B
    ORL   A,B
    MOV   029H,A
    LCALL S1718
    LJMP  S1CFA
S1DB0:    MOV   R7,00EH
    MOV   R6,00FH
    LCALL S14AD
    RL    A
    RL    A
    RL    A
    PUSH  ACC
    MOV   A,029H
    ANL   A,#0C7H
    POP   B
    ORL   A,B
    MOV   029H,A
    LCALL S1718
    LJMP  S1CFA
S1DCC:    MOV   R7,00EH
    MOV   R6,00FH
    LCALL S14AD
    PUSH  ACC
    MOV   R7,010H
    MOV   R6,011H
    LCALL S14AD
    RL    A
    RL    A
    RL    A
    PUSH  ACC
    MOV   A,029H
    ANL   A,#0C0H
    POP   B
    ORL   A,B
    POP   B
    ORL   A,B
    MOV   029H,A
    LCALL S1718
    LJMP  S1CFA
S1DF5:    MOV   A,00EH
    JNB   ACC.7,L1DFB
    CLR   A
L1DFB:    ADD   A,#003H
    ANL   A,#0FCH
    RR    A
    RR    A
    LCALL S1387
    MOV   039H,A
    LCALL S13F0
    LJMP  S1CFA
S1E0C:    MOV   A,00EH
    JNB   ACC.7,L1E13
    MOV   A,#000H
L1E13:    ADD   A,#003H
    ANL   A,#0FCH
    RR    A
    RR    A
    LCALL S13C7
    MOV   03AH,A
    LCALL S13F0
    LJMP  S1CFA
S1E24:    MOV   A,00EH
    ANL   A,#001H
    RR    A
    MOV   R0,A
    MOV   A,03BH
    ANL   A,#07FH
    ORL   A,R0
    MOV   03BH,A
    LCALL S13F0
    LJMP  S1CFA
S1E37:    MOV   A,00EH
    CLR   C
    SUBB  A,#002H
    JNC   L1E43
    ANL   035H,#0FDH
    SJMP  L1E46
L1E43:    ORL   035H,#002H
L1E46:    LCALL S1718
    LJMP  S1CFA
S1E4C:    LCALL S1F57
    JZ    L1E72
    MOV   R0,#082H
    MOV   @R0,#000H
    MOV   A,010H
    JNZ   L1E69
    MOV   A,00FH
    CLR   C
    SUBB  A,#0B3H
    JNC   L1E69
    DEC   R0
    MOV   @R0,#0ACH
    DEC   R0
    MOV   @R0,#044H
    LJMP  S1CFA
L1E69:    DEC   R0
    MOV   @R0,#0BBH
    DEC   R0
    MOV   @R0,#080H
    LJMP  S1CFA
L1E72:    MOV   A,03FH
    CLR   C
    SUBB  A,#007H
    JNC   L1E7F
    MOV   R0,#00CH
    MOV   R2,#00BH
    SJMP  L1E83
L1E7F:    MOV   R0,#007H
    MOV   R2,#006H
L1E83:    MOV   A,010H
    CJNE  A,#000H,L1E9C
    MOV   DPTR,#D0485
    MOV   R2,#0FFH
L1E8D:    INC   R2
    CLR   A
    MOVC  A,@A+DPTR
    CLR   C
    SUBB  A,00FH
    JZ    L1E9C
    JNC   L1E9C
    INC   DPTR
    INC   DPTR
    INC   DPTR
    DJNZ  R0,L1E8D
L1E9C:    MOV   A,R2
    MOV   041H,A
    RL    A
    MOV   B,A
    MOV   DPTR,#D1EB7;取数据DATABUFF
    MOVC  A,@A+DPTR
    MOV   R0,A
    MOV   A,B
    INC   A
    MOVC  A,@A+DPTR
    MOV   R1,A
    MOV   DPTR,#1000H;CLOCK SHOP SETTINGS
    MOV   A,R0
    MOVX  @DPTR,A
    INC   DPTR
    MOV   A,R1
    MOVX  @DPTR,A
    LJMP  S1CFA
;-------数据区------------------------------------------
D1EB7:    DB    060H,040H,060H,000H,060H,080H,040H,040H
D1EBF:    DB    040H,000H,040H,080H,020H,040H,020H,000H
D1EC7:    DB    020H,080H,000H,040H,000H,000H,000H,080H
;-------------------------------------------------------
S1ECF:    MOV   A,031H
    SWAP  A
L1ED2:    ANL   A,#003H
    MOV   DPTR,#D1F4B
    MOVC  A,@A+DPTR
    CJNE  R7,#002H,L1EE1
    JNB   ACC.7,L1F0E
    MOV   A,#001H
    RET
S1718:    LCALL S1F57
    JZ    L174A
    MOV   A,031H
    ANL   A,#00FH
    CJNE  A,#003H,L1733
    MOV   A,02AH
    ANL   A,#0F7H
    MOV   02AH,A
    MOV   DPTR,#0801H;ADIF CONTROL
    MOVX  @DPTR,A
    ANL   035H,#0FDH
    AJMP  L1759
L1733:    MOV   A,035H
    JB    ACC.1,L173E
    MOV   A,02AH
    ORL   A,#008H
    SJMP  L1742
L173E:    MOV   A,02AH
    ANL   A,#0F7H
L1742:    MOV   02AH,A
    MOV   DPTR,#0801H;ADIF CONTROL
    MOVX  @DPTR,A
    AJMP  L1759
L174A:    MOV   A,035H
    JB    ACC.1,L1753
    MOV   A,028H
    SJMP  L1755
L1753:    MOV   A,029H
L1755:    MOV   DPTR,#0800H;PGA GAIN
    MOVX  @DPTR,A
L1759:    MOV   A,02DH
    JNB   ACC.6,L1761
    LCALL S08DE
L1761:    RET
S1762:    LCALL S264B
    ANL   A,#00FH
    MOV   DPTR,#L176D;AJMP散转表
    CLR   C
    RLC   A;*2
    JMP   @A+DPTR;?
L176D:    AJMP  L1777
L176F:    AJMP  L1779
L1771:    AJMP  L177C
L1773:    AJMP  L177F
L1775:    AJMP  L1781
L1777:    CLR   A
    RET
L1779:    MOV   A,03EH
    RET
L177C:    MOV   A,03FH
    RET
L177F:    CLR   A
    RET
L1781:    MOV   A,030H
    JB    ACC.7,L178A
    LCALL S2A51;读USB信息
    RET
L178A:    CLR   A
    RET
S178C:    LCALL S264B
    MOV   B,A
    ANL   A,#00FH;有漏洞!!!(ANL A,#7;好些)
    MOV   DPTR,#L1799;SJMP散转表
    CLR   C
    RLC   A;*2
    JMP   @A+DPTR;?
L1799:    SJMP  L17A3
L179B:    SJMP  L17B0
L179D:    SJMP  L17E0
L179F:    SJMP  L17A3
L17A1:    SJMP  L17A5
L17A3:    CLR   A
    RET
L17A5:    MOV   A,030H
    JB    ACC.7,L17AE
    LCALL S2A51;读USB信息
    RET
L17AE:    CLR   A
    RET
L17B0:    MOV   A,B
    SWAP  A
    ANL   A,#00FH
    MOV   B,A
    CLR   C
    SUBB  A,#00BH
    JC    L17BF
    MOV   A,#0FFH
    RET
L17BF:    MOV   A,B
    MOV   03EH,A
    MOV   DPTR,#D17D5
    MOVC  A,@A+DPTR
    MOV   R7,A
    MOV   A,027H
    ANL   A,#0F0H
    ORL   A,R7
    MOV   027H,A
    MOV   DPTR,#2000H;ASR SETTINGS
    MOVX  @DPTR,A
    CLR   A
    RET
D17D5:    DB    006H,005H,007H,009H,00BH,00DH,00FH,009H
D17DD:    DB    00BH,009H,00BH
L17E0:    MOV   A,B
    SWAP  A
    ANL   A,#00FH
    MOV   B,A
    LCALL S1F57
    JZ    L17F3
    MOV   A,B
    CLR   C
    SUBB  A,#007H
    SJMP  L17F8
L17F3:    MOV   A,B
    CLR   C
    SUBB  A,#009H
L17F8:    JC    L17FE
    MOV   A,#0FFH
    SJMP  L1815
L17FE:    MOV   A,B
    MOV   03FH,A
    MOV   A,02AH
    ANL   A,#08FH
    MOV   R0,A
    MOV   DPTR,#D1816
    MOV   A,B
    MOVC  A,@A+DPTR
    ORL   A,R0
    MOV   02AH,A
    MOV   DPTR,#0801H;ADIF CONTROL
    MOVX  @DPTR,A
    CLR   A
L1815:    RET
D1816:    DB    050H,020H,030H,040H,050H,060H,070H,040H
D181E:    DB    050H
S181F:    MOV   A,042H
    MOV   DPTR,#D1669
    LCALL S2C5B;取散转向量表
    RET
S1828:    CLR   019H
    MOV   R0,#012H
    CJNE  @R0,#000H,L1833
L182F:    LCALL S21C3
    RET
L1833:    CJNE  @R0,#085H,L1842
    MOV   R0,#00EH
    CJNE  @R0,#0A2H,L183D
    SJMP  L182F
L183D:    CJNE  @R0,#022H,L1842
    SJMP  L182F
L1842:    LCALL S0FCB
    RET
L1846:    MOV   R7,013H
    LCALL S1ECF
    CJNE  A,#001H,L1863
    MOV   A,010H
    CJNE  A,#000H,L1855
    SJMP  L1858
L1855:    CJNE  A,#0FFH,L1863
L1858:    MOV   A,02BH
    ANL   A,#002H
    RR    A
    MOV   00EH,A
    LCALL S169E
    RET
L1863:    LCALL S2A51
    RET
L1867:    MOV   R7,013H
    LCALL S1ECF
    JZ    L18CD
    CJNE  A,#001H,L187F
    MOV   A,038H
    LCALL S146F
    MOV   00EH,#000H
    MOV   00FH,A
    LCALL S16AF
    RET
L187F:    CJNE  R7,#009H,L1886
    MOV   A,028H
    SJMP  L188B
L1886:    CJNE  R7,#00AH,L18CD
    MOV   A,029H
L188B:    ANL   A,#007H
    MOV   R7,A
    LCALL S14DC
    MOV   00EH,R7
    MOV   00FH,R6
    LCALL S16AF
    RET
L1899:    MOV   R7,013H
    LCALL S1ECF
    JZ    L18CD
    CJNE  A,#001H,L18B1
    MOV   A,037H
    LCALL S146F
    MOV   00EH,#000H
    MOV   00FH,A
    LCALL S16AF
    RET
L18B1:    CJNE  R7,#009H,L18B8
    MOV   A,028H
    SJMP  L18BD
L18B8:    CJNE  R7,#00AH,L18CD
    MOV   A,029H
L18BD:    RL    A
    SWAP  A
    ANL   A,#007H
    MOV   R7,A
    LCALL S14DC
    MOV   00EH,R7
    MOV   00FH,R6
    LCALL S16AF
    RET
L18CD:    LCALL S2A51
    RET
L18D1:    MOV   R7,013H
    LCALL S1ECF
    JZ    L18CD
    CJNE  A,#001H,L18F8
    MOV   A,010H
    CJNE  A,#0FFH,L18CD
    MOV   A,038H
    LCALL S146F
    MOV   00FH,A
    MOV   A,037H
    LCALL S146F
    MOV   011H,A
    MOV   00EH,#000H
    MOV   010H,#000H
    LCALL S16F5
    RET
L18F8:    MOV   A,010H
    CJNE  A,#0FFH,L18CD
    CJNE  R7,#009H,L1904
    MOV   A,028H
    SJMP  L1909
L1904:    CJNE  R7,#00AH,L18CD
    MOV   A,029H
L1909:    PUSH  ACC
    ANL   A,#007H
    MOV   R7,A
    LCALL S14DC
    MOV   00EH,R7
    MOV   00FH,R6
    POP   ACC
    RL    A
    SWAP  A
    ANL   A,#007H
    MOV   R7,A
    LCALL S14DC
    MOV   010H,R7
    MOV   011H,R6
    LCALL S16F5
    RET
L1927:    MOV   R7,013H
    LCALL S1ECF
    JZ    L194D
    CJNE  A,#001H,L194D
    CJNE  R7,#00CH,L1936
    SJMP  L194D
L1936:    MOV   A,010H
    CJNE  A,#000H,L193D
    SJMP  L1940
L193D:    CJNE  A,#0FFH,L194D
L1940:    MOV   A,039H
    LCALL S136A
    RL    A
    RL    A
    MOV   00EH,A
    LCALL S169E
    RET
L194D:    LCALL S2A51
    RET
L1951:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1977
    CJNE  A,#001H,L1977
    CJNE  R7,#00CH,L1960
    SJMP  L1977
L1960:    MOV   A,010H
    CJNE  A,#000H,L1967
    SJMP  L196A
L1967:    CJNE  A,#0FFH,L1977
L196A:    MOV   A,03AH
    LCALL S137D
    RL    A
    RL    A
    MOV   00EH,A
    LCALL S169E
    RET
L1977:    LCALL S2A51
    RET
L197B:    MOV   R7,013H
    LCALL S1ECF
    JZ    L199A
    CJNE  R7,#00BH,L199A
    MOV   A,010H
    CJNE  A,#000H,L198C
    SJMP  L198F
L198C:    CJNE  A,#0FFH,L199A
L198F:    MOV   A,03BH
    ANL   A,#080H
    RL    A
    MOV   00EH,A
    LCALL S169E
    RET
L199A:    LCALL S2A51
L199D:    RET
L199E:    MOV   R7,013H
    LCALL S1ECF
    JZ    L199A
    MOV   A,035H
    ANL   A,#002H
    RR    A
    INC   A
    MOV   00EH,A
    LCALL S169E
    RET
L19B1:    LCALL S1F57
    JZ    L19C2
    MOV   R0,#080H
    MOV   00EH,@R0
    INC   R0
    MOV   00FH,@R0
    INC   R0
    MOV   010H,@R0
    SJMP  L19D9
L19C2:    MOV   DPTR,#D0484
    MOV   A,041H
    MOV   B,#003H
    MUL   AB
    MOV   R0,A
    INC   R0
    MOVC  A,@A+DPTR
    MOV   00EH,A
    MOV   A,R0
    INC   R0
    MOVC  A,@A+DPTR
    MOV   00FH,A
    MOV   A,R0
    MOVC  A,@A+DPTR
    MOV   010H,A
L19D9:    LCALL S16D2
    RET
L19DD:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1A2A
    CJNE  A,#001H,L19F1
    MOV   00EH,#000H
    MOV   00FH,#0C4H
    LCALL S16AF
    RET
L19F1:    MOV   00EH,#000H
    MOV   00FH,#000H
    LCALL S16AF
    RET
L19FB:    MOV   A,010H
    CJNE  A,#0FFH,L1A2A
    MOV   R7,013H
    LCALL S1ECF
    JZ    L1A2A
    CJNE  A,#001H,L1A1A
    MOV   00EH,#000H
    MOV   00FH,#0C4H
    MOV   010H,#000H
    MOV   011H,#0C4H
    LCALL S16F5
    RET
L1A1A:    MOV   00EH,#000H
    MOV   00FH,#000H
    MOV   010H,#000H
    MOV   011H,#000H
    LCALL S16F5
    RET
L1A2A:    LCALL S2A51
    RET
L1A2E:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1A4E
    CJNE  A,#001H,L1A4E
    CJNE  R7,#00CH,L1A3D
    SJMP  L1A4E
L1A3D:    MOV   A,010H
    CJNE  A,#000H,L1A44
    SJMP  L1A47
L1A44:    CJNE  A,#0FFH,L1A4E
L1A47:    MOV   00EH,#000H
    LCALL S169E
    RET
L1A4E:    LCALL S2A51
    RET
L1A52:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1A4E
    MOV   00EH,#001H
    LCALL S169E
    RET
L1A60:    LCALL S1F57
    JZ    L1A70
    MOV   00EH,#044H
    MOV   00FH,#0ACH
    MOV   010H,#000H
    SJMP  L1A81
L1A70:    MOV   DPTR,#D0484
    CLR   A
    MOVC  A,@A+DPTR
    MOV   00EH,A
    INC   DPTR
    CLR   A
    MOVC  A,@A+DPTR
    MOV   00FH,A
    INC   DPTR
    CLR   A
    MOVC  A,@A+DPTR
    MOV   010H,A
L1A81:    LCALL S16D2
    RET
L1A85:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1AD2
    CJNE  A,#001H,L1A99
    MOV   00EH,#000H
    MOV   00FH,#000H
    LCALL S16AF
    RET
L1A99:    MOV   00EH,#000H
    MOV   00FH,#01BH
    LCALL S16AF
    RET
L1AA3:    MOV   A,010H
    CJNE  A,#0FFH,L1AD2
    MOV   R7,013H
    LCALL S1ECF
    JZ    L1AD2
    CJNE  A,#001H,L1AC2
    MOV   00EH,#000H
    MOV   00FH,#000H
    MOV   010H,#000H
    MOV   011H,#000H
    LCALL S16F5
    RET
L1AC2:    MOV   00EH,#000H
    MOV   00FH,#01BH
    MOV   010H,#000H
    MOV   011H,#01BH
    LCALL S16F5
    RET
L1AD2:    LCALL S2A51
    RET
L1AD6:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1AF6
    CJNE  A,#001H,L1AF6
    CJNE  R7,#00CH,L1AE5
    SJMP  L1AF6
L1AE5:    MOV   A,010H
    CJNE  A,#000H,L1AEC
    SJMP  L1AEF
L1AEC:    CJNE  A,#0FFH,L1AF6
L1AEF:    MOV   00EH,#060H
    LCALL S169E
    RET
L1AF6:    LCALL S2A51
    RET
L1AFA:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1B1A
    CJNE  A,#001H,L1B1A
    CJNE  R7,#00CH,L1B09
    SJMP  L1B1A
L1B09:    MOV   A,010H
    CJNE  A,#000H,L1B10
    SJMP  L1B13
L1B10:    CJNE  A,#0FFH,L1B1A
L1B13:    MOV   00EH,#018H
    LCALL S169E
    RET
L1B1A:    LCALL S2A51
    RET
L1B1E:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1B1A
    MOV   00EH,#002H
    LCALL S169E
    RET
L1B2C:    MOV   A,031H
    ANL   A,#00FH
    CJNE  A,#003H,L1B41
    CJNE  A,#004H,L1B41
    MOV   00EH,#080H
    MOV   00FH,#0BBH
    MOV   010H,#000H
    SJMP  L1B52
L1B41:    MOV   DPTR,#D04A5
    CLR   A
    MOVC  A,@A+DPTR
    MOV   00EH,A
    INC   DPTR
    CLR   A
    MOVC  A,@A+DPTR
    MOV   00FH,A
    INC   DPTR
    CLR   A
    MOVC  A,@A+DPTR
    MOV   010H,A
L1B52:    LCALL S16D2
    RET
L1B56:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1BA3
    CJNE  A,#001H,L1B6A
    MOV   00EH,#000H
    MOV   00FH,#001H
    LCALL S16AF
    RET
L1B6A:    MOV   00EH,#000H
    MOV   00FH,#003H
    LCALL S16AF
    RET
L1B74:    MOV   A,010H
    CJNE  A,#0FFH,L1BA3
L1B79:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1BA3
    CJNE  A,#001H,L1B93
    MOV   00EH,#000H
    MOV   00FH,#001H
    MOV   010H,#000H
    MOV   011H,#001H
    LCALL S16F5
    RET
L1B93:    MOV   00EH,#000H
    MOV   00FH,#003H
    MOV   010H,#000H
    MOV   011H,#003H
    LCALL S16F5
    RET
L1BA3:    LCALL S2A51
    RET
L1BA7:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1BC7
    CJNE  A,#001H,L1BC7
    CJNE  R7,#00CH,L1BB6
    SJMP  L1BC7
L1BB6:    MOV   A,010H
    CJNE  A,#000H,L1BBD
    SJMP  L1BC0
L1BBD:    CJNE  A,#0FFH,L1BC7
L1BC0:    MOV   00EH,#008H
    LCALL S169E
    RET
L1BC7:    LCALL S2A51
    RET
L1BCB:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1BC7
    MOV   00EH,#001H
    LCALL S169E
    RET
L1BD9:    MOV   00EH,#001H
    MOV   00FH,#000H
    MOV   010H,#000H
    LCALL S16D2
    RET
L1BE6:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1C03
    CJNE  A,#001H,L1C03
    MOV   A,010H
    CJNE  A,#000H,L1BF7
    SJMP  L1BFA
L1BF7:    CJNE  A,#0FFH,L1C03
L1BFA:    MOV   042H,#001H
    LCALL S2A8B
    MOV   R1,#000H
    RET
L1C03:    LCALL S2A51
    RET
L1C07:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1C6F
    CJNE  A,#001H,L1C16
    MOV   042H,#002H
    SJMP  L1C21
L1C16:    CJNE  R7,#009H,L1C1E
    MOV   042H,#00CH
    SJMP  L1C21
L1C1E:    MOV   042H,#00FH
L1C21:    LCALL S2A8B
    MOV   R1,#000H
    RET
L1C27:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1C6F
    CJNE  A,#001H,L1C36
    MOV   042H,#003H
    SJMP  L1C41
L1C36:    CJNE  R7,#009H,L1C3E
    MOV   042H,#00DH
    SJMP  L1C41
L1C3E:    MOV   042H,#010H
L1C41:    LCALL S2A8B
    MOV   R1,#000H
    RET
L1C47:    MOV   A,010H
    CJNE  A,#0FFH,L1C6F
    MOV   R7,013H
    LCALL S1ECF
    JZ    L1C6F
    CJNE  A,#001H,L1C5B
    MOV   042H,#004H
    SJMP  L1C69
L1C5B:    CJNE  R7,#009H,L1C63
    MOV   042H,#00EH
    SJMP  L1C69
L1C63:    CJNE  R7,#00AH,L1C6F
    MOV   042H,#011H
L1C69:    LCALL S2A8B
    MOV   R1,#000H
    RET
L1C6F:    LCALL S2A51
    RET
L1C73:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1C96
    CJNE  A,#001H,L1C96
    CJNE  R7,#00CH,L1C83
    LJMP  L1AF6
L1C83:    MOV   A,010H
    CJNE  A,#000H,L1C8A
    SJMP  L1C8D
L1C8A:    CJNE  A,#0FFH,L1C96
L1C8D:    MOV   042H,#005H
    LCALL S2A8B
    MOV   R1,#000H
    RET
L1C96:    LCALL S2A51
    RET
L1C9A:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1CBC
L1CA1:    CJNE  A,#001H,L1CBC
    CJNE  R7,#00CH,L1CA9
    SJMP  L1CBC
L1CA9:    MOV   A,010H
    CJNE  A,#000H,L1CB0
    SJMP  L1CB3
L1CB0:    CJNE  A,#0FFH,L1CBC
L1CB3:    MOV   042H,#006H
    MOV   R1,#000H
    LCALL S2A8B
    RET
L1CBC:    LCALL S2A51;读USB信息
    RET
L1CC0:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1CDD
    CJNE  R7,#00BH,L1CDD
    MOV   A,010H
    CJNE  A,#000H,L1CD1
    SJMP  L1CD4
L1CD1:    CJNE  A,#0FFH,L1CDD
L1CD4:    MOV   042H,#007H
    LCALL S2A8B
    MOV   R1,#000H
    RET
L1CDD:    LCALL S2A51;读USB信息
    RET
L1CE1:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1CDD
    MOV   042H,#009H
    MOV   R1,#000H
    LCALL S2A8B
    RET
L1CF1:    MOV   042H,#00AH
    MOV   R1,#000H
    LCALL S2A8B
    RET
S1CFA:    MOV   042H,#000H
    RET
S1CFE:    MOV   A,00EH
    ANL   A,#001H
    RL    A
    MOV   R0,A
    MOV   A,02BH
    ANL   A,#0FDH
    ORL   A,R0
    MOV   02BH,A
    LCALL S0965;control registers
    SJMP  S1CFA
S1D10:    MOV   A,00FH
    LCALL S1483
    MOV   038H,A
    LCALL S13F0
    SJMP  S1CFA
S1D1C:    MOV   A,00FH
    LCALL S1483
    MOV   037H,A
    LCALL S13F0
    SJMP  S1CFA
S1D28:    MOV   A,00FH
    LCALL S1483
    MOV   038H,A
    MOV   A,011H
    LCALL S1483
    MOV   037H,A
    LCALL S13F0
    SJMP  S1CFA
S1D3B:    MOV   R7,00EH
    MOV   R6,00FH
    LCALL S14AD
    PUSH  ACC
    MOV   A,028H
    ANL   A,#0F8H
    POP   B
    ORL   A,B
    MOV   028H,A
    LCALL S1718
    SJMP  S1CFA
S1D53:    MOV   R7,00EH
    MOV   R6,00FH
    LCALL S14AD
    RL    A
    RL    A
    RL    A
    PUSH  ACC
    MOV   A,028H
    ANL   A,#0C7H
    POP   B
    ORL   A,B
    MOV   028H,A
    LCALL S1718
    SJMP  S1CFA
S1D6E:    MOV   R7,00EH
    MOV   R6,00FH
    LCALL S14AD
    PUSH  ACC
    MOV   R7,010H
    MOV   R6,011H
    LCALL S14AD
    RL    A
    RL    A
    RL    A
    PUSH  ACC
    MOV   A,028H
    ANL   A,#0C0H
    POP   B
    ORL   A,B
    POP   B
    ORL   A,B
    MOV   028H,A
    LCALL S1718
    LJMP  S1CFA
S1D97:    MOV   R7,00EH
    MOV   R6,00FH
    LCALL S14AD
    PUSH  ACC
    MOV   A,029H
    ANL   A,#0F8H
    POP   B
    ORL   A,B
    MOV   029H,A
    LCALL S1718
    LJMP  S1CFA
S1DB0:    MOV   R7,00EH
    MOV   R6,00FH
    LCALL S14AD
    RL    A
    RL    A
    RL    A
    PUSH  ACC
    MOV   A,029H
    ANL   A,#0C7H
    POP   B
    ORL   A,B
    MOV   029H,A
    LCALL S1718
    LJMP  S1CFA
S1DCC:    MOV   R7,00EH
    MOV   R6,00FH
    LCALL S14AD
    PUSH  ACC
    MOV   R7,010H
    MOV   R6,011H
    LCALL S14AD
    RL    A
    RL    A
    RL    A
    PUSH  ACC
    MOV   A,029H
    ANL   A,#0C0H
    POP   B
    ORL   A,B
    POP   B
    ORL   A,B
    MOV   029H,A
    LCALL S1718
    LJMP  S1CFA
S1DF5:    MOV   A,00EH
    JNB   ACC.7,L1DFB
    CLR   A
L1DFB:    ADD   A,#003H
    ANL   A,#0FCH
    RR    A
    RR    A
    LCALL S1387
    MOV   039H,A
    LCALL S13F0
    LJMP  S1CFA
S1E0C:    MOV   A,00EH
    JNB   ACC.7,L1E13
    MOV   A,#000H
L1E13:    ADD   A,#003H
    ANL   A,#0FCH
    RR    A
    RR    A
    LCALL S13C7
    MOV   03AH,A
    LCALL S13F0
    LJMP  S1CFA
S1E24:    MOV   A,00EH
    ANL   A,#001H
    RR    A
    MOV   R0,A
    MOV   A,03BH
    ANL   A,#07FH
    ORL   A,R0
    MOV   03BH,A
    LCALL S13F0
    LJMP  S1CFA
S1E37:    MOV   A,00EH
    CLR   C
    SUBB  A,#002H
    JNC   L1E43
    ANL   035H,#0FDH
    SJMP  L1E46
L1E43:    ORL   035H,#002H
L1E46:    LCALL S1718
    LJMP  S1CFA
S1E4C:    LCALL S1F57
    JZ    L1E72
    MOV   R0,#082H
    MOV   @R0,#000H
    MOV   A,010H
    JNZ   L1E69
    MOV   A,00FH
    CLR   C
    SUBB  A,#0B3H
    JNC   L1E69
    DEC   R0
    MOV   @R0,#0ACH
    DEC   R0
    MOV   @R0,#044H
    LJMP  S1CFA
L1E69:    DEC   R0
    MOV   @R0,#0BBH
    DEC   R0
    MOV   @R0,#080H
    LJMP  S1CFA
L1E72:    MOV   A,03FH
    CLR   C
    SUBB  A,#007H
    JNC   L1E7F
    MOV   R0,#00CH
    MOV   R2,#00BH
    SJMP  L1E83
L1E7F:    MOV   R0,#007H
    MOV   R2,#006H
L1E83:    MOV   A,010H
    CJNE  A,#000H,L1E9C
    MOV   DPTR,#D0485
    MOV   R2,#0FFH
L1E8D:    INC   R2
    CLR   A
    MOVC  A,@A+DPTR
    CLR   C
    SUBB  A,00FH
    JZ    L1E9C
    JNC   L1E9C
    INC   DPTR
    INC   DPTR
    INC   DPTR
    DJNZ  R0,L1E8D
L1E9C:    MOV   A,R2
    MOV   041H,A
    RL    A
    MOV   B,A
    MOV   DPTR,#D1EB7;取数据DATABUFF
    MOVC  A,@A+DPTR
    MOV   R0,A
    MOV   A,B
    INC   A
    MOVC  A,@A+DPTR
    MOV   R1,A
    MOV   DPTR,#1000H;CLOCK SHOP SETTINGS
    MOV   A,R0
    MOVX  @DPTR,A
    INC   DPTR
    MOV   A,R1
    MOVX  @DPTR,A
    LJMP  S1CFA
;-------数据区------------------------------------------
D1EB7:    DB    060H,040H,060H,000H,060H,080H,040H,040H
D1EBF:    DB    040H,000H,040H,080H,020H,040H,020H,000H
D1EC7:    DB    020H,080H,000H,040H,000H,000H,000H,080H
;-------------------------------------------------------
S1ECF:    MOV   A,031H
    SWAP  A
L1ED2:    ANL   A,#003H
    MOV   DPTR,#D1F4B
    MOVC  A,@A+DPTR
    CJNE  R7,#002H,L1EE1
    JNB   ACC.7,L1F0E
    MOV   A,#001H
    RET
S1718:    LCALL S1F57
    JZ    L174A
    MOV   A,031H
    ANL   A,#00FH
    CJNE  A,#003H,L1733
    MOV   A,02AH
    ANL   A,#0F7H
    MOV   02AH,A
    MOV   DPTR,#0801H;ADIF CONTROL
    MOVX  @DPTR,A
    ANL   035H,#0FDH
    AJMP  L1759
L1733:    MOV   A,035H
    JB    ACC.1,L173E
    MOV   A,02AH
    ORL   A,#008H
    SJMP  L1742
L173E:    MOV   A,02AH
    ANL   A,#0F7H
L1742:    MOV   02AH,A
    MOV   DPTR,#0801H;ADIF CONTROL
    MOVX  @DPTR,A
    AJMP  L1759
L174A:    MOV   A,035H
    JB    ACC.1,L1753
    MOV   A,028H
    SJMP  L1755
L1753:    MOV   A,029H
L1755:    MOV   DPTR,#0800H;PGA GAIN
    MOVX  @DPTR,A
L1759:    MOV   A,02DH
    JNB   ACC.6,L1761
    LCALL S08DE
L1761:    RET
S1762:    LCALL S264B
    ANL   A,#00FH
    MOV   DPTR,#L176D;AJMP散转表
    CLR   C
    RLC   A;*2
    JMP   @A+DPTR;?
L176D:    AJMP  L1777
L176F:    AJMP  L1779
L1771:    AJMP  L177C
L1773:    AJMP  L177F
L1775:    AJMP  L1781
L1777:    CLR   A
    RET
L1779:    MOV   A,03EH
    RET
L177C:    MOV   A,03FH
    RET
L177F:    CLR   A
    RET
L1781:    MOV   A,030H
    JB    ACC.7,L178A
    LCALL S2A51;读USB信息
    RET
L178A:    CLR   A
    RET
S178C:    LCALL S264B
    MOV   B,A
    ANL   A,#00FH;有漏洞!!!(ANL A,#7;好些)
    MOV   DPTR,#L1799;SJMP散转表
    CLR   C
    RLC   A;*2
    JMP   @A+DPTR;?
L1799:    SJMP  L17A3
L179B:    SJMP  L17B0
L179D:    SJMP  L17E0
L179F:    SJMP  L17A3
L17A1:    SJMP  L17A5
L17A3:    CLR   A
    RET
L17A5:    MOV   A,030H
    JB    ACC.7,L17AE
    LCALL S2A51;读USB信息
    RET
L17AE:    CLR   A
    RET
L17B0:    MOV   A,B
    SWAP  A
    ANL   A,#00FH
    MOV   B,A
    CLR   C
    SUBB  A,#00BH
    JC    L17BF
    MOV   A,#0FFH
    RET
L17BF:    MOV   A,B
    MOV   03EH,A
    MOV   DPTR,#D17D5
    MOVC  A,@A+DPTR
    MOV   R7,A
    MOV   A,027H
    ANL   A,#0F0H
    ORL   A,R7
    MOV   027H,A
    MOV   DPTR,#2000H;ASR SETTINGS
    MOVX  @DPTR,A
    CLR   A
    RET
D17D5:    DB    006H,005H,007H,009H,00BH,00DH,00FH,009H
D17DD:    DB    00BH,009H,00BH
L17E0:    MOV   A,B
    SWAP  A
    ANL   A,#00FH
    MOV   B,A
    LCALL S1F57
    JZ    L17F3
    MOV   A,B
    CLR   C
    SUBB  A,#007H
    SJMP  L17F8
L17F3:    MOV   A,B
    CLR   C
    SUBB  A,#009H
L17F8:    JC    L17FE
    MOV   A,#0FFH
    SJMP  L1815
L17FE:    MOV   A,B
    MOV   03FH,A
    MOV   A,02AH
    ANL   A,#08FH
    MOV   R0,A
    MOV   DPTR,#D1816
    MOV   A,B
    MOVC  A,@A+DPTR
    ORL   A,R0
    MOV   02AH,A
    MOV   DPTR,#0801H;ADIF CONTROL
    MOVX  @DPTR,A
    CLR   A
L1815:    RET
D1816:    DB    050H,020H,030H,040H,050H,060H,070H,040H
D181E:    DB    050H
S181F:    MOV   A,042H
    MOV   DPTR,#D1669
    LCALL S2C5B;取散转向量表
    RET
S1828:    CLR   019H
    MOV   R0,#012H
    CJNE  @R0,#000H,L1833
L182F:    LCALL S21C3
    RET
L1833:    CJNE  @R0,#085H,L1842
    MOV   R0,#00EH
    CJNE  @R0,#0A2H,L183D
    SJMP  L182F
L183D:    CJNE  @R0,#022H,L1842
    SJMP  L182F
L1842:    LCALL S0FCB
    RET
L1846:    MOV   R7,013H
    LCALL S1ECF
    CJNE  A,#001H,L1863
    MOV   A,010H
    CJNE  A,#000H,L1855
    SJMP  L1858
L1855:    CJNE  A,#0FFH,L1863
L1858:    MOV   A,02BH
    ANL   A,#002H
    RR    A
    MOV   00EH,A
    LCALL S169E
    RET
L1863:    LCALL S2A51
    RET
L1867:    MOV   R7,013H
    LCALL S1ECF
    JZ    L18CD
    CJNE  A,#001H,L187F
    MOV   A,038H
    LCALL S146F
    MOV   00EH,#000H
    MOV   00FH,A
    LCALL S16AF
    RET
L187F:    CJNE  R7,#009H,L1886
    MOV   A,028H
    SJMP  L188B
L1886:    CJNE  R7,#00AH,L18CD
    MOV   A,029H
L188B:    ANL   A,#007H
    MOV   R7,A
    LCALL S14DC
    MOV   00EH,R7
    MOV   00FH,R6
    LCALL S16AF
    RET
L1899:    MOV   R7,013H
    LCALL S1ECF
    JZ    L18CD
    CJNE  A,#001H,L18B1
    MOV   A,037H
    LCALL S146F
    MOV   00EH,#000H
    MOV   00FH,A
    LCALL S16AF
    RET
L18B1:    CJNE  R7,#009H,L18B8
    MOV   A,028H
    SJMP  L18BD
L18B8:    CJNE  R7,#00AH,L18CD
    MOV   A,029H
L18BD:    RL    A
    SWAP  A
    ANL   A,#007H
    MOV   R7,A
    LCALL S14DC
    MOV   00EH,R7
    MOV   00FH,R6
    LCALL S16AF
    RET
L18CD:    LCALL S2A51
    RET
L18D1:    MOV   R7,013H
    LCALL S1ECF
    JZ    L18CD
    CJNE  A,#001H,L18F8
    MOV   A,010H
    CJNE  A,#0FFH,L18CD
    MOV   A,038H
    LCALL S146F
    MOV   00FH,A
    MOV   A,037H
    LCALL S146F
    MOV   011H,A
    MOV   00EH,#000H
    MOV   010H,#000H
    LCALL S16F5
    RET
L18F8:    MOV   A,010H
    CJNE  A,#0FFH,L18CD
    CJNE  R7,#009H,L1904
    MOV   A,028H
    SJMP  L1909
L1904:    CJNE  R7,#00AH,L18CD
    MOV   A,029H
L1909:    PUSH  ACC
    ANL   A,#007H
    MOV   R7,A
    LCALL S14DC
    MOV   00EH,R7
    MOV   00FH,R6
    POP   ACC
    RL    A
    SWAP  A
    ANL   A,#007H
    MOV   R7,A
    LCALL S14DC
    MOV   010H,R7
    MOV   011H,R6
    LCALL S16F5
    RET
L1927:    MOV   R7,013H
    LCALL S1ECF
    JZ    L194D
    CJNE  A,#001H,L194D
    CJNE  R7,#00CH,L1936
    SJMP  L194D
L1936:    MOV   A,010H
    CJNE  A,#000H,L193D
    SJMP  L1940
L193D:    CJNE  A,#0FFH,L194D
L1940:    MOV   A,039H
    LCALL S136A
    RL    A
    RL    A
    MOV   00EH,A
    LCALL S169E
    RET
L194D:    LCALL S2A51
    RET
L1951:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1977
    CJNE  A,#001H,L1977
    CJNE  R7,#00CH,L1960
    SJMP  L1977
L1960:    MOV   A,010H
    CJNE  A,#000H,L1967
    SJMP  L196A
L1967:    CJNE  A,#0FFH,L1977
L196A:    MOV   A,03AH
    LCALL S137D
    RL    A
    RL    A
    MOV   00EH,A
    LCALL S169E
    RET
L1977:    LCALL S2A51
    RET
L197B:    MOV   R7,013H
    LCALL S1ECF
    JZ    L199A
    CJNE  R7,#00BH,L199A
    MOV   A,010H
    CJNE  A,#000H,L198C
    SJMP  L198F
L198C:    CJNE  A,#0FFH,L199A
L198F:    MOV   A,03BH
    ANL   A,#080H
    RL    A
    MOV   00EH,A
    LCALL S169E
    RET
L199A:    LCALL S2A51
L199D:    RET
L199E:    MOV   R7,013H
    LCALL S1ECF
    JZ    L199A
    MOV   A,035H
    ANL   A,#002H
    RR    A
    INC   A
    MOV   00EH,A
    LCALL S169E
    RET
L19B1:    LCALL S1F57
    JZ    L19C2
    MOV   R0,#080H
    MOV   00EH,@R0
    INC   R0
    MOV   00FH,@R0
    INC   R0
    MOV   010H,@R0
    SJMP  L19D9
L19C2:    MOV   DPTR,#D0484
    MOV   A,041H
    MOV   B,#003H
    MUL   AB
    MOV   R0,A
    INC   R0
    MOVC  A,@A+DPTR
    MOV   00EH,A
    MOV   A,R0
    INC   R0
    MOVC  A,@A+DPTR
    MOV   00FH,A
    MOV   A,R0
    MOVC  A,@A+DPTR
    MOV   010H,A
L19D9:    LCALL S16D2
    RET
L19DD:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1A2A
    CJNE  A,#001H,L19F1
    MOV   00EH,#000H
    MOV   00FH,#0C4H
    LCALL S16AF
    RET
L19F1:    MOV   00EH,#000H
    MOV   00FH,#000H
    LCALL S16AF
    RET
L19FB:    MOV   A,010H
    CJNE  A,#0FFH,L1A2A
    MOV   R7,013H
    LCALL S1ECF
    JZ    L1A2A
    CJNE  A,#001H,L1A1A
    MOV   00EH,#000H
    MOV   00FH,#0C4H
    MOV   010H,#000H
    MOV   011H,#0C4H
    LCALL S16F5
    RET
L1A1A:    MOV   00EH,#000H
    MOV   00FH,#000H
    MOV   010H,#000H
    MOV   011H,#000H
    LCALL S16F5
    RET
L1A2A:    LCALL S2A51
    RET
L1A2E:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1A4E
    CJNE  A,#001H,L1A4E
    CJNE  R7,#00CH,L1A3D
    SJMP  L1A4E
L1A3D:    MOV   A,010H
    CJNE  A,#000H,L1A44
    SJMP  L1A47
L1A44:    CJNE  A,#0FFH,L1A4E
L1A47:    MOV   00EH,#000H
    LCALL S169E
    RET
L1A4E:    LCALL S2A51
    RET
L1A52:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1A4E
    MOV   00EH,#001H
    LCALL S169E
    RET
L1A60:    LCALL S1F57
    JZ    L1A70
    MOV   00EH,#044H
    MOV   00FH,#0ACH
    MOV   010H,#000H
    SJMP  L1A81
L1A70:    MOV   DPTR,#D0484
    CLR   A
    MOVC  A,@A+DPTR
    MOV   00EH,A
    INC   DPTR
    CLR   A
    MOVC  A,@A+DPTR
    MOV   00FH,A
    INC   DPTR
    CLR   A
    MOVC  A,@A+DPTR
    MOV   010H,A
L1A81:    LCALL S16D2
    RET
L1A85:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1AD2
    CJNE  A,#001H,L1A99
    MOV   00EH,#000H
    MOV   00FH,#000H
    LCALL S16AF
    RET
L1A99:    MOV   00EH,#000H
    MOV   00FH,#01BH
    LCALL S16AF
    RET
L1AA3:    MOV   A,010H
    CJNE  A,#0FFH,L1AD2
    MOV   R7,013H
    LCALL S1ECF
    JZ    L1AD2
    CJNE  A,#001H,L1AC2
    MOV   00EH,#000H
    MOV   00FH,#000H
    MOV   010H,#000H
    MOV   011H,#000H
    LCALL S16F5
    RET
L1AC2:    MOV   00EH,#000H
    MOV   00FH,#01BH
    MOV   010H,#000H
    MOV   011H,#01BH
    LCALL S16F5
    RET
L1AD2:    LCALL S2A51
    RET
L1AD6:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1AF6
    CJNE  A,#001H,L1AF6
    CJNE  R7,#00CH,L1AE5
    SJMP  L1AF6
L1AE5:    MOV   A,010H
    CJNE  A,#000H,L1AEC
    SJMP  L1AEF
L1AEC:    CJNE  A,#0FFH,L1AF6
L1AEF:    MOV   00EH,#060H
    LCALL S169E
    RET
L1AF6:    LCALL S2A51
    RET
L1AFA:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1B1A
    CJNE  A,#001H,L1B1A
    CJNE  R7,#00CH,L1B09
    SJMP  L1B1A
L1B09:    MOV   A,010H
    CJNE  A,#000H,L1B10
    SJMP  L1B13
L1B10:    CJNE  A,#0FFH,L1B1A
L1B13:    MOV   00EH,#018H
    LCALL S169E
    RET
L1B1A:    LCALL S2A51
    RET
L1B1E:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1B1A
    MOV   00EH,#002H
    LCALL S169E
    RET
L1B2C:    MOV   A,031H
    ANL   A,#00FH
    CJNE  A,#003H,L1B41
    CJNE  A,#004H,L1B41
    MOV   00EH,#080H
    MOV   00FH,#0BBH
    MOV   010H,#000H
    SJMP  L1B52
L1B41:    MOV   DPTR,#D04A5
    CLR   A
    MOVC  A,@A+DPTR
    MOV   00EH,A
    INC   DPTR
    CLR   A
    MOVC  A,@A+DPTR
    MOV   00FH,A
    INC   DPTR
    CLR   A
    MOVC  A,@A+DPTR
    MOV   010H,A
L1B52:    LCALL S16D2
    RET
L1B56:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1BA3
    CJNE  A,#001H,L1B6A
    MOV   00EH,#000H
    MOV   00FH,#001H
    LCALL S16AF
    RET
L1B6A:    MOV   00EH,#000H
    MOV   00FH,#003H
    LCALL S16AF
    RET
L1B74:    MOV   A,010H
    CJNE  A,#0FFH,L1BA3
L1B79:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1BA3
    CJNE  A,#001H,L1B93
    MOV   00EH,#000H
    MOV   00FH,#001H
    MOV   010H,#000H
    MOV   011H,#001H
    LCALL S16F5
    RET
L1B93:    MOV   00EH,#000H
    MOV   00FH,#003H
    MOV   010H,#000H
    MOV   011H,#003H
    LCALL S16F5
    RET
L1BA3:    LCALL S2A51
    RET
L1BA7:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1BC7
    CJNE  A,#001H,L1BC7
    CJNE  R7,#00CH,L1BB6
    SJMP  L1BC7
L1BB6:    MOV   A,010H
    CJNE  A,#000H,L1BBD
    SJMP  L1BC0
L1BBD:    CJNE  A,#0FFH,L1BC7
L1BC0:    MOV   00EH,#008H
    LCALL S169E
    RET
L1BC7:    LCALL S2A51
    RET
L1BCB:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1BC7
    MOV   00EH,#001H
    LCALL S169E
    RET
L1BD9:    MOV   00EH,#001H
    MOV   00FH,#000H
    MOV   010H,#000H
    LCALL S16D2
    RET
L1BE6:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1C03
    CJNE  A,#001H,L1C03
    MOV   A,010H
    CJNE  A,#000H,L1BF7
    SJMP  L1BFA
L1BF7:    CJNE  A,#0FFH,L1C03
L1BFA:    MOV   042H,#001H
    LCALL S2A8B
    MOV   R1,#000H
    RET
L1C03:    LCALL S2A51
    RET
L1C07:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1C6F
    CJNE  A,#001H,L1C16
    MOV   042H,#002H
    SJMP  L1C21
L1C16:    CJNE  R7,#009H,L1C1E
    MOV   042H,#00CH
    SJMP  L1C21
L1C1E:    MOV   042H,#00FH
L1C21:    LCALL S2A8B
    MOV   R1,#000H
    RET
L1C27:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1C6F
    CJNE  A,#001H,L1C36
    MOV   042H,#003H
    SJMP  L1C41
L1C36:    CJNE  R7,#009H,L1C3E
    MOV   042H,#00DH
    SJMP  L1C41
L1C3E:    MOV   042H,#010H
L1C41:    LCALL S2A8B
    MOV   R1,#000H
    RET
L1C47:    MOV   A,010H
    CJNE  A,#0FFH,L1C6F
    MOV   R7,013H
    LCALL S1ECF
    JZ    L1C6F
    CJNE  A,#001H,L1C5B
    MOV   042H,#004H
    SJMP  L1C69
L1C5B:    CJNE  R7,#009H,L1C63
    MOV   042H,#00EH
    SJMP  L1C69
L1C63:    CJNE  R7,#00AH,L1C6F
    MOV   042H,#011H
L1C69:    LCALL S2A8B
    MOV   R1,#000H
    RET
L1C6F:    LCALL S2A51
    RET
L1C73:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1C96
    CJNE  A,#001H,L1C96
    CJNE  R7,#00CH,L1C83
    LJMP  L1AF6
L1C83:    MOV   A,010H
    CJNE  A,#000H,L1C8A
    SJMP  L1C8D
L1C8A:    CJNE  A,#0FFH,L1C96
L1C8D:    MOV   042H,#005H
    LCALL S2A8B
    MOV   R1,#000H
    RET
L1C96:    LCALL S2A51
    RET
L1C9A:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1CBC
L1CA1:    CJNE  A,#001H,L1CBC
    CJNE  R7,#00CH,L1CA9
    SJMP  L1CBC
L1CA9:    MOV   A,010H
    CJNE  A,#000H,L1CB0
    SJMP  L1CB3
L1CB0:    CJNE  A,#0FFH,L1CBC
L1CB3:    MOV   042H,#006H
    MOV   R1,#000H
    LCALL S2A8B
    RET
L1CBC:    LCALL S2A51;读USB信息
    RET
L1CC0:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1CDD
    CJNE  R7,#00BH,L1CDD
    MOV   A,010H
    CJNE  A,#000H,L1CD1
    SJMP  L1CD4
L1CD1:    CJNE  A,#0FFH,L1CDD
L1CD4:    MOV   042H,#007H
    LCALL S2A8B
    MOV   R1,#000H
    RET
L1CDD:    LCALL S2A51;读USB信息
    RET
L1CE1:    MOV   R7,013H
    LCALL S1ECF
    JZ    L1CDD
    MOV   042H,#009H
    MOV   R1,#000H
    LCALL S2A8B
    RET
L1CF1:    MOV   042H,#00AH
    MOV   R1,#000H
    LCALL S2A8B
    RET
S1CFA:    MOV   042H,#000H
    RET
S1CFE:    MOV   A,00EH
    ANL   A,#001H
    RL    A
    MOV   R0,A
    MOV   A,02BH
    ANL   A,#0FDH
    ORL   A,R0
    MOV   02BH,A
    LCALL S0965;control registers
    SJMP  S1CFA
S1D10:    MOV   A,00FH
    LCALL S1483
    MOV   038H,A
    LCALL S13F0
    SJMP  S1CFA
S1D1C:    MOV   A,00FH
    LCALL S1483
    MOV   037H,A
    LCALL S13F0
    SJMP  S1CFA
S1D28:    MOV   A,00FH
    LCALL S1483
    MOV   038H,A
    MOV   A,011H
    LCALL S1483
    MOV   037H,A
    LCALL S13F0
    SJMP  S1CFA
S1D3B:    MOV   R7,00EH
    MOV   R6,00FH
    LCALL S14AD
    PUSH  ACC
    MOV   A,028H
    ANL   A,#0F8H
    POP   B
    ORL   A,B
    MOV   028H,A
    LCALL S1718
    SJMP  S1CFA
S1D53:    MOV   R7,00EH
    MOV   R6,00FH
    LCALL S14AD
    RL    A
    RL    A
    RL    A
    PUSH  ACC
    MOV   A,028H
    ANL   A,#0C7H
    POP   B
    ORL   A,B
    MOV   028H,A
    LCALL S1718
    SJMP  S1CFA
S1D6E:    MOV   R7,00EH
    MOV   R6,00FH
    LCALL S14AD
    PUSH  ACC
    MOV   R7,010H
    MOV   R6,011H
    LCALL S14AD
    RL    A
    RL    A
    RL    A
    PUSH  ACC
    MOV   A,028H
    ANL   A,#0C0H
    POP   B
    ORL   A,B
    POP   B
    ORL   A,B
    MOV   028H,A
    LCALL S1718
    LJMP  S1CFA
S1D97:    MOV   R7,00EH
    MOV   R6,00FH
    LCALL S14AD
    PUSH  ACC
    MOV   A,029H
    ANL   A,#0F8H
    POP   B
    ORL   A,B
    MOV   029H,A
    LCALL S1718
    LJMP  S1CFA
S1DB0:    MOV   R7,00EH
    MOV   R6,00FH
    LCALL S14AD
    RL    A
    RL    A
    RL    A
    PUSH  ACC
    MOV   A,029H
    ANL   A,#0C7H
    POP   B
    ORL   A,B
    MOV   029H,A
    LCALL S1718
    LJMP  S1CFA
S1DCC:    MOV   R7,00EH
    MOV   R6,00FH
    LCALL S14AD
    PUSH  ACC
    MOV   R7,010H
    MOV   R6,011H
    LCALL S14AD
    RL    A
    RL    A
    RL    A
    PUSH  ACC
    MOV   A,029H
    ANL   A,#0C0H
    POP   B
    ORL   A,B
    POP   B
    ORL   A,B
    MOV   029H,A
    LCALL S1718
    LJMP  S1CFA
S1DF5:    MOV   A,00EH
    JNB   ACC.7,L1DFB
    CLR   A
L1DFB:    ADD   A,#003H
    ANL   A,#0FCH
    RR    A
    RR    A
    LCALL S1387
    MOV   039H,A
    LCALL S13F0
    LJMP  S1CFA
S1E0C:    MOV   A,00EH
    JNB   ACC.7,L1E13
    MOV   A,#000H
L1E13:    ADD   A,#003H
    ANL   A,#0FCH
    RR    A
    RR    A
    LCALL S13C7
    MOV   03AH,A
    LCALL S13F0
    LJMP  S1CFA
S1E24:    MOV   A,00EH
    ANL   A,#001H
    RR    A
    MOV   R0,A
    MOV   A,03BH
    ANL   A,#07FH
    ORL   A,R0
    MOV   03BH,A
    LCALL S13F0
    LJMP  S1CFA
S1E37:    MOV   A,00EH
    CLR   C
    SUBB  A,#002H
    JNC   L1E43
    ANL   035H,#0FDH
    SJMP  L1E46
L1E43:    ORL   035H,#002H
L1E46:    LCALL S1718
    LJMP  S1CFA
S1E4C:    LCALL S1F57
    JZ    L1E72
    MOV   R0,#082H
    MOV   @R0,#000H
    MOV   A,010H
    JNZ   L1E69
    MOV   A,00FH
    CLR   C
    SUBB  A,#0B3H
    JNC   L1E69
    DEC   R0
    MOV   @R0,#0ACH
    DEC   R0
    MOV   @R0,#044H
    LJMP  S1CFA
L1E69:    DEC   R0
    MOV   @R0,#0BBH
    DEC   R0
    MOV   @R0,#080H
    LJMP  S1CFA
L1E72:    MOV   A,03FH
    CLR   C
    SUBB  A,#007H
    JNC   L1E7F
    MOV   R0,#00CH
    MOV   R2,#00BH
    SJMP  L1E83
L1E7F:    MOV   R0,#007H
    MOV   R2,#006H
L1E83:    MOV   A,010H
    CJNE  A,#000H,L1E9C
    MOV   DPTR,#D0485
    MOV   R2,#0FFH
L1E8D:    INC   R2
    CLR   A
    MOVC  A,@A+DPTR
    CLR   C
    SUBB  A,00FH
    JZ    L1E9C
    JNC   L1E9C
    INC   DPTR
    INC   DPTR
    INC   DPTR
    DJNZ  R0,L1E8D
L1E9C:    MOV   A,R2
    MOV   041H,A
    RL    A
    MOV   B,A
    MOV   DPTR,#D1EB7;取数据DATABUFF
    MOVC  A,@A+DPTR
    MOV   R0,A
    MOV   A,B
    INC   A
    MOVC  A,@A+DPTR
    MOV   R1,A
    MOV   DPTR,#1000H;CLOCK SHOP SETTINGS
    MOV   A,R0
    MOVX  @DPTR,A
    INC   DPTR
    MOV   A,R1
    MOVX  @DPTR,A
    LJMP  S1CFA
;-------数据区------------------------------------------
D1EB7:    DB    060H,040H,060H,000H,060H,080H,040H,040H
D1EBF:    DB    040H,000H,040H,080H,020H,040H,020H,000H
D1EC7:    DB    020H,080H,000H,040H,000H,000H,000H,080H
;-------------------------------------------------------
S1ECF:    MOV   A,031H
    SWAP  A
L1ED2:    ANL   A,#003H
    MOV   DPTR,#D1F4B
    MOVC  A,@A+DPTR
    CJNE  R7,#002H,L1EE1
    JNB   ACC.7,L1F0E
    MOV   A,#001H
    RET
L1EE1:    CJNE  R7,#006H,L1EEA
    JNB   ACC.6,L1F0E
    MOV   A,#001H
    RET
L1EEA:    CJNE  R7,#009H,L1EF3
    JNB   ACC.5,L1F0E
    MOV   A,#001H
    RET
L1EF3:    CJNE  R7,#00AH,L1EFC
    JNB   ACC.4,L1F0E
    MOV   A,#001H
    RET
L1EFC:    CJNE  R7,#00BH,L1F05
    JNB   ACC.3,L1F0E
    MOV   A,#001H
    RET
L1F05:    CJNE  R7,#00CH,L1F49
    JNB   ACC.2,L1F0E
    MOV   A,#001H
    RET
L1F0E:    MOV   A,031H
    ANL   A,#007H
    MOV   DPTR,#D1F4F
    MOVC  A,@A+DPTR
    CJNE  R7,#002H,L1F1F
    JNB   ACC.7,L1F49
    MOV   A,#002H
    RET
L1F1F:    CJNE  R7,#006H,L1F28
    JNB   ACC.6,L1F49
    MOV   A,#002H
    RET
L1F28:    CJNE  R7,#009H,L1F31
    JNB   ACC.5,L1F49
    MOV   A,#002H
    RET
L1F31:    CJNE  R7,#00AH,L1F3A
    JNB   ACC.4,L1F49
    MOV   A,#002H
    RET
L1F3A:    CJNE  R7,#00BH,L1F43
    JNB   ACC.3,L1F49
    MOV   A,#002H
    RET
L1F43:    JNB   ACC.2,L1F49
    MOV   A,#002H
    RET
L1F49:    CLR   A
    RET
D1F4B:    DB    080H,080H,008H,004H
D1F4F:    DB    000H,000H,040H,000H,040H,020H,070H,000H
S1F57:    MOV   A,031H
    ANL   A,#00FH
    DEC   A
    RL    A;*2 SJMP
    MOV   DPTR,#L1F61
    JMP   @A+DPTR;?
L1F61:    SJMP  L1F6D
L1F63:    SJMP  L1F6D
L1F65:    SJMP  L1F6F
L1F67:    SJMP  L1F6F
L1F69:    SJMP  L1F6D
L1F6B:    SJMP  L1F6D
L1F6D:    CLR   A
    RET
L1F6F:    MOV   A,#001H
    RET
S1F72:    CLR   019H
    MOV   R0,#00EH
    MOV   R1,#0FFH
    MOV   DPTR,#D1FDB;取数据DATABUFF
    LCALL S2C8E
    CJNE  R1,#000H,L1F82
    RET
L1F82:    LCALL S2A51;读USB信息
    RET
L1F86:    LCALL S2D02
    SETB  019H
    SETB  010H
    MOV   A,010H
    MOV   056H,A
    LCALL S20BD
    MOV   R2,077H
    MOV   R3,078H
    LCALL S2D0D
    LCALL S2D6E
    MOV   R1,#000H
    RET
L1FA1:    MOV   042H,#00BH
    MOV   A,010H
    MOV   056H,A
    MOV   R1,#000H
    RET
S1FAB:    MOV   A,00DH
    CLR   C
    SUBB  A,009H
    JC    L1FD4
    MOV   A,00DH
    MOV   01AH,A
    MOV   R2,A
    MOV   R1,#00EH
    MOV   R0,#061H
L1FBB:    MOV   A,@R1
    MOV   @R0,A
    INC   R0
    INC   R1
    DJNZ  R2,L1FBB
    LCALL L0BC6
    JNZ   L1FD4
    MOV   A,070H
    ORL   A,071H
    JZ    L1FCD
    RET
L1FCD:    LCALL S2A8B
    MOV   042H,#000H
    RET
L1FD4:    LCALL S2A51;读USB信息
    MOV   042H,#000H
    RET
;-------数据区----------------------------------------
D1FDB:    DB    002H,004H,0C1H,081H,0FFH,0FFH,003H,0FFH
D1FE3:    DB    0FFH,0FFH,01FH,086H,004H,041H,001H,0FFH
D1FEB:    DB    0FFH,003H,0FFH,0FFH,0FFH,01FH,0A1H
;-----------------------------------------------------
S1FF2:    SETB  019H
    MOV   061H,#01AH
    MOV   01AH,#001H
    LCALL L0BAA
    LCALL S209D
    RET
S2001:    SETB  019H
    MOV   061H,#01CH
    MOV   01AH,#001H
    LCALL L0BAA
    LCALL S209D
    RET
S2010:    SETB  019H
    MOV   061H,#022H
    MOV   01AH,#001H
    LCALL L0BAA
    MOV   01AH,#001H
    LCALL L0BBF
    MOV   A,061H
    MOV   B,A
    MOV   A,010H
    CLR   C
    SUBB  A,B
    JNC   L203D
    MOV   A,010H
    RL    A
    ADD   A,#023H
    MOV   061H,A
    MOV   01AH,#001H
    LCALL L0BAA
    LCALL S209D
    RET
L203D:    MOV   A,010H
    CJNE  A,#0FFH,L2050
    CLR   019H
    MOV   DPTR,#D05FF
    MOV   R3,#000H
    CLR   A
    MOVC  A,@A+DPTR;'\'
    MOV   R2,A
    LCALL S2D1A
    RET
L2050:    MOV   A,#0FFH
    MOV   00CH,A
    LCALL S2A51;读USB信息
    RET
S2058:    SETB  019H
    MOV   061H,#01EH
    MOV   01AH,#001H
    LCALL L0BAA
    LCALL S209D
    RET
S2067:    SETB  019H
    MOV   061H,#020H
    MOV   01AH,#001H
    LCALL L0BAA
    MOV   01AH,#002H
    LCALL L0BBF
    MOV   A,061H
    ANL   A,#007H
    RL    A
    ADD   A,#0A0H
    MOV   056H,A
    MOV   A,062H
    MOV   061H,A
    MOV   01AH,#001H
    LCALL L0BC6
    MOV   01AH,#002H
    LCALL L0BBF
    MOV   R2,061H
    MOV   R3,062H
    MOV   R1,#0FFH
L2097:    DJNZ  R1,$
    LCALL S20BD
    RET
S209D:    MOV   01AH,#002H
    LCALL L0BBF
    MOV   A,061H
    ANL   A,#007H
    RL    A
    ADD   A,#0A0H
    MOV   056H,A
    MOV   A,062H
    MOV   061H,A
    MOV   R0,#085H
    MOV   @R0,A
    MOV   01AH,#001H
    LCALL L0BC6
    LCALL S20BD
    RET
S20BD:    MOV   R1,#00EH
    MOV   R4,#008H
L20C1:    MOV   01AH,#001H
    LCALL L0BBF
    MOV   A,061H
    MOV   @R1,A
    INC   R1
    MOV   R0,#085H
    INC   @R0
    MOV   A,@R0
    JNZ   L20D5
    INC   056H
    INC   056H
L20D5:    DJNZ  R4,L20C1
    MOV   00CH,#000H
    MOV   00DH,#008H
    RET
S20DE:    MOV   061H,#01CH
    MOV   01AH,#001H
    LCALL L0BAA
    MOV   01AH,#002H
    LCALL L0BBF
    MOV   A,061H
    ANL   A,#007H
    RL    A
    ADD   A,#0A0H
    MOV   056H,A
    MOV   A,062H
    MOV   061H,A
    MOV   01AH,#001H
    LCALL L0BC6
    MOV   01AH,#008H
    LCALL L0BBF
    MOV   A,068H
    RET
S2109:    MOV   R1,#08DH
    MOV   @R1,#000H
    MOV   R0,#08CH
    MOV   @R0,#000H
    MOV   R1,#08AH
    MOV   002H,@R1
    INC   R1
    MOV   003H,@R1
    MOV   DPL,R3
    MOV   DPH,R2
    CLR   A
    MOVC  A,@A+DPTR
    JNZ   L2123
    LJMP  L21C2
L2123:    SJMP  L2128
L2125:    MOV   R1,#08CH
    INC   @R1
L2128:    MOV   R1,#08CH
    MOV   A,@R1
    ADD   A,#0FCH
    JC    L216F
    MOV   A,@R1
    MOV   DPTR,#D2FF6;取数据DATABUFF
    MOVC  A,@A+DPTR
    ADD   A,#00CH
    MOV   R0,A
    MOV   A,@R0
    MOV   R0,#08DH
    MOV   B,#006H
    MOV   R2,A
    MOV   A,@R0
    MUL   AB
    DEC   R0
    MOV   R4,B
    MOV   R5,A
    MOV   A,@R0
    MOV   R7,A
    MOV   R6,#000H
    ADD   A,R5
    MOV   R7,A
    MOV   A,R6
    ADDC  A,R4
    MOV   R6,A
    MOV   R1,#08AH
    MOV   004H,@R1
    INC   R1
    MOV   005H,@R1
    MOV   A,R5
    ADD   A,#001H
    MOV   R5,A
    CLR   A
    ADDC  A,R4
    MOV   R4,A
    MOV   DPL,R5
    MOV   DPH,R4
    LCALL S2E35
    CLR   A
    MOVC  A,@A+DPTR
    MOV   R3,002H
    MOV   R2,A
    XRL   A,R3
    JZ    L2125
    MOV   A,#0FFH
    XRL   A,R2
    JZ    L2125
L216F:    MOV   R1,#08CH
    MOV   A,@R1
    CJNE  A,#004H,L21A2
    MOV   B,#006H
    MOV   R0,#08DH
    MOV   A,@R0
    MOV   R1,#08AH
    MOV   002H,@R1
    INC   R1
    MOV   003H,@R1
    MOV   R4,A
    MOV   A,R3
    ADD   A,#005H
    MOV   R3,A
    CLR   A
    ADDC  A,R2
    MOV   R2,A
    MOV   DPL,R3
    MOV   DPH,R2
    MOV   A,R4
    LCALL S2E29
    CLR   A
    MOVC  A,@A+DPTR
    MOV   R2,A
    MOV   A,#001H
    MOVC  A,@A+DPTR
    MOV   R3,A
    MOV   DPL,R3
    MOV   DPH,R2
    LCALL S2E18
    CLR   011H
L21A2:    MOV   R1,#08CH
    MOV   @R1,#000H
    MOV   R0,#08DH
    INC   @R0
    MOV   R1,#08AH
    MOV   002H,@R1
    INC   R1
    MOV   003H,@R1
    MOV   DPL,R3
    MOV   DPH,R2
    CLR   A
    MOVC  A,@A+DPTR
    MOV   R2,A
    MOV   A,@R0
    CLR   C
    SUBB  A,R2
    JNC   L21C2
    JNB   011H,L21C2
    LJMP  L2128
L21C2:    RET
S21C3:    SETB  011H
    MOV   A,00FH
    ADD   A,#0FBH
    JZ    L21DB
    ADD   A,#080H
    JZ    L21E3
    ADD   A,#086H
    JNZ   L21EB
    CLR   011H
    LCALL S0006
    LJMP  L2353
L21DB:    CLR   011H
    LCALL S000E
    LJMP  L2353
L21E3:    CLR   011H
    LCALL S0017
    LJMP  L2353
L21EB:    MOV   A,#021H
    XRL   A,00EH
    JZ    L21F6
    MOV   A,00EH
    CJNE  A,#0A1H,L2203
L21F6:    MOV   A,013H
    JNZ   L2203
    MOV   R1,#092H
    MOV   @R1,#02FH
    INC   R1
    MOV   @R1,#0F3H
    SJMP  L220A
L2203:    MOV   R1,#092H
    MOV   @R1,#02FH
    INC   R1
    MOV   @R1,#0D8H
L220A:    MOV   R1,#092H
    MOV   002H,@R1
    INC   R1
    MOV   003H,@R1
    MOV   DPL,R3
    MOV   DPH,R2
    CLR   A
    MOVC  A,@A+DPTR
    MOV   R2,A
    JZ    L221C
    MOV   A,#001H
L221C:    JNZ   L2221
    LJMP  L2353
L2221:    MOV   A,013H
    SETB  C
    SUBB  A,R2
    JC    L222A
    LJMP  L2353
L222A:    MOV   A,013H
    MOV   R1,#092H
    MOV   002H,@R1
    INC   R1
    MOV   003H,@R1
    MOV   R4,A
    MOV   A,R3
    ADD   A,#001H
    MOV   R3,A
    CLR   A
    ADDC  A,R2
    MOV   R2,A
    MOV   DPL,R3
    MOV   DPH,R2
    MOV   A,R4
    LCALL S2E1A
    MOV   R0,#08EH
    CLR   A
    MOVC  A,@A+DPTR
    MOV   @R0,A
    MOV   A,#001H
    MOVC  A,@A+DPTR
    INC   R0
    MOV   @R0,A
    MOV   R0,#08EH
    MOV   002H,@R0
    INC   R0
    MOV   003H,@R0
    MOV   DPL,R3
    MOV   DPH,R2
    CLR   A
    MOVC  A,@A+DPTR
    MOV   R3,A
    JZ    L225F
    MOV   A,#001H
L225F:    JZ    L226B
    MOV   A,011H
    SETB  C
    SUBB  A,R3
    JNC   L226B
    MOV   A,011H
    JNZ   L227B
L226B:    MOV   A,R3
    CJNE  A,#0FFH,L2271
    SJMP  L2274
L2271:    LJMP  L2353
L2274:    MOV   A,011H
    JZ    L227B
    LJMP  L2353
L227B:    MOV   A,R3
    CJNE  A,#0FFH,L22A1
    MOV   A,#0FDH
    ANL   A,011H
    JNZ   L22A1
    MOV   R1,#08EH
    MOV   002H,@R1
    INC   R1
    MOV   003H,@R1
    MOV   A,R3
    ADD   A,#001H
    MOV   DPL,A
    CLR   A
    ADDC  A,R2
    MOV   DPH,A
    MOV   R0,#090H
    CLR   A
    MOVC  A,@A+DPTR
    MOV   @R0,A
    MOV   A,#001H
    MOVC  A,@A+DPTR
    INC   R0
    MOV   @R0,A
    SJMP  L22C3
L22A1:    MOV   A,011H
    MOV   R1,#08EH
    MOV   006H,@R1
    INC   R1
    MOV   007H,@R1
    MOV   R5,#001H
    MOV   R4,#000H
    MOV   R2,A
    LCALL S2E40
    MOV   DPL,R7
    MOV   DPH,R6
    MOV   A,R2
    LCALL S2E1A
    MOV   R0,#090H
    CLR   A
    MOVC  A,@A+DPTR
    MOV   @R0,A
    MOV   A,R5
    MOVC  A,@A+DPTR
    INC   R0
    MOV   @R0,A
L22C3:    MOV   R1,#090H
    MOV   002H,@R1
    INC   R1
    MOV   003H,@R1
    MOV   DPL,R3
    MOV   DPH,R2
    CLR   A
    MOVC  A,@A+DPTR
    MOV   R2,A
    JZ    L22D5
    MOV   A,#001H
L22D5:    JNZ   L22DA
    LJMP  L2353
L22DA:    MOV   A,00FH
    JNZ   L22E1
    LJMP  L2353
L22E1:    MOV   R5,002H
    MOV   R4,#000H
    MOV   A,#00FH
    ANL   A,00FH
    MOV   R2,A
    MOV   B,#002H
    MUL   AB
    MOV   R6,B
    MOV   R7,A
    SETB  C
    MOV   A,R7
    SUBB  A,R5
    MOV   A,R6
    SUBB  A,R4
    JNB   OV,L22FB
    CPL   ACC.7
L22FB:    JNB   ACC.7,L2353
    MOV   A,#0F0H
    ANL   A,00FH
    JNZ   L232C
    MOV   B,#004H
    MOV   A,00FH
    MOV   R1,#090H
    MOV   006H,@R1
    INC   R1
    MOV   007H,@R1
    MOV   R5,#003H
    MOV   R4,#000H
    MOV   R3,A
    LCALL S2E40
    MOV   DPL,R7
    MOV   DPH,R6
    MOV   A,R3
    LCALL S2E29
    MOV   R0,#08AH
    CLR   A
    MOVC  A,@A+DPTR
    MOV   @R0,A
    MOV   A,#001H
    MOVC  A,@A+DPTR
    INC   R0
    MOV   @R0,A
    SJMP  L2350
L232C:    MOV   B,#004H
    MOV   A,R2
    MOV   R1,#090H
    MOV   006H,@R1
    INC   R1
    MOV   007H,@R1
    MOV   R5,#001H
    MOV   R4,#000H
    MOV   R2,A
    LCALL S2E40
    MOV   DPL,R7
    MOV   DPH,R6
    MOV   A,R2
    LCALL S2E29
    MOV   R0,#08AH
    CLR   A
    MOVC  A,@A+DPTR
    MOV   @R0,A
    MOV   A,R5
    MOVC  A,@A+DPTR
    INC   R0
    MOV   @R0,A
L2350:    LCALL S2109
L2353:    JNB   011H,L235B
    CLR   011H
    LCALL S2A51;读USB信息
L235B:    RET
S235C:    MOV   R0,#00EH
    MOV   R1,#0FFH
    MOV   DPTR,#D0A50
    LCALL S2C8E
    CJNE  R1,#0FFH,L236E
    LCALL S2A51;读USB信息
    SJMP  L2371
L236E:    LCALL S2A8B
L2371:    RET
L2372:    MOV   A,06BH
    CLR   ACC.1
    MOV   06BH,A
    MOV   R1,#000H
    RET
L237B:    RET
S237C:    MOV   R0,#012H
    MOV   A,@R0
    MOV   R5,A
    MOV   A,#000H
    XRL   A,R5
    JZ    L23B0
    MOV   A,#080H
    XRL   A,R5
    JZ    L23B0
    MOV   A,075H
    XRL   A,#001H
    JZ    L23B2
    MOV   A,#000H
    MOV   DPTR,#D165F
    MOVC  A,@A+DPTR
    MOV   R3,A
    MOV   R4,#000H
L2399:    MOV   A,#000H
    INC   DPTR
    MOVC  A,@A+DPTR
    XRL   A,R5
    JZ    L23A5
    INC   R4
    DJNZ  R3,L2399
    SJMP  L23B2
L23A5:    MOV   A,R4
    ADD   A,#040H
    MOV   008H,A;发送USB命令Set endpoint status(endpoint index=r4)且写1个字节
    MOV   00BH,#000H
    LCALL S007A;发送USB命令且写入1个字节
L23B0:    MOV   R1,#000H
L23B2:    RET
S23B3:    MOV   R0,#00EH
    MOV   R1,#0FFH
    MOV   DPTR,#D0AC2
    LCALL S2C8E
    CJNE  R1,#0FFH,L23C3
    LCALL S2A51;读USB信息
L23C3:    RET
L23C4:    MOV   00CH,#000H
    MOV   00DH,#001H
    MOV   00EH,#000H
    MOV   A,06EH
    MOV   00EH,A
    MOV   00AH,#003H
    LCALL S2AB1
    SETB  018H
    MOV   R1,#000H
    RET
S23DC:    MOV   R0,#00EH
    MOV   R1,#0FFH
    MOV   DPTR,#D0A8A
    LCALL S2C8E
    CJNE  R1,#0FFH,L23EE
    LCALL S2A51;读USB信息
    SJMP  L23F1
L23EE:    LCALL S2D6E
L23F1:    RET
S23F2:    MOV   R0,#00EH
    MOV   R1,#0FFH
    MOV   DPTR,#D0AE7
    LCALL S2C8E
    CJNE  R1,#0FFH,L2402
    LCALL S2A51;读USB信息
L2402:    RET
L2403:    MOV   R0,#012H
    MOV   A,@R0
    MOV   06FH,A
    MOV   A,#000H
    MOV   DPTR,#D0B1F
    LCALL S2C5B;取散转向量表
    MOV   00CH,#000H
    MOV   00DH,#001H
    MOV   00EH,A
    MOV   00AH,#003H
    LCALL S2AB1
    SETB  018H
    MOV   R1,#000H
    RET
L2423:    MOV   A,#000H
    MOV   06BH,A
    MOV   06CH,A
    MOV   A,#000H
    MOV   DPTR,#D0AE5
    LCALL S2C5B;取散转向量表
    INC   ACC
    JZ    L245A
    DEC   A
    JZ    L2439
    DEC   A
L2439:    RL    A
    MOV   B,A
    MOV   A,#000H
    MOV   DPTR,#D00FF
    MOVC  A,@A+DPTR
    RL    A
    CLR   C
    SUBB  A,B
    JC    L247B
    INC   DPTR
    MOV   A,B
    MOVC  A,@A+DPTR
    MOV   R4,A
    INC   DPTR
    MOV   A,B
    MOVC  A,@A+DPTR
    MOV   DPH,R4
    MOV   DPL,A
    MOV   A,#007H
    MOVC  A,@A+DPTR
    SJMP  L2462
L245A:    MOV   A,#000H
    MOV   DPTR,#D09E0
    LCALL S2C5B;取散转向量表
L2462:    MOV   B,#000H
    JNB   ACC.5,L246B
    MOV   B,#002H
L246B:    JNB   ACC.6,L2474
    MOV   A,B
    ORL   A,#001H
    MOV   B,A
L2474:    MOV   A,B
    MOV   R1,#06BH
    MOV   @R1,A
    MOV   R1,#000H
L247B:    RET
S247C:    MOV   A,#000H
    MOV   075H,A
    RET
S2481:    MOV   R0,#00EH
    MOV   R1,#0FFH
    MOV   DPTR,#D0A02
    LCALL S2C8E
    CJNE  R1,#0FFH,L2493
    LCALL S2A51;读USB信息
    SJMP  L24AE
L2493:    MOV   00CH,#000H
    MOV   00DH,#002H
    CJNE  R1,#000H,L24A1
    MOV   00EH,#000H
    SJMP  L24A3
L24A1:    MOV   00EH,@R1
L24A3:    MOV   00FH,#000H
    MOV   00AH,#004H
    LCALL S2AB1
    SETB  018H
L24AE:    RET
S24AF:    MOV   06DH,#000H
    CLR   012H
    MOV   008H,#0D0H;USB命令set address/enable
    MOV   00BH,#080H;USB数据(地址0000000B)acc.7=1 enable
    LCALL S007A;发送USB命令且写入1个字节
    RET
S24BE:    MOV   06DH,#000H
    CLR   012H
    MOV   008H,#0D0H;USB命令set address/enable
    MOV   00BH,#000H;USB数据(地址0000000B)acc.7=0 disable
    LCALL S007A;发送USB命令且写入1个字节
    RET
L24CD:    MOV   008H,#0D0H;USB命令set address/enable
    MOV   00BH,#000H;USB数据(地址0000000B)acc.7=0 disable
    LCALL S007A;发送USB命令且写入1个字节
    RET
S24D7:    MOV   R0,#00EH
    MOV   R1,#0FFH
    MOV   DPTR,#D0A7E
    LCALL S2C8E
    CJNE  R1,#0FFH,L24E9
    LCALL S2A51;读USB信息
    SJMP  L24EF
L24E9:    LCALL S2A8B
    LCALL S2AA4
L24EF:    RET
L24F0:    MOV   R0,#010H
    MOV   A,@R0
    JB    ACC.7,L24FC
    MOV   06DH,@R0
    SETB  012H
    MOV   R1,#000H
L24FC:    RET
S24FD:    JNB   012H,L2519
    MOV   008H,#0D0H;USB命令set address/enable
    MOV   A,06DH
    ORL   A,#080H;USB数据(地址<6dh>)acc.7=1 enable
    MOV   00BH,A;存入USB数据
    LCALL S007A;发送USB命令且写入1个字节
    LCALL S007A;发送USB命令且写入1个字节
    MOV   A,06DH
    JZ    L2515
    MOV   A,#001H
L2515:    MOV   075H,A
    SETB  018H
L2519:    RET
S251A:    MOV   06EH,#000H
    RET
S251E:    MOV   R0,#00EH
    MOV   R1,#0FFH
    MOV   DPTR,#D0ACE
    LCALL S2C8E
    CJNE  R1,#0FFH,L2530
    LCALL S2A51;读USB信息
    SJMP  L2533
L2530:    LCALL S2A8B
L2533:    RET
S2534:    MOV   A,#000H
    MOV   DPTR,#D165F
    MOVC  A,@A+DPTR
    MOV   R3,A
    MOV   R4,#000H
    DEC   R3
    DEC   R3
    INC   R4
    MOV   A,R3
    JZ    L2562
L2543:    INC   R4
    MOV   DPTR,#D165F
    INC   DPTR
    MOV   A,R4
L2549:    INC   DPTR
    DEC   A
    CJNE  A,#000H,L2549
    MOV   A,#000H
    MOVC  A,@A+DPTR
    XRL   A,#0FFH
    JZ    L2560
    MOV   A,R4
    ADD   A,#040H
    MOV   008H,A;发送USB命令Set endpoint status(endpoint index=r4)且写1个字节
    MOV   00BH,#000H
    LCALL S007A;发送USB命令且写入1个字节
L2560:    DJNZ  R3,L2543
L2562:    MOV   R0,#010H
    MOV   A,@R0
    MOV   R1,A
    MOV   A,#000H
    MOV   DPTR,#D00FE
    MOVC  A,@A+DPTR
    SUBB  A,R1
    JC    L2592
    MOV   A,R1
    JZ    L2589
    MOV   06EH,A
    MOV   A,#000H
    MOV   DPTR,#D1668
    MOVC  A,@A+DPTR
    MOV   008H,#0D8H
    MOV   00BH,A;存入USB数据
    LCALL S007A;发送USB命令且写入1个字节
    MOV   R1,#000H
    MOV   A,#002H
    MOV   075H,A
    RET
L2589:    MOV   06EH,#000H
    MOV   R1,#000H
    MOV   A,#001H
    MOV   075H,A
L2592:    RET
S2593:    MOV   R0,#00EH
    MOV   R1,#0FFH
    MOV   DPTR,#D0A67
    LCALL S2C8E
    CJNE  R1,#0FFH,L25A5
    LCALL S2A51;读USB信息
    SJMP  L25A8
L25A5:    LCALL S2A8B
L25A8:    RET
L25A9:    MOV   A,06BH
    SETB  ACC.1
    MOV   06BH,A
    MOV   R1,#000H
    RET
L25B2:    RET
S25B3:    MOV   R0,#012H
    MOV   A,@R0
    MOV   R5,A
    MOV   A,#000H
    XRL   A,R5
    JZ    L25E7
    MOV   A,#080H
    XRL   A,R5
    JZ    L25E7
    MOV   A,075H
    XRL   A,#001H
    JZ    L25E9
    MOV   A,#000H
    MOV   DPTR,#D165F
    MOVC  A,@A+DPTR
    MOV   R3,A
    MOV   R4,#000H
L25D0:    MOV   A,#000H
    INC   DPTR
    MOVC  A,@A+DPTR
    XRL   A,R5
    JZ    L25DC
    INC   R4
    DJNZ  R3,L25D0
    SJMP  L25E9
L25DC:    MOV   A,R4
    ADD   A,#040H
    MOV   008H,A;发送USB命令Set endpoint status(endpoint index=r4)且写1个字节
    MOV   00BH,#001H
    LCALL S007A;发送USB命令且写入1个字节
L25E7:    MOV   R1,#000H
L25E9:    RET
S25EA:    MOV   R0,#00EH
    MOV   R1,#0FFH
    MOV   DPTR,#D0B21
    LCALL S2C8E
    CJNE  R1,#0FFH,L25FC
    LCALL S2A51;读USB信息
    SJMP  L25FF
L25FC:    LCALL S2A8B
L25FF:    RET
L2600:    MOV   A,#000H
    MOV   DPTR,#D165F
    MOVC  A,@A+DPTR
    MOV   R3,A
    MOV   R4,#000H
    DEC   R3
    DEC   R3
    INC   R4
    MOV   A,R3
    JZ    L262E
L260F:    INC   R4
    MOV   DPTR,#D165F
    INC   DPTR
    MOV   A,R4
L2615:    INC   DPTR
    DEC   A
    CJNE  A,#000H,L2615
    MOV   A,#000H
    MOVC  A,@A+DPTR
    XRL   A,#0FFH
    JZ    L262C
    MOV   A,R4
    ADD   A,#040H
    MOV   008H,A;发送USB命令Set endpoint status(endpoint index=r4)且写1个字节
    MOV   00BH,#000H
    LCALL S007A;发送USB命令且写入1个字节
L262C:    DJNZ  R3,L260F
L262E:    MOV   R0,#012H
    MOV   A,@R0
    SWAP  A
    MOV   R1,A
    MOV   R0,#010H
    MOV   A,@R0
    ANL   A,#00FH
    ADD   A,R1
    SWAP  A
    MOV   06FH,A
    MOV   A,#000H
    MOV   DPTR,#D0B59
    LCALL S2C5B;取散转向量表
    MOV   R1,#000H
    JZ    L264A
    MOV   R1,#0FFH
L264A:    RET
S264B:    MOV   A,06FH
    RET
L264E:    MOV   R1,#06BH
    RET
S2651:    MOV   R0,#012H
    MOV   A,@R0
    MOV   R5,A
    MOV   A,075H
    XRL   A,#001H
    JNZ   L2660
    MOV   A,#000H
    XRL   A,@R0
    JNZ   L2688
L2660:    MOV   A,#000H
    MOV   DPTR,#D165F
    MOVC  A,@A+DPTR
    MOV   R3,A
    MOV   R4,#000H
L2669:    MOV   A,#000H
    INC   DPTR
    MOVC  A,@A+DPTR
    XRL   A,R5
    JZ    L2675
    INC   R4
    DJNZ  R3,L2669
    SJMP  L2688
L2675:    MOV   A,R4
    ADD   A,#080H
    MOV   008H,A
    LCALL S009D;发送USB命令且读1个字节
    MOV   A,00BH;取USB数据
    RR    A
    RR    A
    RR    A
    ANL   A,#001H
    MOV   06CH,A
    MOV   R1,#06CH
L2688:    RET
S2689:    MOV   R0,#00FH
    MOV   A,@R0
    ANL   A,#00FH
    MOV   DPTR,#D09E2
    LCALL S2C5B;取散转向量表
    RET
L2695:    CLR   019H
    MOV   A,#000H
    MOV   DPTR,#D0AE5
    LCALL S2C5B;取散转向量表
    INC   ACC
    JZ    L26D2
    DEC   A
    JZ    L26A7
    DEC   A
L26A7:    RL    A
    MOV   B,A
    MOV   A,#000H
    MOV   DPTR,#D00E8
    MOVC  A,@A+DPTR
    RL    A
    CLR   C
    SUBB  A,B
    JC    L26D1
    INC   DPTR
    MOV   A,B
    MOVC  A,@A+DPTR
    MOV   R4,A
    INC   DPTR
    MOV   A,B
    MOVC  A,@A+DPTR
    MOV   DPH,R4
    MOV   DPL,A
    MOV   A,#000H
    MOVC  A,@A+DPTR
    MOV   R2,A
    MOV   R3,#000H
    LCALL S2D0D
    LCALL S2D1A
    MOV   R1,#000H
L26D1:    RET
L26D2:    SETB  019H
    LCALL S2D02
    MOV   A,#000H
    MOV   DPTR,#D09D8
    LCALL S2C5B;取散转向量表
    MOV   R0,#00EH
    MOV   002H,@R0
    MOV   R3,#000H
    LCALL S2D0D
    LCALL S2D1A
    MOV   R1,#000H
    RET
L26EE:    CLR   019H
    MOV   A,#000H
    MOV   DPTR,#D0AE5
    LCALL S2C5B;取散转向量表
    INC   ACC
    JZ    L272E
    DEC   A
    JZ    L2700
    DEC   A
L2700:    RL    A
    MOV   B,A
    MOV   A,#000H
    MOV   DPTR,#D00FF
    MOVC  A,@A+DPTR
    RL    A
    CLR   C
    SUBB  A,B
    JC    L272D
    INC   DPTR
    MOV   A,B
    MOVC  A,@A+DPTR
    MOV   R4,A
    INC   DPTR
    MOV   A,B
    MOVC  A,@A+DPTR
    MOV   DPH,R4
    MOV   DPL,A
    MOV   A,#002H
    MOVC  A,@A+DPTR
    MOV   R2,A
    MOV   A,#002H
    INC   A
    MOVC  A,@A+DPTR
    MOV   R3,A
    LCALL S2D0D
    LCALL S2D1A
    MOV   R1,#000H
L272D:    RET
L272E:    SETB  019H
    LCALL S2D02
    MOV   A,#000H
    MOV   DPTR,#D09DA
    LCALL S2C5B;取散转向量表
    MOV   R0,#00EH
    MOV   A,#002H
    ADD   A,R0
    MOV   R0,A
    MOV   002H,@R0
    MOV   R0,#00FH
    MOV   A,#002H
    ADD   A,R0
    MOV   R0,A
    MOV   003H,@R0
    LCALL S2D0D
    LCALL S2D1A
    MOV   R1,#000H
    RET
L2754:    CLR   019H
    MOV   A,#000H
    MOV   DPTR,#D0AE5
    LCALL S2C5B;取散转向量表
    INC   ACC
    JZ    L27CD
    DEC   A
    JZ    L2766
    DEC   A
L2766:    MOV   R7,A
    MOV   B,R7
    MOV   A,#000H
    MOV   DPTR,#D00FF
    MOVC  A,@A+DPTR
    JZ    L27CC
    INC   DPTR
    CLR   C
    MOV   A,06EH
    JNZ   L2778
    INC   A
L2778:    MUL   AB
    RL    A
    MOVC  A,@A+DPTR
    MOV   R4,A
    INC   DPTR
    CLR   C
    MOV   B,R7
    MOV   A,06EH
    JNZ   L2785
    INC   A
L2785:    MUL   AB
    RL    A
    MOVC  A,@A+DPTR
    MOV   DPH,R4
    MOV   DPL,A
    MOV   07BH,DPH
    MOV   07CH,DPL
    MOV   07DH,#000H
    MOV   A,#000H
    MOVC  A,@A+DPTR
    MOV   07EH,A
    MOV   R2,#000H
    MOV   R3,#000H
    CLR   C
L279F:    INC   DPTR
    MOV   A,#000H
    MOVC  A,@A+DPTR
    ADD   A,R2
    MOV   R2,A
    JNC   L27A9
    INC   R3
    CLR   C
L27A9:    INC   DPTR
    INC   DPTR
    DJNZ  07EH,L279F
    MOV   DPH,07BH
    MOV   DPL,07CH
    MOV   A,#000H
    INC   DPTR
    MOVC  A,@A+DPTR
    MOV   076H,A
    INC   DPTR
    MOV   A,#000H
    MOVC  A,@A+DPTR
    MOV   R4,A
    MOV   A,#000H
    INC   DPTR
    MOVC  A,@A+DPTR
    MOV   DPH,R4
    MOV   DPL,A
    LCALL S2D1A
    MOV   R1,#000H
L27CC:    RET
L27CD:    SETB  019H
    LCALL S2D02
    MOV   A,#000H
    MOV   DPTR,#D09DA
    LCALL S2C5B;取散转向量表
    MOV   R0,#00EH
    MOV   A,#002H
    ADD   A,R0
    MOV   R0,A
    MOV   002H,@R0
    MOV   R0,#00FH
    MOV   A,#002H
    ADD   A,R0
    MOV   R0,A
    MOV   003H,@R0
    LCALL S2D0D
    LCALL S2D1A
    MOV   R1,#000H
    RET
L27F3:    CLR   019H
    MOV   A,#000H
    MOV   DPTR,#D0AE5
    LCALL S2C5B;取散转向量表
    INC   ACC
    JZ    L283D
    DEC   A
    JZ    L2805
    DEC   A
L2805:    MOV   B,A
    MOV   A,#000H
    MOV   DPTR,#D0522
    MOVC  A,@A+DPTR
    JZ    L283C
    RL    A
    MUL   AB
    MOV   B,A
    MOV   R0,#010H
    INC   @R0
    MOV   A,#000H
    MOVC  A,@A+DPTR
    DEC   A
    SUBB  A,@R0
    JC    L283C
    INC   DPTR
    MOV   A,@R0
    RL    A
    ADD   A,B
    MOVC  A,@A+DPTR
    MOV   R3,A
    MOV   A,@R0
    RL    A
    INC   A
    ADD   A,B
    MOVC  A,@A+DPTR
    MOV   DPH,R3
    MOV   DPL,A
    MOV   A,#000H
    MOVC  A,@A+DPTR
    MOV   R2,A
    MOV   R3,#000H
    LCALL S2D0D
    LCALL S2D1A
    MOV   R1,#000H
L283C:    RET
L283D:    SETB  019H
    LCALL S2D02
    MOV   A,#000H
    MOV   DPTR,#D09DC
    LCALL S2C5B;取散转向量表
    MOV   R0,#00EH
    MOV   002H,@R0
    MOV   R3,#000H
    LCALL S2D0D
    LCALL S2D1A
    MOV   R1,#000H
    RET
S2859:    MOV   R0,#012H
    MOV   A,075H
    XRL   A,#001H
    JNZ   L2866
    MOV   A,#000H
    XRL   A,@R0
    JNZ   L2873
L2866:    CLR   C
    MOV   A,#000H
    MOV   DPTR,#D03AC
    MOVC  A,@A+DPTR
    DEC   A
    SUBB  A,@R0
    JC    L2873
    MOV   R1,#000H
L2873:    RET
S2874:    MOV   A,#000H
    MOV   06BH,A
    MOV   06CH,A
    MOV   A,#000H
    MOV   DPTR,#D0AE5
    LCALL S2C5B;取散转向量表
    INC   ACC
    JZ    L28B9
    DEC   A
    JZ    L288A
    DEC   A
L288A:    RL    A
    MOV   B,A
    MOV   A,#000H
    MOV   DPTR,#D00FF
    MOVC  A,@A+DPTR
    RL    A
    CLR   C
    SUBB  A,B
    JC    L28DA
    INC   DPTR
    MOV   A,B
    MOVC  A,@A+DPTR
    MOV   R4,A
    INC   DPTR
    MOV   A,B
    MOVC  A,@A+DPTR
    MOV   DPH,R4
    MOV   DPL,A
    INC   DPTR
    INC   DPTR
    MOV   A,#000H
    MOVC  A,@A+DPTR
    MOV   R4,A
    INC   DPTR
    MOV   A,#000H
    MOVC  A,@A+DPTR
    MOV   DPH,R4
    MOV   DPL,A
    MOV   A,#007H
    MOVC  A,@A+DPTR
    SJMP  L28C1
L28B9:    MOV   A,#000H
    MOV   DPTR,#D09E0
    LCALL S2C5B;取散转向量表
L28C1:    MOV   B,#000H
    JNB   ACC.5,L28CA
    MOV   B,#002H
L28CA:    JNB   ACC.6,L28D3
    MOV   A,B
    ORL   A,#001H
    MOV   B,A
L28D3:    MOV   A,B
    MOV   R1,#06BH
    MOV   @R1,A
    MOV   R1,#000H
L28DA:    RET
S28DB:    MOV   DPTR,#D09B7
    LCALL S2C67;取散转向量表
    RET
S28E2:    LCALL S003D
    CLR   015H
    MOV   077H,#000H
    MOV   008H,#040H;发送USB命令Get endpoint status(control OUT)且读1个字节
    LCALL S009D;发送USB命令且读1个字节
    MOV   A,00BH;取USB数据
    ANL   A,#001H
    JZ    L28FE
L28F6:    MOV   A,00BH;取USB数据
    ANL   A,#020H
    JZ    L2966
    SJMP  L2908
L28FE:    MOV   A,00BH;取USB数据
    ANL   A,#01EH
    XRL   A,#012H
    JNZ   L2959
    SJMP  L28F6
L2908:    CLR   018H
    CLR   013H
    SETB  014H
    CLR   016H
    CLR   017H
    CLR   012H
    MOV   070H,#000H
    MOV   A,#000H
    MOV   DPTR,#D09D2
    LCALL S2C5B;取散转向量表
    MOV   008H,#001H;发送USB命令Select endpoint(control IN)且读1个字节
    LCALL S006D;COMMAND REGISTER PSIE(<@08H>)
    MOV   008H,#0F1H
    LCALL S006D;COMMAND REGISTER PSIE(<@08H>)
    MOV   008H,#000H
    LCALL S006D;COMMAND REGISTER PSIE(<@08H>)
    MOV   008H,#0F1H
    LCALL S006D;COMMAND REGISTER PSIE(<@08H>)
    LCALL S29F1
    MOV   R0,#00EH
    MOV   A,@R0
    JB    ACC.7,L2945
    SETB  013H
    LCALL S2A78
L2945:    LCALL S29FD
    JNB   013H,L299C
    LCALL S2A83
    JZ    L2955
    LCALL S2AD1
    SJMP  L299C
L2955:    CLR   014H
    SJMP  L299C
L2959:    MOV   A,00BH;取USB数据
    ANL   A,#01EH
    XRL   A,#014H
    JNZ   L2966
    LCALL S2A64
    SJMP  L299C
L2966:    MOV   A,#000H
    MOV   DPTR,#D09D4
    LCALL S2C5B;取散转向量表
    JNB   014H,L2994
    JB    013H,L297D
    SETB  018H
    CLR   014H
    LCALL S2AD1
    SJMP  L299C
L297D:    MOV   008H,#000H
    LCALL S006D;COMMAND REGISTER PSIE(<@08H>)
    LCALL S29F1
    MOV   DPTR,#D09C8
    LCALL S2C67;取散转向量表
    JNB   014H,L2992
    LCALL S2AD1
L2992:    SJMP  L299C
L2994:    JNB   017H,L299A
    LCALL S2A6E
L299A:    SETB  017H
L299C:    RET
S299D:    CLR   017H
    MOV   008H,#041H;发送USB命令Get endpoint status(control IN)且读1个字节
    LCALL S009D;发送USB命令且读1个字节
    MOV   A,00BH;取USB数据
    ANL   A,#001H
    JNZ   L29BD
    MOV   A,00BH;取USB数据
    ANL   A,#01EH
    XRL   A,#012H
    JNZ   L29E5
    MOV   008H,#001H;发送USB命令Select endpoint(control IN)且读1个字节
    LCALL S009D;发送USB命令且读1个字节
    MOV   A,00BH;取USB数据
    JNZ   L29DB
L29BD:    MOV   A,#000H
    MOV   DPTR,#D09D6
    LCALL S2C5B;取散转向量表
    JB    018H,L29DC
    MOV   DPTR,#D09CB
    LCALL S2C67;取散转向量表
    JNB   013H,L29DB
    JB    012H,L29D7
    LCALL S2AA4
L29D7:    SETB  018H
    CLR   012H
L29DB:    RET
L29DC:    JNB   015H,L29E2
    LCALL S2A64
L29E2:    SETB  015H
    RET
L29E5:    MOV   A,00BH;取USB数据
    ANL   A,#01EH
    XRL   A,#014H
    JNZ   L29DB
    LCALL S2A6E
    RET
S29F1:    MOV   008H,#0F0H
    MOV   00AH,#00AH
    LCALL S00A9;发送USB命令且读10个字节
    MOV   R0,#00FH;取USB数据指针
    RET
S29FD:    MOV   R0,#00EH
    MOV   A,@R0
    ANL   A,#060H
    RR    A
    RR    A
    RR    A
    RR    A
    RR    A
    MOV   DPTR,#D09C0
    LCALL S2C5B;取散转向量表
    RET
L2A0E:    LCALL S0037;测试PSIE_MMU_INT
    JNZ   L2A16
    LCALL S2A22;执行U盘命令
L2A16:    LCALL L2A1B
    SJMP  L2A0E
L2A1B:    MOV   DPTR,#D1642
    LCALL S2C67;取散转向量表
    RET
;-------执行U盘命令--------------------------------------------
S2A22:    MOV   008H,#0F4H;发送USB命令Read intrrupt且读1个字节
    MOV   00AH,#002H
    LCALL S00A9;发送USB命令且读10个字节
    MOV   R0,#00CH;取USB数据指针
    LCALL L2A31;用U盘的数据进行散转加密,执行U盘命令
    RET
;-------用U盘的数据进行散转加密,绝!!!----------------------
L2A31:    MOV   DPTR,#1645H
    CLR   C
    MOV   A,@R0
    JNZ   L2A3F
    INC   R0
    MOV   A,@R0
    JZ    L2A44
    MOV   DPTR,#D1655
L2A3F:    INC   DPTR
    INC   DPTR
    RRC   A
    JNC   L2A3F
L2A44:    MOV   A,#000H
    MOVC  A,@A+DPTR
    MOV   R7,A
    INC   DPTR
    MOV   A,#000H
    MOVC  A,@A+DPTR
    PUSH  ACC
    PUSH  007H
    RET;执行U盘命令
;-------读USB信息--------------------------------------------
S2A51:    MOV   008H,#040H;发送USB命令Get endpoint status(control OUT)且读1个字节
    MOV   00BH,#001H
    LCALL S007A;发送USB命令且写入1个字节
    MOV   008H,#041H;发送USB命令Get endpoint status(control IN)且读1个字节
    MOV   00BH,#001H
    LCALL S007A;发送USB命令且写入1个字节
    RET
S2A64:    MOV   008H,#041H;发送USB命令Get endpoint status(control IN)且读1个字节
    MOV   00BH,#001H
    LCALL S007A;发送USB命令且写入1个字节
    RET
S2A6E:    MOV   008H,#040H;发送USB命令Get endpoint status(control OUT)且读1个字节
    MOV   00BH,#001H
    LCALL S007A;发送USB命令且写入1个字节
    RET
S2A78:    MOV   R0,#014H
    MOV   R1,#070H
    MOV   A,@R0
    MOV   @R1,A
    INC   R0
    INC   R1
    MOV   A,@R0
    MOV   @R1,A
    RET
S2A83:    MOV   R1,#070H
    MOV   A,@R1
    JNZ   L2A8A
    INC   R1
    MOV   A,@R1
L2A8A:    RET
S2A8B:    MOV   00CH,#000H
    MOV   00DH,#000H
    MOV   00EH,#000H
    MOV   00AH,#003H
    MOV   008H,#001H;发送USB命令Select endpoint(control IN)且读1个字节
    LCALL S006D;COMMAND REGISTER PSIE(<@08H>)
    MOV   008H,#0F0H
    LCALL S0087;发送USB命令且写入N个字节
    RET
S2AA4:    MOV   008H,#001H;发送USB命令Select endpoint(control IN)且读1个字节
    LCALL S006D;COMMAND REGISTER PSIE(<@08H>)
    MOV   008H,#0FAH;发送USB命令Validate buffer
    LCALL S006D;COMMAND REGISTER PSIE(<@08H>)
    RET
S2AB1:    MOV   008H,#001H;发送USB命令Select endpoint(control IN)且读1个字节
    LCALL S006D;COMMAND REGISTER PSIE(<@08H>)
    MOV   008H,#0F0H
    LCALL S0087;发送USB命令且写入N个字节
    MOV   008H,#0FAH;发送USB命令Validate buffer
    LCALL S006D;COMMAND REGISTER PSIE(<@08H>)
    RET
L2AC4:    MOV   008H,#000H
    LCALL S006D;COMMAND REGISTER PSIE(<@08H>)
    MOV   008H,#0FAH;发送发送USB命令Validate buffer
    LCALL S006D;COMMAND REGISTER PSIE(<@08H>)
    RET
S2AD1:    MOV   008H,#000H
    LCALL S006D;COMMAND REGISTER PSIE(<@08H>)
    MOV   008H,#0F2H
    LCALL S006D;COMMAND REGISTER PSIE(<@08H>)
    JNB   013H,L2AEC
    MOV   R1,#070H
    MOV   A,@R1
    JNZ   L2AE9
    INC   R1
    MOV   A,@R1
    JZ    L2AEC
L2AE9:    LCALL S2AED
L2AEC:    RET
S2AED:    MOV   R1,#007H
    MOV   R2,#0D0H
L2AF1:    MOV   008H,#000H;发送USB命令Select endpoint(control OUT)且读1个字节
    LCALL S009D;发送USB命令且读1个字节
    MOV   A,00BH;取USB数据
    ANL   A,#001H
    JNZ   L2B01
    DJNZ  R2,L2AF1
    DJNZ  R1,L2AF1
L2B01:    RET
L2B02:    MOV   A,#000H
    MOV   DPTR,#D165F
    MOVC  A,@A+DPTR
    MOV   R3,A
    MOV   R4,#000H
    DEC   R3
    DEC   R3
    INC   R4
    MOV   A,R3
    JZ    L2B30
L2B11:    INC   R4
    MOV   DPTR,#D165F
    INC   DPTR
    MOV   A,R4
L2B17:    INC   DPTR
    DEC   A
    CJNE  A,#000H,L2B17
    MOV   A,#000H
    MOVC  A,@A+DPTR
    XRL   A,#0FFH
    JNZ   L2B2E
    MOV   A,R4
    ADD   A,#040H
    MOV   008H,A
    MOV   00BH,#001H;发送USB命令Set endpoint status(endpoint index=r4)且写1个字节
    LCALL S007A;发送USB命令且写入1个字节
L2B2E:    DJNZ  R3,L2B11
L2B30:    RET
S2B31:    SETB  EA;开放总中断
    RET
L2B34:    CLR   EA;关闭总中断
    RET
S2B37:    SETB  016H
    MOV   R0,#077H
    MOV   A,@R0
    MOV   R2,A
    INC   R0
    MOV   A,@R0
    MOV   R3,A
    CJNE  R3,#000H,L2B58
    CLR   C
    MOV   A,R2
    SUBB  A,#008H
    JNC   L2B62
    SETB  018H
    MOV   @R0,#000H
    INC   R0
    MOV   @R0,#000H
    MOV   A,R2
    MOV   R4,A
    INC   A
    INC   A
    MOV   00AH,A
    SJMP  L2B6F
L2B58:    MOV   A,R2
    CLR   C
    SUBB  A,#008H
    JNC   L2B62
    DEC   R3
    MOV   A,R2
    ADD   A,#0F8H
L2B62:    MOV   R2,A
    MOV   R4,#008H
    MOV   00AH,#00AH
    MOV   R0,#077H
    MOV   A,R2
    MOV   @R0,A
    MOV   A,R3
    INC   R0
    MOV   @R0,A
L2B6F:    MOV   00CH,#000H
    MOV   00DH,R4
    MOV   R0,#00EH
    MOV   A,#000H
    CJNE  R4,#000H,L2B81
    MOV   @R0,A
    MOV   00AH,#003H
    SJMP  L2B90
L2B81:    MOV   A,#000H
    MOV   A,@R1
    MOV   @R0,A
    INC   R0
    INC   R1
    MOV   A,#000H
    DJNZ  R4,L2B81
    MOV   079H,#000H
    MOV   07AH,R0
L2B90:    LCALL S2AB1
    RET
L2B94:    JB    012H,L2BB2
    JB    013H,L2BB2
    JNB   016H,L2BB2
    MOV   008H,#001H;发送USB命令Select endpoint(control IN)且读1个字节
    LCALL S009D;发送USB命令且读1个字节
    MOV   A,00BH;取USB数据
    ANL   A,#001H
    JNZ   L2BB2
    MOV   DPH,079H
    MOV   DPL,07AH
    LCALL S2B37
L2BB2:    RET
S2BB3:    MOV   R1,#0FFH
    MOV   R0,A
    MOV   A,#000H
    MOVC  A,@A+DPTR
    JZ    L2BC4
    DEC   A
    CLR   C
    SUBB  A,R0
    JC    L2BC4
    MOV   A,R0
    INC   DPTR
    MOV   R1,#000H
L2BC4:    RET
L2BC5:    LCALL S2BB3
    CJNE  R1,#0FFH,L2BCD
    SJMP  L2BD8
L2BCD:    RL    A
    MOV   R6,A
    INC   R6
    MOVC  A,@A+DPTR
    MOV   R7,A
    MOV   A,R6
    MOVC  A,@A+DPTR
    PUSH  ACC
    PUSH  007H
L2BD8:    RET
S2BD9:    MOV   R2,A
    RL    A
    MOVC  A,@A+DPTR
    MOV   R3,A
    MOV   A,R2
    RL    A
    INC   A
    MOVC  A,@A+DPTR
    MOV   DPH,R3
    MOV   DPL,A
    RET
L2BE6:    LCALL S2BB3
    CJNE  R1,#0FFH,L2BEE
    SJMP  L2BF1
L2BEE:    LCALL S2BD9
L2BF1:    RET
;-------------------------------------
;世上有如此“笨人”???
;也许需要A,R7吧!!!
;PUSH DPL
;PUSH DPH
;RET
;-------------------------------------
L2BF2:
        MOV   A,DPL
    MOV   R7,DPH
    PUSH  ACC
    PUSH  007H
    RET;执行散转程序
;--------------------------------------
L2BFB:    MOV   R1,#0FFH
    RET
;-------偷改子程序返回地址-------------
L2BFE:    POP   007H
    POP   ACC
    RL    A
    MOV   R6,A
    INC   R6
    MOVC  A,@A+DPTR
    MOV   R7,A
    MOV   A,R6
    MOVC  A,@A+DPTR
    PUSH  ACC
    PUSH  007H
    RET
;---------------------------------------
S2C0E:    MOV   R0,#070H
    MOV   A,@R0
    MOV   R2,A
    INC   R0
    MOV   A,@R0
    MOV   R3,A
    CJNE  R3,#000H,L2C28
    CLR   C
    MOV   A,R2
    MOV   R0,#00DH
    SUBB  A,@R0
    JZ    L2C35
    JNC   L2C40
    JNB   014H,L2C4F
    CLR   014H
    SJMP  L2C4E
L2C28:    MOV   A,R2
    CLR   C
    MOV   R0,#00DH
    SUBB  A,@R0
    JNC   L2C40
    DEC   R3
    MOV   A,R2
    ADD   A,#0F8H
    SJMP  L2C40
L2C35:    MOV   R0,#00DH
    MOV   A,#008H
    SUBB  A,@R0
    JZ    L2C40
    CLR   014H
    MOV   A,#000H
L2C40:    MOV   R0,#070H
    MOV   @R0,A
    MOV   A,R3
    INC   R0
    MOV   @R0,A
    MOV   DPTR,#D09D0
    MOV   A,#000H
    LCALL S2C5B;取散转向量表
L2C4E:    RET
L2C4F:    JNB   017H,L2C55
    LCALL S2A51;读USB信息
L2C55:    SETB  017H
    RET
S2C58:    MOV   A,#000H
    RET
;-------取散转向量表并执行散转程序------------------
S2C5B:    RL    A
    MOV   R6,A
    INC   R6
    MOVC  A,@A+DPTR
    MOV   R7,A
    MOV   A,R6
    MOVC  A,@A+DPTR
    PUSH  ACC
    PUSH  007H
    RET
S2C67:    MOV   A,#000H
    MOVC  A,@A+DPTR
    JZ    L2C8D
    INC   DPTR
    MOV   R5,A
    MOV   072H,DPH
    MOV   073H,DPL
L2C74:    MOV   A,#000H
    MOV   074H,R5
    LCALL S2C5B;取散转向量表
    MOV   R5,074H
    MOV   DPH,072H
    MOV   DPL,073H
    INC   DPTR
    INC   DPTR
    MOV   072H,DPH
    MOV   073H,DPL
    DJNZ  R5,L2C74
L2C8D:    RET
S2C8E:    MOV   B,R0
    MOV   A,#000H
    MOVC  A,@A+DPTR
    JZ    L2D01
    INC   DPTR
    MOV   R5,A
L2C97:    MOV   A,#000H
    MOVC  A,@A+DPTR
    MOV   R6,A
    MOV   A,075H
    JZ    L2CA4
    DEC   A
    JZ    L2CAA
    SJMP  L2CB0
L2CA4:    MOV   A,R6
    JB    ACC.0,L2CB6
    SJMP  L2CEC
L2CAA:    MOV   A,R6
    JB    ACC.1,L2CB6
    SJMP  L2CEC
L2CB0:    MOV   A,R6
    JB    ACC.2,L2CB6
    SJMP  L2CEC
L2CB6:    MOV   A,#001H
    MOV   R7,#000H
    MOV   R6,A
L2CBB:    MOV   A,R6
    MOVC  A,@A+DPTR
    XRL   A,#0FFH
    JZ    L2CC6
    MOV   A,R6
    MOVC  A,@A+DPTR
    XRL   A,@R0
    JNZ   L2CEC
L2CC6:    INC   R7
    INC   R6
    INC   R0
    CJNE  R7,#008H,L2CBB
    CLR   C
    MOV   A,DPL
    ADD   A,#009H
    MOV   DPL,A
    MOV   A,DPH
    ADDC  A,#000H
    MOV   DPH,A
    MOV   A,#000H
    MOVC  A,@A+DPTR
    MOV   R7,A
    INC   DPTR
    MOV   A,#000H
    MOVC  A,@A+DPTR
    MOV   R0,B
    PUSH  ACC
    PUSH  007H
    RET
D2CE8:    DB    079H,000H,080H,015H
L2CEC:    MOV   R7,#000H
    CLR   C
    MOV   A,DPL
    ADD   A,#00BH
    MOV   DPL,A
    MOV   A,DPH
    ADDC  A,#000H
    MOV   DPH,A
    MOV   R6,#000H
    MOV   R0,B
    DJNZ  R5,L2C97
L2D01:    RET
S2D02:    MOV   R0,#014H
    MOV   R1,#077H
    MOV   A,@R0
    MOV   @R1,A
    INC   R0
    INC   R1
    MOV   A,@R0
    MOV   @R1,A
    RET
S2D0D:    MOV   076H,#0FFH
    MOV   07BH,DPH
    MOV   07CH,DPL
    MOV   07DH,#000H
    RET
S2D1A:    MOV   R0,#014H
    JNB   019H,L2D21
    MOV   R0,#077H
L2D21:    MOV   A,@R0
    CLR   C
    SUBB  A,R2
    INC   R0
    MOV   A,@R0
    SUBB  A,R3
    JNC   L2D2E
    MOV   A,@R0
    MOV   R3,A
    DEC   R0
    MOV   A,@R0
    MOV   R2,A
L2D2E:    MOV   R0,#077H
    MOV   A,R2
    MOV   @R0,A
    INC   R0
    MOV   A,R3
    MOV   @R0,A
    CLR   018H
    RET
S2D38:    JB    012H,L2D6D
    JB    013H,L2D6D
    JB    016H,L2D6D
    MOV   008H,#001H;发送USB命令Select endpoint(control IN)且读1个字节
    LCALL S009D;发送USB命令且读1个字节
    MOV   A,00BH;取USB数据
    ANL   A,#001H
    JNZ   L2D6D;jnb acc.0,L2D6D
    JNB   019H,L2D64
    MOV   A,#000H
    MOV   DPTR,#D0AE5
    LCALL S2C5B;取散转向量表
    INC   ACC
    JNZ   L2D64
    MOV   A,#000H
    MOV   DPTR,#D09DE
    LCALL S2C5B;取散转向量表
L2D64:    MOV   DPH,079H
    MOV   DPL,07AH
    LCALL S2D6E
L2D6D:    RET
S2D6E:    MOV   R0,#077H
    MOV   A,@R0
    MOV   R2,A
    INC   R0
    MOV   A,@R0
    MOV   R3,A
    CJNE  R3,#000H,L2D8D
    CLR   C
    MOV   A,R2
    SUBB  A,#008H
    JNC   L2D97
    SETB  018H
    MOV   @R0,#000H
    INC   R0
    MOV   @R0,#000H
    MOV   A,R2
    MOV   R1,A
    INC   A
    INC   A
    MOV   00AH,A
    SJMP  L2DA4
L2D8D:    MOV   A,R2
    CLR   C
    SUBB  A,#008H
    JNC   L2D97
    DEC   R3
    MOV   A,R2
    ADD   A,#0F8H
L2D97:    MOV   R2,A
    MOV   R1,#008H
    MOV   00AH,#00AH
    MOV   R0,#077H
    MOV   A,R2
    MOV   @R0,A
    MOV   A,R3
    INC   R0
    MOV   @R0,A
L2DA4:    MOV   00CH,#000H
    MOV   00DH,R1
    MOV   R0,#00EH
    MOV   A,#000H
    CJNE  R1,#000H,L2DB6
    MOV   @R0,A
    MOV   00AH,#003H
    SJMP  L2DCC
L2DB6:    JB    019H,L2DCC
L2DB9:    LCALL S2DD0
    MOV   A,#000H
    MOVC  A,@A+DPTR
    MOV   @R0,A
    INC   R0
    INC   DPTR
    MOV   A,#000H
    DJNZ  R1,L2DB9
    MOV   079H,DPH
    MOV   07AH,DPL
L2DCC:    LCALL S2AB1
    RET
S2DD0:    PUSH  000H
    MOV   A,076H
    JNZ   L2E13
    MOV   R0,#077H
    INC   R0
    MOV   A,@R0
    JNZ   L2DE0
    DEC   R0
    MOV   A,@R0
    JZ    L2E13
L2DE0:    MOV   DPL,07CH
    MOV   DPH,07BH
    INC   DPTR
    INC   07DH
    CLR   C
    MOV   A,07DH
    RLC   A
    JNC   L2DF1
    INC   DPH
L2DF1:    CLR   C
    ADD   A,07DH
    JNC   L2DF8
    INC   DPH
L2DF8:    CLR   C
    ADD   A,DPL
    JNC   L2DFF
    INC   DPH
L2DFF:    MOV   DPL,A
    MOV   A,#000H
    MOVC  A,@A+DPTR
    MOV   076H,A
    MOV   A,#000H
    INC   DPTR
    MOVC  A,@A+DPTR
    MOV   R2,A
    MOV   A,#000H
    INC   DPTR
    MOVC  A,@A+DPTR
    MOV   DPL,A
    MOV   DPH,R2
L2E13:    DEC   076H
    POP   000H
    RET
S2E18:    CLR   A
    JMP   @A+DPTR;?
S2E1A:    CLR   C
    RLC   A
    JNC   L2E20
    INC   DPH
L2E20:    ADD   A,DPL
    MOV   DPL,A
    JNC   L2E28
    INC   DPH
L2E28:    RET
S2E29:    MUL   AB
    ADD   A,DPL
    MOV   DPL,A
    MOV   A,DPH
    ADDC  A,B
    MOV   DPH,A
    RET
S2E35:    MOV   A,R7
    ADD   A,DPL
    MOV   DPL,A
    MOV   A,R6
    ADDC  A,DPH
    MOV   DPH,A
    RET
S2E40:    CLR   C
    MOV   A,R7
    SUBB  A,R5
    MOV   R7,A
    MOV   A,R6
    SUBB  A,R4
    MOV   R6,A
    RET
D2E48:    DB    000H,000H,000H,000H,000H,000H,000H,000H
D2E50:    DB    000H,000H,003H,001H,000H,002H,000H,01CH
D2E58:    DB    007H,002H,000H,002H,000H,01CH,027H,0FFH
D2E60:    DB    000H,004H,000H,01CH,047H,003H,001H,000H
D2E68:    DB    0FFH,0FFH,018H,067H,002H,000H,0FFH,0FFH
D2E70:    DB    018H,099H,0FFH,000H,0FFH,0FFH,018H,0D1H
D2E78:    DB    003H,001H,000H,0FFH,0FFH,019H,0DDH,002H
D2E80:    DB    000H,0FFH,0FFH,019H,0DDH,0FFH,000H,0FFH
D2E88:    DB    0FFH,019H,0FBH,003H,001H,000H,0FFH,0FFH
D2E90:    DB    01AH,085H,002H,000H,0FFH,0FFH,01AH,085H
D2E98:    DB    0FFH,000H,0FFH,0FFH,01AH,0A3H,003H,001H
D2EA0:    DB    000H,0FFH,0FFH,01BH,056H,002H,000H,0FFH
D2EA8:    DB    0FFH,01BH,056H,0FFH,000H,0FFH,0FFH,01BH
D2EB0:    DB    074H,008H,02EH,052H,02EH,065H,02EH,048H
D2EB8:    DB    02EH,078H,02EH,048H,02EH,08BH,02EH,048H
D2EC0:    DB    02EH,09EH,001H,0FFH,000H,001H,000H,01CH
D2EC8:    DB    073H,001H,0FFH,000H,0FFH,0FFH,019H,027H
D2ED0:    DB    001H,0FFH,000H,0FFH,0FFH,01AH,02EH,001H
D2ED8:    DB    0FFH,000H,0FFH,0FFH,01AH,0D6H,001H,0FFH
D2EE0:    DB    000H,0FFH,0FFH,01BH,0A7H,008H,02EH,0C2H
D2EE8:    DB    02EH,0C9H,02EH,048H,02EH,0D0H,02EH,048H
D2EF0:    DB    02EH,0D7H,02EH,048H,02EH,0DEH,001H,0FFH
D2EF8:    DB    000H,001H,000H,01CH,0C0H,001H,0FFH,000H
D2F00:    DB    001H,000H,019H,07BH,002H,02EH,0F6H,02EH
D2F08:    DB    0FDH,001H,000H,085H,003H,000H,01CH,0F1H
D2F10:    DB    001H,000H,085H,003H,000H,019H,0B1H,001H
D2F18:    DB    000H,085H,003H,000H,01AH,060H,001H,000H
D2F20:    DB    085H,003H,000H,01BH,02CH,001H,000H,085H
D2F28:    DB    003H,000H,01BH,0D9H,008H,02FH,009H,02FH
D2F30:    DB    010H,02EH,048H,02FH,017H,02EH,048H,02FH
D2F38:    DB    01EH,02EH,048H,02FH,025H,001H,0FFH,000H
D2F40:    DB    001H,000H,01BH,0E6H,001H,0FFH,000H,0FFH
D2F48:    DB    0FFH,018H,046H,002H,02FH,03DH,02FH,044H
D2F50:    DB    001H,000H,000H,001H,000H,01CH,0E1H,001H
D2F58:    DB    000H,000H,0FFH,0FFH,019H,09EH,001H,000H
D2F60:    DB    000H,0FFH,0FFH,01AH,052H,001H,000H,000H
D2F68:    DB    0FFH,0FFH,01BH,01EH,001H,000H,000H,0FFH
D2F70:    DB    0FFH,01BH,0CBH,008H,02FH,050H,02FH,057H
D2F78:    DB    02EH,048H,02FH,05EH,02EH,048H,02FH,065H
D2F80:    DB    02EH,048H,02FH,06CH,001H,0FFH,000H,001H
D2F88:    DB    000H,01CH,09AH,001H,0FFH,000H,0FFH,0FFH
D2F90:    DB    019H,051H,001H,0FFH,000H,0FFH,0FFH,01AH
D2F98:    DB    02EH,001H,0FFH,000H,0FFH,0FFH,01AH,0FAH
D2FA0:    DB    001H,0FFH,000H,0FFH,0FFH,01BH,0A7H,008H
D2FA8:    DB    02FH,084H,02FH,08BH,02EH,048H,02FH,092H
D2FB0:    DB    02EH,048H,02FH,099H,02EH,048H,02FH,0A0H
D2FB8:    DB    000H,000H,000H,0FFH,02FH,073H,00AH,02FH
D2FC0:    DB    04BH,02EH,0B1H,02EH,0E5H,02EH,04FH,02FH
D2FC8:    DB    0A7H,02EH,04FH,02EH,04FH,02EH,04FH,02FH
D2FD0:    DB    004H,02EH,04FH,002H,02FH,02CH,02EH,04FH
D2FD8:    DB    00CH,02FH,0D3H,02FH,0B8H,02FH,0BEH,02FH
D2FE0:    DB    0B8H,02FH,0B8H,02FH,0B8H,02FH,0BBH,02FH
D2FE8:    DB    0B8H,02FH,0B8H,02FH,0BEH,02FH,0BEH,02FH
D2FF0:    DB    0BEH,02FH,0BEH,000H,000H,000H
;-------数据区-----------------------------------------
D2FF6:    DB    004H,006H,008H,009H
;------------------------------------------------------
    END


               欢迎点击进入:TI德州中文网   (国内唯一针对TI应用的中文技术网站)    文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    没有相关文章
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61IC 湘ICP备05002478号