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

📄 usb_lib_et.asm

📁 基于义统et44的AD与PWM控制程序,简单的输出输入动作控制程序,可用于自行设定任何控制.
💻 ASM
📖 第 1 页 / 共 4 页
字号:
	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 + -