📄 usb_lib_et.asm
字号:
MOV A,_TEMP_UREG
XOR A,#0xa1
JBC _STTS,2,_00485_DS_usb_lib_StageOne
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (2223)
; TEMP_UREG = IAC0;
MOV A,_IAC0
MOV _TEMP_UREG,A
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (2224)
; if(_RT0XA1_Request_0X01 &&(TEMP_UREG==request_get_report))
DECA _TEMP_UREG
JBC _STTS,2,_00479_DS_usb_lib_StageOne
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (2226)
; M_BS5(FC_STATUS);
BS _FC_STATUS,5
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (2228)
; AddUsbGetReportSub();
CALL _AddUsbGetReportSub
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (2229)
; return;
JMP _00486_DS_usb_lib_StageOne
_00479_DS_usb_lib_StageOne:
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (2231)
; else if(_RT0XA1_Request_0X02 &&(TEMP_UREG==request_get_idle))
MOV A,_TEMP_UREG
XOR A,#0x02
JBC _STTS,2,_00475_DS_usb_lib_StageOne
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (2233)
; EP0TXCTR = 1;
MOV A,#0x01
MOV _EP0TXCTR,A
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (2235)
; EP0TXDAR = IDLE_TIMER;
MOV A,_IDLE_TIMER
MOV _EP0TXDAR,A
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (2237)
; return;
JMP _00486_DS_usb_lib_StageOne
_00475_DS_usb_lib_StageOne:
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (2239)
; else if(_RT0XA1_Request_0X03 &&(TEMP_UREG==request_get_protocol))
MOV A,_TEMP_UREG
XOR A,#0x03
JBC _STTS,2,_00482_DS_usb_lib_StageOne
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (2241)
; EP0TXCTR = 1;
MOV A,#0x01
MOV _EP0TXCTR,A
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (2243)
; EP0TXDAR = PROTOCOL;
MOV A,_PROTOCOL
MOV _EP0TXDAR,A
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (2245)
; return;
JMP _00486_DS_usb_lib_StageOne
_00482_DS_usb_lib_StageOne:
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (2248)
; AddUsbRt0xA1Request();
CALL _AddUsbRt0xA1Request
_00485_DS_usb_lib_StageOne:
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (2370)
; AddUsbBmRequestType();
CALL _AddUsbBmRequestType
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (2374)
; M_BS0(USB_STATUS);
BS _USB_STATUS,0
_00486_DS_usb_lib_StageOne:
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (2375)
; return;
RET
; exit point of _StageOne
;***
; pBlock Stats: dbName = C
;***
;entry: _SearchChangePort: ;Function start
; 1 exit point
;Using Bank: Bank1
;has an exit
;; Starting pCode block
_SearchChangePort: ;Function start
; 1 exit point
MOV A,#_HPSR4 ;inline asm
ADD A,_HwIndexL ;inline asm
MOV _IAP0,A ;inline asm
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (992)
; return;
RET
; exit point of _SearchChangePort
;***
; pBlock Stats: dbName = C
;***
;entry: _fTransmitTable: ;Function start
; 1 exit point
;Using Bank: Bank1
;has an exit
;; Starting pCode block
_fTransmitTable: ;Function start
; 1 exit point
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (958)
; CTR_BUF = 0;
CLR _CTR_BUF
_00201_DS_usb_lib_fTransmitTable:
TBRDP _EP0TXDAR ;inline asm
INC _CTR_BUF ;inline asm
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (967)
; nwLength--;
MOV A,#0xff
ADD _nwLength,A
JBS _STTS,0,_10002_ET_usb_lib_fTransmitTable
DEC _nwLength + 1
_10002_ET_usb_lib_fTransmitTable:
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (968)
; TBLL--;
DEC _TBLL
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (969)
; if(!TBLL || (M_ISBS6(CTR_BUF)) )
ZCHK _TBLL
JBS _STTS,2,_00203_DS_usb_lib_fTransmitTable
JBS _CTR_BUF,6,_00203_DS_usb_lib_fTransmitTable
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (972)
; while(nwLength);//&& HTBLL);
MOV A,_nwLength
OR A,_nwLength + 1
JBC _STTS,2,_00201_DS_usb_lib_fTransmitTable
_00203_DS_usb_lib_fTransmitTable:
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (974)
; EP0TXCTR = CTR_BUF;
MOV A,_CTR_BUF
MOV _EP0TXCTR,A
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (976)
; ROMADRH = HTBL;
MOV A,_HTBL
MOV _ROMADRH,A
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (977)
; ROMADRL = LTBL;
MOV A,_LTBL
MOV _ROMADRL,A
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (978)
; return;
RET
; exit point of _fTransmitTable
;***
; pBlock Stats: dbName = C
;***
;entry: _HubTransmitTable: ;Function start
; 1 exit point
;Using Bank: Bank1
;has an exit
;; Starting pCode block
_HubTransmitTable: ;Function start
; 1 exit point
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (931)
; CTR_BUF = 0;
CLR _CTR_BUF
_00191_DS_usb_lib_HubTransmitTable:
TBRDP _HEP0TXDAR ;inline asm
INC _CTR_BUF ;inline asm
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (939)
; nHwLength--;
MOV A,#0xff
ADD _nHwLength,A
JBS _STTS,0,_10001_ET_usb_lib_HubTransmitTable
DEC _nHwLength + 1
_10001_ET_usb_lib_HubTransmitTable:
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (940)
; HTBLL--;
DEC _HTBLL
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (941)
; if(!HTBLL && M_ISBS3(CTR_BUF))
ZCHK _HTBLL
JBC _STTS,2,_00192_DS_usb_lib_HubTransmitTable
JBS _CTR_BUF,3,_00193_DS_usb_lib_HubTransmitTable
_00192_DS_usb_lib_HubTransmitTable:
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (944)
; while(nHwLength );//&& HTBLL);
MOV A,_nHwLength
OR A,_nHwLength + 1
JBC _STTS,2,_00191_DS_usb_lib_HubTransmitTable
_00193_DS_usb_lib_HubTransmitTable:
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (946)
; HEP0TXCTR = CTR_BUF;
MOV A,_CTR_BUF
MOV _HEP0TXCTR,A
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (948)
; HROMADRH = HTBL;
MOV A,_HTBL
MOV _HROMADRH,A
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (949)
; HROMADRL = LTBL;
MOV A,_LTBL
MOV _HROMADRL,A
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (950)
; return;
RET
; exit point of _HubTransmitTable
;***
; pBlock Stats: dbName = C
;***
;entry: _UsbInitial: ;Function start
; 1 exit point
;Using Bank: Bank1
;has an exit
;functions called:
; _AddUsbInitialWorkSub
;; Starting pCode block
_UsbInitial: ;Function start
; 1 exit point
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (51)
; IAPADR = 0x05;
MOV A,#0x05
MOV _IAPADR,A
BANK 0
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (54)
; M_BS6(PRIE);
BS _PRIE,6
BANK 1
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (59)
; M_BC3(HUB_STATUS);
BC _HUB_STATUS,3
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (60)
; USB_STATUS = 0;
CLR _USB_STATUS
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (61)
; STATUS_BUF = 0;
CLR _STATUS_BUF
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (62)
; A_INTERFACE = 0;
CLR _A_INTERFACE
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (65)
; EPINTE = 0x3f;
MOV A,#0x3f
MOV _EPINTE,A
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (69)
; STAINTE = 0x01;
MOV A,#0x01
MOV _STAINTE,A
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (73)
; HINTE = 0xCF;
MOV A,#0xcf
MOV _HINTE,A
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (79)
; ADDRESS_BUFh = 0;
CLR _ADDRESS_BUFh
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (80)
; ADDRESS_BUFf = 0;
CLR _ADDRESS_BUFf
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (83)
; FAR = 0xFF;
MOV A,#0xff
MOV _FAR,A
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (85)
; HAR = 0xFF;
MOV A,#0xff
MOV _HAR,A
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (90)
; M_BS7(GCNTR);
BS _GCNTR,7
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (98)
; M_BS1(GCNTR);
BS _GCNTR,1
NOP ;inline asm
NOP ;inline asm
NOP ;inline asm
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (103)
; AddUsbInitialWorkSub();
CALL _AddUsbInitialWorkSub
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (105)
; return;
RET
; exit point of _UsbInitial
;***
; pBlock Stats: dbName = C
;***
;entry: _UsbIntPre: ;Function start
; 1 exit point
;Using Bank: Bank1
;has an exit
;; Starting pCode block
_UsbIntPre: ;Function start
; 1 exit point
;#CSRC E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (39)
; }
RET
; exit point of _UsbIntPre
;***
; pBlock Stats: dbName = P
;***
;; Starting pCode block for Ival
_Fc_device_desc_table:
DB 0x12,0x01
DB 0x10,0x01
DB 0x00,0x00
DB 0x00,0x40
DB 0x2c,0x10
DB 0x09,0xff
DB 0x00,0x01
DB 0x01,0x02
DB 0x00,0x01
;***
; pBlock Stats: dbName = P
;***
;; Starting pCode block for Ival
_Fc_config_desc_table:
DB 0x09,0x02
DB 0x29,0x00
DB 0x01,0x01
DB 0x00,0xa0
DB 0x32,0x09
DB 0x04,0x00
DB 0x00,0x02
DB 0x03,0x00
DB 0x00,0x00
DB 0x09,0x21
DB 0x01,0x01
DB 0x00,0x01
DB 0x22,0x22
DB 0x00,0x07
DB 0x05,0x81
DB 0x81,0x40
DB 0x00,0x0a
DB 0x07,0x05
DB 0x01,0x01
DB 0x40,0x00
DB 0x0a
;***
; pBlock Stats: dbName = P
;***
;; Starting pCode block for Ival
_String_langid_table:
DB 0x04,0x03
DB 0x09,0x04
;***
; pBlock Stats: dbName = P
;***
;; Starting pCode block for Ival
_String_index_DManufacture_table:
DB 0x0c,0x03
DW "ETOMS"
;***
; pBlock Stats: dbName = P
;***
;; Starting pCode block for Ival
_String_index_DProduct_table:
DB 0x24,0x03
DW "Usb Hid Ad Tester"
;***
; pBlock Stats: dbName = P
;***
;; Starting pCode block for Ival
_Descriptor_type_21_index_0_0_table:
DB 0x09,0x21
DB 0x01,0x01
DB 0x00,0x01
DB 0x22,0x22
DB 0x00
;***
; pBlock Stats: dbName = P
;***
;; Starting pCode block for Ival
_Descriptor_type_22_index_0_0_table:
DB 0x06,0x00
DB 0xff,0x09
DB 0x00,0xa1
DB 0x01,0x09
DB 0x01,0x15
DB 0x00,0x26
DB 0xff,0x00
DB 0x75,0x08
DB 0x95,0x02
DB 0x81,0x02
DB 0x09,0x02
DB 0x15,0x00
DB 0x26,0xff
DB 0x00,0x75
DB 0x08,0x95
DB 0x02,0x91
DB 0x02,0xc0
; end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -