⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usb_lib_et.asm

📁 基于义统et44的AD与PWM控制程序,简单的输出输入动作控制程序,可用于自行设定任何控制.
💻 ASM
📖 第 1 页 / 共 4 页
字号:
	JBS	_STTS,2,_00184_DS_usb_lib_Int_SofInte
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (903)
;  if(--HEP1_CNT)
	DEC	_HEP1_CNT
	ZCHK	_HEP1_CNT
	JBS	_STTS,2,_00184_DS_usb_lib_Int_SofInte
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (905)
;  M_BC1(HEP1TXCSR);
	BC	_HEP1TXCSR,1
	NOP			;inline asm
	NOP			;inline asm
	NOP 			;inline asm
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (907)
;  M_BS0(HEP1TXCSR);
	BS	_HEP1TXCSR,0
	NOP			;inline asm
	NOP			;inline asm
	NOP 			;inline asm
_00184_DS_usb_lib_Int_SofInte:
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (924)
;  return;  
	RETI	
;***
;  pBlock Stats: dbName = C
;***
;entry:  _StageOne:	;Function start
; 1 exit point 
;Using Bank: Bank1
;has an exit
;functions called:
;   _AddUsbDeviceConfigOk
;   _AddUsbRt0x02Request
;   _fTransmitTable
;   _fTransmitTable
;   _AddUsbRt0x20Request
;   _AddUsbRt0x23Request
;   _AddUsbGetReportSub
;   _AddUsbRt0xA1Request
;   _AddUsbBmRequestType
;; Starting pCode block
_StageOne:	;Function start
; 1 exit point 
	MOV A,#_bmRequestType			;inline asm
	MOV _IAP0,A			;inline asm
	NOP			;inline asm
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1009)
;  TEMP_UREG = IAC0;
	MOV	A,_IAC0
	MOV	_TEMP_UREG,A
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1012)
;  if(TEMP_UREG==0)
	MOV	A,_TEMP_UREG
	JBC	_STTS,2,_00255_DS_usb_lib_StageOne
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1014)
;  TEMP_UREG = IAC0;
	MOV	A,_IAC0
	MOV	_TEMP_UREG,A
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1017)
;  if(_RT0X00_Request_0X01 && (TEMP_UREG == request_clear_feature))
	DECA	_TEMP_UREG
	JBC	_STTS,2,_00249_DS_usb_lib_StageOne
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1027)
;  if(IAC0 == device_remote_wakeup)
	DECA	_IAC0
	JBC	_STTS,2,_00255_DS_usb_lib_StageOne
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1029)
;  M_BC2(HGSR);
	BC	_HGSR,2
	NOP			;inline asm
	NOP			;inline asm
	NOP 			;inline asm
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1031)
;  M_BC4(HGSR);
	BC	_HGSR,4
	NOP			;inline asm
	NOP			;inline asm
	NOP 			;inline asm
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1033)
;  M_BC3(STAINTE);
	BC	_STAINTE,3
	NOP			;inline asm
	NOP			;inline asm
	NOP 			;inline asm
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1035)
;  return;
	JMP	_00486_DS_usb_lib_StageOne
_00249_DS_usb_lib_StageOne:
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1040)
;  else if(_RT0X00_Request_0X03 && (TEMP_UREG == request_set_feature))
	MOV	A,_TEMP_UREG
	XOR	A,#0x03
	JBC	_STTS,2,_00245_DS_usb_lib_StageOne
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1044)
;  if(IAC0 == device_remote_wakeup)
	DECA	_IAC0
	JBC	_STTS,2,_00255_DS_usb_lib_StageOne
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1046)
;  M_BS4(HGSR);
	BS	_HGSR,4
	NOP			;inline asm
	NOP			;inline asm
	NOP 			;inline asm
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1048)
;  M_BS3(STAINTE);
	BS	_STAINTE,3
	NOP			;inline asm
	NOP			;inline asm
	NOP 			;inline asm
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1050)
;  return;        
	JMP	_00486_DS_usb_lib_StageOne
_00245_DS_usb_lib_StageOne:
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1055)
;  else if(_RT0X00_Request_0X05 && (TEMP_UREG == request_set_address))
	MOV	A,_TEMP_UREG
	XOR	A,#0x05
	JBC	_STTS,2,_00237_DS_usb_lib_StageOne
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1062)
;  ADDRESS_BUFf = IAC0;
	MOV	A,_IAC0
	MOV	_ADDRESS_BUFf,A
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1063)
;  return;
	JMP	_00486_DS_usb_lib_StageOne
_00237_DS_usb_lib_StageOne:
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1071)
;  else if(_RT0X00_Request_0X09&& (TEMP_UREG == request_set_configuration))
	MOV	A,_TEMP_UREG
	XOR	A,#0x09
	JBC	_STTS,2,_00255_DS_usb_lib_StageOne
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1101)
;  EP1CNTR = _USB_EP1_CON;
	MOV	A,#0x27
	MOV	_EP1CNTR,A
	NOP			;inline asm
	NOP			;inline asm
	NOP 			;inline asm
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1103)
;  EP2CNTR = _USB_EP2_CON;
	MOV	A,#0x23
	MOV	_EP2CNTR,A
	NOP			;inline asm
	NOP			;inline asm
	NOP 			;inline asm
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1105)
;  EP3CNTR = _USB_EP3_CON;
	MOV	A,#0x04
	MOV	_EP3CNTR,A
	NOP			;inline asm
	NOP			;inline asm
	NOP 			;inline asm
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1109)
;  M_BC1(EP0RXCSR);
	BC	_EP0RXCSR,1
	NOP			;inline asm
	NOP			;inline asm
	NOP 			;inline asm
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1111)
;  M_BC1(EP0TXCSR);
	BC	_EP0TXCSR,1
	NOP			;inline asm
	NOP			;inline asm
	NOP 			;inline asm
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1113)
;  M_BC1(EP1CSR);
	BC	_EP1CSR,1
	NOP			;inline asm
	NOP			;inline asm
	NOP 			;inline asm
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1115)
;  M_BC1(EP2CSR);
	BC	_EP2CSR,1
	NOP			;inline asm
	NOP			;inline asm
	NOP 			;inline asm
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1117)
;  M_BC1(EP3CSR);
	BC	_EP3CSR,1
	NOP			;inline asm
	NOP			;inline asm
	NOP 			;inline asm
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1121)
;  if(!wValueL)
	ZCHK	_wValueL
	JBC	_STTS,2,_00229_DS_usb_lib_StageOne
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1123)
;  M_BC4(FC_STATUS);
	BC	_FC_STATUS,4
	NOP			;inline asm
	NOP			;inline asm
	NOP 			;inline asm
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1125)
;  M_BC0(EP1CSR);
	BC	_EP1CSR,0
	NOP			;inline asm
	NOP			;inline asm
	NOP 			;inline asm
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1127)
;  M_BC0(EP2CSR);
	BC	_EP2CSR,0
	NOP			;inline asm
	NOP			;inline asm
	NOP 			;inline asm
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1129)
;  M_BC0(EP3CSR);
	BC	_EP3CSR,0
	NOP			;inline asm
	NOP			;inline asm
	NOP 			;inline asm
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1130)
;  M_NOP;
	JMP	_00230_DS_usb_lib_StageOne
_00229_DS_usb_lib_StageOne:
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1135)
;  M_BS4(FC_STATUS);
	BS	_FC_STATUS,4
	NOP			;inline asm
	NOP			;inline asm
	NOP 			;inline asm
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1137)
;  M_BC0(EP1CSR);
	BC	_EP1CSR,0
	NOP			;inline asm
	NOP			;inline asm
	NOP 			;inline asm
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1139)
;  M_BC0(EP2CSR);
	BC	_EP2CSR,0
	NOP			;inline asm
	NOP			;inline asm
	NOP 			;inline asm
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1141)
;  M_BC0(EP3CSR);
	BC	_EP3CSR,0
	NOP			;inline asm
	NOP			;inline asm
	NOP 			;inline asm
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1144)
;  AddUsbDeviceConfigOk();
	CALL	_AddUsbDeviceConfigOk
_00230_DS_usb_lib_StageOne:
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1147)
;  return;
	JMP	_00486_DS_usb_lib_StageOne
_00255_DS_usb_lib_StageOne:
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1170)
;  if(TEMP_UREG==2)// == 0x02)
	MOV	A,_TEMP_UREG
	XOR	A,#0x02
	JBC	_STTS,2,_00360_DS_usb_lib_StageOne
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1175)
;  TEMP_UREG = IAC0;
	MOV	A,_IAC0
	MOV	_TEMP_UREG,A
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1176)
;  if(TEMP_UREG = request_clear_feature)
	MOV	A,#0x01
	MOV	_TEMP_UREG,A
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1178)
;  if(_RT0X02_R0X01_Value0000 && (IAC0 = endpoint_stalled))
	CLR	_IAC0
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1287)
;  if(_RT0X02_Request_0X03 &&(TEMP_UREG ==request_set_feature))   
	MOV	A,_TEMP_UREG
	XOR	A,#0x03
	JBC	_STTS,2,_00357_DS_usb_lib_StageOne
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1289)
;  if(_RT0X02_R0X03_Value0000 && (IAC0 = endpoint_stalled))
	CLR	_IAC0
_00357_DS_usb_lib_StageOne:
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1399)
;  AddUsbRt0x02Request();       
	CALL	_AddUsbRt0x02Request
_00360_DS_usb_lib_StageOne:
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1720)
;  if(TEMP_UREG == 0x81)
	MOV	A,_TEMP_UREG
	XOR	A,#0x81
	JBC	_STTS,2,_00391_DS_usb_lib_StageOne
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1722)
;  TEMP_UREG = IAC0;
	MOV	A,_IAC0
	MOV	_TEMP_UREG,A
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1723)
;  if(_RT0X81_Request_0X00 && (TEMP_UREG ==request_get_status))
	MOV	A,_TEMP_UREG
	JBC	_STTS,2,_00385_DS_usb_lib_StageOne
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1734)
;  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 (1736)
;  nwLength = 0;
	CLR	_nwLength
	CLR	_nwLength + 1
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1737)
;  EP0TXDAR = 0;
	CLR	_EP0TXDAR
	NOP			;inline asm
	NOP			;inline asm
	NOP 			;inline asm
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1739)
;  return;
	JMP	_00486_DS_usb_lib_StageOne
_00385_DS_usb_lib_StageOne:
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1741)
;  else if(_RT0X81_Request_0X06 && (TEMP_UREG == request_get_descriptor))
	MOV	A,_TEMP_UREG
	XOR	A,#0x06
	JBC	_STTS,2,_00381_DS_usb_lib_StageOne
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1743)
;  if(_RT0X81_R0X06_Value2100 && (wValueH == descriptor_types_HID))
	MOV	A,_wValueH
	XOR	A,#0x21
	JBC	_STTS,2,_00375_DS_usb_lib_StageOne
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1745)
;  if((wIndexL==0) && (_USB_HID))
	MOV	A,_wIndexL
	JBC	_STTS,2,_00375_DS_usb_lib_StageOne
	MOV A,#High(_Descriptor_type_21_index_0_0_table<<1)			;inline asm
	MOV _HTBL,A			;inline asm
	MOV A,#LOW(_Descriptor_type_21_index_0_0_table<<1)			;inline asm
	MOV _LTBL,A			;inline asm
	NOP			;inline asm
	NOP			;inline asm
	TBRD _TBLL			;inline asm
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1763)
;  fTransmitTable();
	CALL	_fTransmitTable
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1764)
;  return;
	JMP	_00486_DS_usb_lib_StageOne
_00375_DS_usb_lib_StageOne:
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1787)
;  if(_RT0X81_R0X06_Value2200 && (wValueH == descriptor_types_Report))
	MOV	A,_wValueH
	XOR	A,#0x22
	JBC	_STTS,2,_00391_DS_usb_lib_StageOne
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1790)
;  if((wIndexL==0))
	MOV	A,_wIndexL
	JBC	_STTS,2,_00391_DS_usb_lib_StageOne
	MOV A,#High(_Descriptor_type_22_index_0_0_table<<1)			;inline asm
	MOV _HTBL,A			;inline asm
	MOV A,#Low(_Descriptor_type_22_index_0_0_table<<1)			;inline asm
	MOV _LTBL,A			;inline asm
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1801)
;  TBLL = ET_USB_HID_wDescriptorLength_0_0;
	MOV	A,#0x22
	MOV	_TBLL,A
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1802)
;  fTransmitTable();
	CALL	_fTransmitTable
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1803)
;  return;                 
	JMP	_00486_DS_usb_lib_StageOne
_00381_DS_usb_lib_StageOne:
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1832)
;  else if(_RT0X81_Request_0X0A && (TEMP_UREG == request_get_interface))
	MOV	A,_TEMP_UREG
	XOR	A,#0x0a
	JBC	_STTS,2,_00391_DS_usb_lib_StageOne
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1848)
;  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 (1850)
;  nwLength = 0;
	CLR	_nwLength
	CLR	_nwLength + 1
	MOV A,#0x00			;inline asm
	MOV _EP0TXDAR,A			;inline asm
	NOP			;inline asm
	NOP			;inline asm
	NOP 			;inline asm
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1856)
;  return;                  
	JMP	_00486_DS_usb_lib_StageOne
_00391_DS_usb_lib_StageOne:
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1985)
;  if(TEMP_UREG == 0x20)
	MOV	A,_TEMP_UREG
	XOR	A,#0x20
	JBC	_STTS,2,_00471_DS_usb_lib_StageOne
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (1987)
;  TEMP_UREG = IAC0;
	MOV	A,_IAC0
	MOV	_TEMP_UREG,A
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (2012)
;  AddUsbRt0x20Request();    
	CALL	_AddUsbRt0x20Request
	JMP	_00472_DS_usb_lib_StageOne
_00471_DS_usb_lib_StageOne:
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (2041)
;  else if(TEMP_UREG == 0x23)
	MOV	A,_TEMP_UREG
	XOR	A,#0x23
	JBC	_STTS,2,_00472_DS_usb_lib_StageOne
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (2043)
;  TEMP_UREG = IAC0;
	MOV	A,_IAC0
	MOV	_TEMP_UREG,A
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (2178)
;  AddUsbRt0x23Request();
	CALL	_AddUsbRt0x23Request
_00472_DS_usb_lib_StageOne:
;#CSRC	E:\Usb_Hid\Interrupt\HID_AD_PWM\firmware_ad\usb_lib.c (2221)
;  if(TEMP_UREG == 0xA1)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -