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

📄 usb_req.asm

📁 使用5509A的usb的程序代码
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	.sym	_DevNum,12, 10, 17, 16, $$fake0
;* AR0   assigned to _USB_Setup
	.sym	_USB_Setup,17, 24, 17, 23, $$fake6
;* AR1   assigned to _hInEp
	.sym	_hInEp,19, 24, 17, 23, $$fake2
;* AR2   assigned to _hOutEp
	.sym	_hOutEp,21, 24, 17, 23, $$fake2
	.sym	_DevNum,0, 10, 1, 16, $$fake0
	.sym	_USB_Setup,2, 24, 1, 23, $$fake6
	.sym	_hInEp,4, 24, 1, 23, $$fake2
	.sym	_hOutEp,6, 24, 1, 23, $$fake2
        AADD #-9, SP
        MOV XAR2, dbl(*SP(#6))
        MOV XAR1, dbl(*SP(#4))
        MOV XAR0, dbl(*SP(#2))
        MOV T0, *SP(#0) ; |156| 
	.line	5
        MOV #1, T1
        AMOV #_gen_purpose_buffer, XAR1 ; |159| 
        MOV #2, T0
        MOV dbl(*SP(#4)), XAR0
        CALL #_vUSB_postTransaction ; |159| 
                                        ; call occurs [#_vUSB_postTransaction]	; |159| 
	.line	7
        MOV #3, T0
	.line	8
        AADD #9, SP ; |161| 
        RET       ; |161| 
                                        ; return occurs	; |161| 
	.endfunc	162,000000000h,9



	.sect	".text"
	.align 4
	.global	_USB_reqVendorSetInt
	.sym	_USB_reqVendorSetInt,_USB_reqVendorSetInt, 42, 2, 0, $$fake5
	.func	165
;*******************************************************************************
;* FUNCTION NAME: _USB_reqVendorSetInt                                         *
;*                                                                             *
;*   Function Uses Regs : T0,AR0,XAR0,AR1,XAR1,AR2,XAR2,SP,M40,SATA,SATD,RDM,  *
;*                        FRCT,SMUL                                            *
;*   Stack Frame        : Compact (No Frame Pointer, w/ debug)                 *
;*   Total Frame Size   : 10 words                                             *
;*                        (2 return address/alignment)                         *
;*                        (8 local values)                                     *
;*******************************************************************************
_USB_reqVendorSetInt:
	.line	2
;* T0    assigned to _DevNum
	.sym	_DevNum,12, 10, 17, 16, $$fake0
;* AR0   assigned to _USB_Setup
	.sym	_USB_Setup,17, 24, 17, 23, $$fake6
;* AR1   assigned to _hInEp
	.sym	_hInEp,19, 24, 17, 23, $$fake2
;* AR2   assigned to _hOutEp
	.sym	_hOutEp,21, 24, 17, 23, $$fake2
	.sym	_DevNum,0, 10, 1, 16, $$fake0
	.sym	_USB_Setup,2, 24, 1, 23, $$fake6
	.sym	_hInEp,4, 24, 1, 23, $$fake2
	.sym	_hOutEp,6, 24, 1, 23, $$fake2
        AADD #-9, SP
        MOV XAR2, dbl(*SP(#6))
        MOV XAR1, dbl(*SP(#4))
        MOV XAR0, dbl(*SP(#2))
        MOV T0, *SP(#0) ; |166| 
	.line	9
        MOV #2, T0
	.line	10
        AADD #9, SP ; |173| 
        RET       ; |173| 
                                        ; return occurs	; |173| 
	.endfunc	174,000000000h,9



	.sect	".text"
	.align 4
	.global	_USB_reqVendorDeviceStart
	.sym	_USB_reqVendorDeviceStart,_USB_reqVendorDeviceStart, 42, 2, 0, $$fake5
	.func	179
;*******************************************************************************
;* FUNCTION NAME: _USB_reqVendorDeviceStart                                    *
;*                                                                             *
;*   Function Uses Regs : T0,AR0,XAR0,AR1,XAR1,AR2,XAR2,AR3,SP,M40,SATA,SATD,  *
;*                        RDM,FRCT,SMUL                                        *
;*   Stack Frame        : Compact (No Frame Pointer, w/ debug)                 *
;*   Total Frame Size   : 10 words                                             *
;*                        (2 return address/alignment)                         *
;*                        (8 local values)                                     *
;*******************************************************************************
_USB_reqVendorDeviceStart:
	.line	2
;* T0    assigned to _DevNum
	.sym	_DevNum,12, 10, 17, 16, $$fake0
;* AR0   assigned to _USB_Setup
	.sym	_USB_Setup,17, 24, 17, 23, $$fake6
;* AR1   assigned to _hInEp
	.sym	_hInEp,19, 24, 17, 23, $$fake2
;* AR2   assigned to _hOutEp
	.sym	_hOutEp,21, 24, 17, 23, $$fake2
	.sym	_DevNum,0, 10, 1, 16, $$fake0
	.sym	_USB_Setup,2, 24, 1, 23, $$fake6
	.sym	_hInEp,4, 24, 1, 23, $$fake2
	.sym	_hOutEp,6, 24, 1, 23, $$fake2
        AADD #-9, SP
        MOV XAR2, dbl(*SP(#6))
        MOV XAR1, dbl(*SP(#4))
        MOV XAR0, dbl(*SP(#2))
        MOV T0, *SP(#0) ; |180| 
	.line	3
        MOV #0, *(#_indexUSB) ; |181| 
	.line	6
        MOV #13313, AR3 ; |184| 
        MOV port(*AR3), AR1 ; |184| 
        AND #0x00bf, AR1, AR1 ; |184| 
        MOV AR1, port(*AR3) ; |184| 
	.line	8
        MOV #3, T0
        CALL #_IRQ_enable ; |186| 
                                        ; call occurs [#_IRQ_enable]	; |186| 
	.line	9
        MOV #1, *(#_bCollectingIsOn) ; |187| 
	.line	11
        MOV #13313, AR3 ; |189| 
        MOV port(*AR3), AR1 ; |189| 
        OR #0x0042, AR1, AR1 ; |189| 
        MOV AR1, port(*AR3) ; |189| 
	.line	13
        MOV #2, T0
	.line	14
        AADD #9, SP ; |191| 
        RET       ; |191| 
                                        ; return occurs	; |191| 
	.endfunc	192,000000000h,9



	.sect	".text"
	.align 4
	.global	_USB_reqVendorDeviceStop
	.sym	_USB_reqVendorDeviceStop,_USB_reqVendorDeviceStop, 42, 2, 0, $$fake5
	.func	197
;*******************************************************************************
;* FUNCTION NAME: _USB_reqVendorDeviceStop                                     *
;*                                                                             *
;*   Function Uses Regs : T0,AR0,XAR0,AR1,XAR1,AR2,XAR2,AR3,SP,M40,SATA,SATD,  *
;*                        RDM,FRCT,SMUL                                        *
;*   Stack Frame        : Compact (No Frame Pointer, w/ debug)                 *
;*   Total Frame Size   : 10 words                                             *
;*                        (2 return address/alignment)                         *
;*                        (8 local values)                                     *
;*******************************************************************************
_USB_reqVendorDeviceStop:
	.line	2
;* T0    assigned to _DevNum
	.sym	_DevNum,12, 10, 17, 16, $$fake0
;* AR0   assigned to _USB_Setup
	.sym	_USB_Setup,17, 24, 17, 23, $$fake6
;* AR1   assigned to _hInEp
	.sym	_hInEp,19, 24, 17, 23, $$fake2
;* AR2   assigned to _hOutEp
	.sym	_hOutEp,21, 24, 17, 23, $$fake2
	.sym	_DevNum,0, 10, 1, 16, $$fake0
	.sym	_USB_Setup,2, 24, 1, 23, $$fake6
	.sym	_hInEp,4, 24, 1, 23, $$fake2
	.sym	_hOutEp,6, 24, 1, 23, $$fake2
        AADD #-9, SP
        MOV XAR2, dbl(*SP(#6))
        MOV XAR1, dbl(*SP(#4))
        MOV XAR0, dbl(*SP(#2))
        MOV T0, *SP(#0) ; |198| 
	.line	3
        MOV #3, T0
        CALL #_IRQ_disable ; |199| 
                                        ; call occurs [#_IRQ_disable]	; |199| 
	.line	4
        MOV #0, *(#_bCollectingIsOn) ; |200| 
	.line	6
        MOV #13313, AR3 ; |202| 
        MOV port(*AR3), AR1 ; |202| 
        AND #0x00bd, AR1, AR1 ; |202| 
        MOV AR1, port(*AR3) ; |202| 
	.line	8
        MOV #2, T0
	.line	9
        AADD #9, SP ; |204| 
        RET       ; |204| 
                                        ; return occurs	; |204| 
	.endfunc	205,000000000h,9



	.sect	".text"
	.align 4
	.global	_USB_reqVendorDeviceClear
	.sym	_USB_reqVendorDeviceClear,_USB_reqVendorDeviceClear, 42, 2, 0, $$fake5
	.func	209
;*******************************************************************************
;* FUNCTION NAME: _USB_reqVendorDeviceClear                                    *
;*                                                                             *
;*   Function Uses Regs : AC0,AC0,AC1,AC1,T0,AR0,XAR0,AR1,XAR1,AR2,XAR2,AR3,   *
;*                        XAR3,SP,CARRY,TC1,M40,SATA,SATD,RDM,FRCT,SMUL        *
;*   Stack Frame        : Compact (No Frame Pointer, w/ debug)                 *
;*   Total Frame Size   : 10 words                                             *
;*                        (2 return address/alignment)                         *
;*                        (8 local values)                                     *
;*******************************************************************************
_USB_reqVendorDeviceClear:
	.line	2
;* T0    assigned to _DevNum
	.sym	_DevNum,12, 10, 17, 16, $$fake0
;* AR0   assigned to _USB_Setup
	.sym	_USB_Setup,17, 24, 17, 23, $$fake6
;* AR1   assigned to _hInEp
	.sym	_hInEp,19, 24, 17, 23, $$fake2
;* AR2   assigned to _hOutEp
	.sym	_hOutEp,21, 24, 17, 23, $$fake2
	.sym	_DevNum,0, 10, 1, 16, $$fake0
	.sym	_USB_Setup,2, 24, 1, 23, $$fake6
	.sym	_hInEp,4, 24, 1, 23, $$fake2
	.sym	_hOutEp,6, 24, 1, 23, $$fake2
        AADD #-9, SP
        MOV XAR2, dbl(*SP(#6))
        MOV XAR1, dbl(*SP(#4))
        MOV XAR0, dbl(*SP(#2))
        MOV T0, *SP(#0) ; |210| 
	.line	3
        MOV #0, AC0 ; |211| 
        MOV AC0, dbl(*(#_i32)) ; |211| 
        MOV dbl(*(#_i32)), AC1 ; |211| 
        MOV #16384, AC0 ; |211| 
        CMPU AC1 >= AC0, TC1 ; |211| 
        BCC L2,TC1 ; |211| 
                                        ; branch occurs	; |211| 
L1:    
	.line	5
        MOV *(#(_i32+1)), T0 ; |213| 
        SFTL T0, #1 ; |213| 
        MOV #0, AC0 ; |213| 
        AMOV #_mcaData, XAR3 ; |213| 
        MOV AC0, dbl(*AR3(T0)) ; |213| 
	.line	6
        MOV dbl(*(#_i32)), AC0 ; |214| 
        ADD #1, AC0 ; |214| 
        MOV AC0, dbl(*(#_i32)) ; |214| 
        MOV dbl(*(#_i32)), AC1 ; |214| 
        MOV #16384, AC0 ; |214| 
        CMPU AC1 < AC0, TC1 ; |214| 
        BCC L1,TC1 ; |214| 
                                        ; branch occurs	; |214| 
L2:    
	.line	8
        MOV #0, AC0 ; |216| 
        MOV AC0, dbl(*(#_i32)) ; |216| 
        MOV dbl(*(#_i32)), AC1 ; |216| 
        MOV #512, AC0 ; |216| 
        CMPU AC1 >= AC0, TC1 ; |216| 
        BCC L4,TC1 ; |216| 
                                        ; branch occurs	; |216| 
L3:    
	.line	10
        MOV *(#(_i32+1)), T0 ; |218| 
        SFTL T0, #1 ; |218| 
        MOV #0, AC0 ; |218| 
        AMOV #_mcaData512, XAR3 ; |218| 
        MOV AC0, dbl(*AR3(T0)) ; |218| 
	.line	11
        MOV dbl(*(#_i32)), AC0 ; |219| 
        ADD #1, AC0 ; |219| 
        MOV AC0, dbl(*(#_i32)) ; |219| 
        MOV dbl(*(#_i32)), AC1 ; |219| 
        MOV #512, AC0 ; |219| 
        CMPU AC1 < AC0, TC1 ; |219| 
        BCC L3,TC1 ; |219| 
                                        ; branch occurs	; |219| 
L4:    
	.line	13
        MOV #0, AC0 ; |221| 
        MOV AC0, dbl(*(#_i32)) ; |221| 
        MOV dbl(*(#_i32)), AC1 ; |221| 
        MOV #1024, AC0 ; |221| 
        CMPU AC1 >= AC0, TC1 ; |221| 
        BCC L6,TC1 ; |221| 
                                        ; branch occurs	; |221| 
L5:    
	.line	15
        MOV *(#(_i32+1)), T0 ; |223| 
        SFTL T0, #1 ; |223| 
        MOV #0, AC0 ; |223| 
        AMOV #_mcaData1024, XAR3 ; |223| 
        MOV AC0, dbl(*AR3(T0)) ; |223| 
	.line	17
        MOV dbl(*(#_i32)), AC0 ; |225| 
        ADD #1, AC0 ; |225| 
        MOV AC0, dbl(*(#_i32)) ; |225| 
        MOV dbl(*(#_i32)), AC1 ; |225| 
        MOV #1024, AC0 ; |225| 
        CMPU AC1 < AC0, TC1 ; |225| 
        BCC L5,TC1 ; |225| 
                                        ; branch occurs	; |225| 
L6:    
	.line	19
        MOV #0, AC0 ; |227| 
        MOV AC0, dbl(*(#_i32)) ; |227| 
        MOV dbl(*(#_i32)), AC1 ; |227| 
        MOV #2048, AC0 ; |227| 
        CMPU AC1 >= AC0, TC1 ; |227| 
        BCC L8,TC1 ; |227| 
                                        ; branch occurs	; |227| 
L7:    
	.line	21
        MOV *(#(_i32+1)), T0 ; |229| 
        SFTL T0, #1 ; |229| 
        MOV #0, AC0 ; |229| 
        AMOV #_mcaData2048, XAR3 ; |229| 
        MOV AC0, dbl(*AR3(T0)) ; |229| 
	.line	22
        MOV dbl(*(#_i32)), AC0 ; |230| 
        ADD #1, AC0 ; |230| 
        MOV AC0, dbl(*(#_i32)) ; |230| 
        MOV dbl(*(#_i32)), AC1 ; |230| 
        MOV #2048, AC0 ; |230| 
        CMPU AC1 < AC0, TC1 ; |230| 
        BCC L7,TC1 ; |230| 
                                        ; branch occurs	; |230| 
L8:    
	.line	24
        MOV #0, AC0 ; |232| 
        MOV #15, AC1 ; |232| 
        MOV AC0, dbl(*(#_i32)) ; |232| 
        MOV dbl(*(#_i32)), AC0 ; |232| 
        CMPU AC0 >= AC1, TC1 ; |232| 
        BCC L10,TC1 ; |232| 
                                        ; branch occurs	; |232| 
L9:    
	.line	26
        MOV *(#(_i32+1)), T0 ; |234| 
        SFTL T0, #1 ; |234| 

⌨️ 快捷键说明

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