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

📄 usb_req.asm

📁 使用5509A的usb的程序代码
💻 ASM
📖 第 1 页 / 共 5 页
字号:
;*******************************************************************************
;* TMS320C55x C/C++ Codegen                                    PC Version 2.56 *
;* Date/Time created: Fri Mar 07 11:38:12 2008                                 *
;*******************************************************************************
	.mmregs
	.cpl_on
	.arms_on
	.c54cm_off
	.asg AR6, FP
	.asg XAR6, XFP
	.asg DPH, MDP
	.model call=c55_std
	.model mem=large
	.noremark 5549  ; code avoids SE CPU_28
	.noremark 5558  ; code avoids SE CPU_33
	.noremark 5570  ; code avoids SE CPU_40
	.noremark 5571  ; code avoids SE CPU_41
	.noremark 5573  ; code avoids SE CPU_43
	.noremark 5584  ; code avoids SE CPU_47
	.noremark 5599  ; code avoids SE CPU_55
	.noremark 5503  ; code avoids SE CPU_84 MMR write
	.noremark 5505  ; code avoids SE CPU_84 MMR read
	.noremark 5673  ; code avoids SE CPU_89
	.noremark 5002  ; code respects overwrite rules
;*******************************************************************************
;* GLOBAL FILE PARAMETERS                                                      *
;*                                                                             *
;*   Architecture       : TMS320C55x                                           *
;*   Optimization       : Always Choose Smaller Code Size                      *
;*   Memory             : Large Model (23-Bit Data Pointers)                   *
;*   Calls              : Normal Library ASM calls                             *
;*   Debug Info         : Standard TI Debug Information                        *
;*******************************************************************************
	.file	"usb_req.c"

	.sect	".cinit"
	.align	1
	.field  	1,16
	.field  	_usbCurDevStat+0,24
	.field  	0,8
	.field  	1,16			; _usbCurDevStat @ 0

	.sect	".text"
	.global	_usbCurDevStat
	.bss	_usbCurDevStat,1,0,0
	.sym	_usbCurDevStat,_usbCurDevStat, 13, 2, 16

	.sect	".cinit"
	.align	1
	.field  	1,16
	.field  	_usbCurConfigStat+0,24
	.field  	0,8
	.field  	0,16			; _usbCurConfigStat @ 0

	.sect	".text"
	.global	_usbCurConfigStat
	.bss	_usbCurConfigStat,1,0,0
	.sym	_usbCurConfigStat,_usbCurConfigStat, 13, 2, 16

	.sect	".cinit"
	.align	1
	.field  	1,16
	.field  	_usbCurIntrfcStat+0,24
	.field  	0,8
	.field  	0,16			; _usbCurIntrfcStat @ 0

	.sect	".text"
	.global	_usbCurIntrfcStat
	.bss	_usbCurIntrfcStat,1,0,0
	.sym	_usbCurIntrfcStat,_usbCurIntrfcStat, 13, 2, 16
	.global	_gen_purpose_buffer
	.bss	_gen_purpose_buffer,7,0,0
	.sym	_gen_purpose_buffer,_gen_purpose_buffer, 61, 2, 112,, 7

	.sect	".cinit"
	.align	1
	.field  	IR_1,16
	.field  	_USB_ReqTable+0,24
	.field  	0,8
	.field  	32768,16			; _USB_ReqTable[0]._Request @ 0
	.space	16
	.field  	_USB_reqGetStatus,32		; _USB_ReqTable[0]._fpRequestHandler @ 32
	.field  	1,16			; _USB_ReqTable[1]._Request @ 64
	.space	16
	.field  	_USB_reqClearFeature,32		; _USB_ReqTable[1]._fpRequestHandler @ 96
	.field  	3,16			; _USB_ReqTable[2]._Request @ 128
	.space	16
	.field  	_USB_reqSetFeature,32		; _USB_ReqTable[2]._fpRequestHandler @ 160
	.field  	5,16			; _USB_ReqTable[3]._Request @ 192
	.space	16
	.field  	_USB_reqSetAddress,32		; _USB_ReqTable[3]._fpRequestHandler @ 224
	.field  	32774,16			; _USB_ReqTable[4]._Request @ 256
	.space	16
	.field  	_USB_reqGetDescriptor,32		; _USB_ReqTable[4]._fpRequestHandler @ 288
	.field  	7,16			; _USB_ReqTable[5]._Request @ 320
	.space	16
	.field  	_USB_reqUnknown,32		; _USB_ReqTable[5]._fpRequestHandler @ 352
	.field  	32776,16			; _USB_ReqTable[6]._Request @ 384
	.space	16
	.field  	_USB_reqGetConfiguration,32		; _USB_ReqTable[6]._fpRequestHandler @ 416
	.field  	9,16			; _USB_ReqTable[7]._Request @ 448
	.space	16
	.field  	_USB_reqSetConfiguration,32		; _USB_ReqTable[7]._fpRequestHandler @ 480
	.field  	32778,16			; _USB_ReqTable[8]._Request @ 512
	.space	16
	.field  	_USB_reqUnknown,32		; _USB_ReqTable[8]._fpRequestHandler @ 544
	.field  	11,16			; _USB_ReqTable[9]._Request @ 576
	.space	16
	.field  	_USB_reqUnknown,32		; _USB_ReqTable[9]._fpRequestHandler @ 608
	.field  	32780,16			; _USB_ReqTable[10]._Request @ 640
	.space	16
	.field  	_USB_reqUnknown,32		; _USB_ReqTable[10]._fpRequestHandler @ 672
	.field  	33022,16			; _USB_ReqTable[11]._Request @ 704
	.space	16
	.field  	_USB_reqGetMaxLun,32		; _USB_ReqTable[11]._fpRequestHandler @ 736
	.field  	255,16			; _USB_ReqTable[12]._Request @ 768
	.space	16
	.field  	_USB_reqMassStorageReset,32		; _USB_ReqTable[12]._fpRequestHandler @ 800
	.field  	16396,16			; _USB_ReqTable[13]._Request @ 832
	.space	16
	.field  	_USB_reqVendorClear,32		; _USB_ReqTable[13]._fpRequestHandler @ 864
	.field  	49165,16			; _USB_ReqTable[14]._Request @ 896
	.space	16
	.field  	_USB_reqVendorQuery,32		; _USB_ReqTable[14]._fpRequestHandler @ 928
	.field  	16398,16			; _USB_ReqTable[15]._Request @ 960
	.space	16
	.field  	_USB_reqVendorSetInt,32		; _USB_ReqTable[15]._fpRequestHandler @ 992
	.field  	16401,16			; _USB_ReqTable[16]._Request @ 1024
	.space	16
	.field  	_USB_reqVendorDeviceStart,32		; _USB_ReqTable[16]._fpRequestHandler @ 1056
	.field  	16402,16			; _USB_ReqTable[17]._Request @ 1088
	.space	16
	.field  	_USB_reqVendorDeviceStop,32		; _USB_ReqTable[17]._fpRequestHandler @ 1120
	.field  	16403,16			; _USB_ReqTable[18]._Request @ 1152
	.space	16
	.field  	_USB_reqVendorDeviceClear,32		; _USB_ReqTable[18]._fpRequestHandler @ 1184
	.field  	49172,16			; _USB_ReqTable[19]._Request @ 1216
	.space	16
	.field  	_USB_reqVendorDeviceGetTime,32		; _USB_ReqTable[19]._fpRequestHandler @ 1248
	.field  	49173,16			; _USB_ReqTable[20]._Request @ 1280
	.space	16
	.field  	_USB_reqVendorDeviceGetCount,32		; _USB_ReqTable[20]._fpRequestHandler @ 1312
	.field  	16406,16			; _USB_ReqTable[21]._Request @ 1344
	.space	16
	.field  	_USB_reqVendorDeviceSetChannel,32		; _USB_ReqTable[21]._fpRequestHandler @ 1376
	.field  	49175,16			; _USB_ReqTable[22]._Request @ 1408
	.space	16
	.field  	_USB_reqVendorDeviceGetChannel,32		; _USB_ReqTable[22]._fpRequestHandler @ 1440
	.field  	16408,16			; _USB_ReqTable[23]._Request @ 1472
	.space	16
	.field  	_USB_reqVendorDeviceStartRead,32		; _USB_ReqTable[23]._fpRequestHandler @ 1504
	.field  	16409,16			; _USB_ReqTable[24]._Request @ 1536
	.space	16
	.field  	_USB_reqVendorDeviceSetProcMeth,32		; _USB_ReqTable[24]._fpRequestHandler @ 1568
	.field  	49178,16			; _USB_ReqTable[25]._Request @ 1600
	.space	16
	.field  	_USB_reqVendorDeviceGetProcMeth,32		; _USB_ReqTable[25]._fpRequestHandler @ 1632
	.field  	16411,16			; _USB_ReqTable[26]._Request @ 1664
	.space	16
	.field  	_USB_reqVendorDeviceSetPolarity,32		; _USB_ReqTable[26]._fpRequestHandler @ 1696
	.field  	49180,16			; _USB_ReqTable[27]._Request @ 1728
	.space	16
	.field  	_USB_reqVendorDeviceGetPolarity,32		; _USB_ReqTable[27]._fpRequestHandler @ 1760
	.field  	0,16			; _USB_ReqTable[28]._Request @ 1792
	.space	16
	.field  	0,32			; _USB_ReqTable[28]._fpRequestHandler @ 1824
IR_1:	.set	116

	.sect	".text"
	.global	_USB_ReqTable
	.bss	_USB_ReqTable,116,0,2
	.sym	_USB_ReqTable,_USB_ReqTable, 56, 2, 1856, $$fake7, 29
;	d:\ti\c5500\cgtools\bin\acp55.exe -@C:\DOCUME~1\wxy\LOCALS~1\Temp\TI1184_4 

	.sect	".text"
	.align 4
	.global	_USB_reqMassStorageReset
	.sym	_USB_reqMassStorageReset,_USB_reqMassStorageReset, 42, 2, 0, $$fake5
	.func	119
;*******************************************************************************
;* FUNCTION NAME: _USB_reqMassStorageReset                                     *
;*                                                                             *
;*   Function Uses Regs : T0,T1,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_reqMassStorageReset:
	.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) ; |120| 
	.line	5
        MOV #1, T1
        AMOV #0, XAR1 ; |123| 
        MOV #0, T0
        MOV dbl(*SP(#4)), XAR0
        CALL #_vUSB_postTransaction ; |123| 
                                        ; call occurs [#_vUSB_postTransaction]	; |123| 
	.line	7
        MOV #3, T0
	.line	8
        AADD #9, SP ; |125| 
        RET       ; |125| 
                                        ; return occurs	; |125| 
	.endfunc	126,000000000h,9



	.sect	".text"
	.align 4
	.global	_USB_reqGetMaxLun
	.sym	_USB_reqGetMaxLun,_USB_reqGetMaxLun, 42, 2, 0, $$fake5
	.func	127
;*******************************************************************************
;* FUNCTION NAME: _USB_reqGetMaxLun                                            *
;*                                                                             *
;*   Function Uses Regs : T0,T1,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_reqGetMaxLun:
	.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) ; |128| 
	.line	6
        MOV #0, *(#(_gen_purpose_buffer+1)) ; |132| 
	.line	7
        MOV #1, T1
        AMOV #_gen_purpose_buffer, XAR1 ; |133| 
        MOV #1, T0
        MOV dbl(*SP(#4)), XAR0
        CALL #_vUSB_postTransaction ; |133| 
                                        ; call occurs [#_vUSB_postTransaction]	; |133| 
	.line	9
        MOV #3, T0
	.line	10
        AADD #9, SP ; |135| 
        RET       ; |135| 
                                        ; return occurs	; |135| 
	.endfunc	136,000000000h,9



	.sect	".text"
	.align 4
	.global	_USB_reqVendorClear
	.sym	_USB_reqVendorClear,_USB_reqVendorClear, 42, 2, 0, $$fake5
	.func	140
;*******************************************************************************
;* FUNCTION NAME: _USB_reqVendorClear                                          *
;*                                                                             *
;*   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_reqVendorClear:
	.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) ; |141| 
	.line	11
        MOV #2, T0
	.line	12
        AADD #9, SP ; |150| 
        RET       ; |150| 
                                        ; return occurs	; |150| 
	.endfunc	151,000000000h,9



	.sect	".text"
	.align 4
	.global	_USB_reqVendorQuery
	.sym	_USB_reqVendorQuery,_USB_reqVendorQuery, 42, 2, 0, $$fake5
	.func	155
;*******************************************************************************
;* FUNCTION NAME: _USB_reqVendorQuery                                          *
;*                                                                             *
;*   Function Uses Regs : T0,T1,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_reqVendorQuery:
	.line	2
;* T0    assigned to _DevNum

⌨️ 快捷键说明

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