📄 dspboard.asm
字号:
.sym _readFIFO,_readFIFO, 32, 2, 0
.func 397
;*******************************************************************************
;* FUNCTION NAME: _readFIFO *
;* *
;* Function Uses Regs : SP,M40,SATA,SATD,RDM,FRCT,SMUL *
;* Stack Frame : Compact (No Frame Pointer, w/ debug) *
;* Total Frame Size : 1 word *
;* (1 return address/alignment) *
;*******************************************************************************
_readFIFO:
.line 2
.line 4
RET
; return occurs
.endfunc 400,000000000h,0
.sect ".text"
.align 4
.global _usb_int
.sym _usb_int,_usb_int, 32, 2, 0
.func 402
;*******************************************************************************
;* FUNCTION NAME: _usb_int *
;* *
;* Function Uses Regs : SP,M40,SATA,SATD,RDM,FRCT,SMUL *
;* Stack Frame : Compact (No Frame Pointer, w/ debug) *
;* Total Frame Size : 2 words *
;* (2 return address/alignment) *
;*******************************************************************************
_usb_int:
.line 2
AADD #-1, SP
.line 3
CALL #_vUSB_evDispatch ; |404|
; call occurs [#_vUSB_evDispatch] ; |404|
.line 4
AADD #1, SP
RET
; return occurs
.endfunc 405,000000000h,1
.sect ".text"
.align 4
.global _USB_bulkInDatHandler
.sym _USB_bulkInDatHandler,_USB_bulkInDatHandler, 32, 2, 0
.func 409
;*******************************************************************************
;* FUNCTION NAME: _USB_bulkInDatHandler *
;* *
;* Function Uses Regs : AC0,AC0,T0,T1,AR0,XAR0,AR1,XAR1,AR2,XAR2,AR3,XAR3,SP,*
;* CSR,RPTC,CARRY,TC1,M40,SATA,SATD,RDM,FRCT,SMUL *
;* Stack Frame : Compact (No Frame Pointer, w/ debug) *
;* Total Frame Size : 6 words *
;* (2 return address/alignment) *
;* (4 local values) *
;*******************************************************************************
_USB_bulkInDatHandler:
.line 2
;* AR0 assigned to _hEpIn
.sym _hEpIn,17, 24, 17, 23, $$fake5
;* AR1 assigned to _hEpOut
.sym _hEpOut,19, 24, 17, 23, $$fake5
.sym _hEpIn,0, 24, 1, 23, $$fake5
.sym _hEpOut,2, 24, 1, 23, $$fake5
AADD #-5, SP
MOV XAR1, dbl(*SP(#2))
MOV XAR0, dbl(*SP(#0))
.line 7
CMP *(#_nTranContent) == #1, TC1 ; |415|
BCC L29,!TC1 ; |415|
; branch occurs ; |415|
.line 9
MOV dbl(*SP(#0)), XAR0
CALL #_vUSB_isTransactionDone ; |417|
; call occurs [#_vUSB_isTransactionDone] ; |417|
BCC L39,T0 == #0 ; |417|
; branch occurs ; |417|
.line 10
AMOV #_Endpt2Buff, XAR1 ; |418|
AMOV #_usbEpObjIn2, XAR0 ; |418|
MOV #1, T1
MOV #64, T0 ; |418|
CALL #_vUSB_postTransaction ; |418|
; call occurs [#_vUSB_postTransaction] ; |418|
.line 11
B L39 ; |419|
; branch occurs ; |419|
L29:
.line 13
CMP *(#_nTranContent) == #2, TC1 ; |421|
BCC L36,!TC1 ; |421|
; branch occurs ; |421|
.line 15
CMP *(#_mcaTranLength) == #512, TC1 ; |423|
BCC L30,!TC1 ; |423|
; branch occurs ; |423|
.line 18
MOV *(#_Endpt2BuffLen), T1 ; |426|
MPYM *(#_indexUSB), T1, AC0 ; |426|
BFXTR #0xfffc, AC0, AR2 ; |426|
SFTL AR2, #1 ; |426|
AMOV #_mcaData512, XAR1 ; |426|
MOV T1, T0
AMOV #(_Endpt2Buff+1), XAR0 ; |426|
AADD AR2, AR1
|| SFTL T0, #-1 ; |426|
CALL #_memcpy ; |426|
; call occurs [#_memcpy] ; |426|
.line 21
ADD #1, *(#_indexUSB) ; |429|
.line 22
MOV #4, AR2
MOV *(#_indexUSB), AR1 ; |430|
CMPU AR1 < AR2, TC1 ; |430|
|| NOP ; avoids Silicon Exception CPU_24
BCC L33,TC1 ; |430|
; branch occurs ; |430|
.line 24
MOV #0, *(#_indexUSB) ; |432|
.line 25
MOV #3, *(#_nTranContent) ; |433|
.line 27
B L33 ; |435|
; branch occurs ; |435|
L30:
.line 29
CMP *(#_mcaTranLength) == #1024, TC1 ; |437|
BCC L31,!TC1 ; |437|
; branch occurs ; |437|
.line 32
MOV *(#_Endpt2BuffLen), T1 ; |440|
MPYM *(#_indexUSB), T1, AC0 ; |440|
BFXTR #0xfffc, AC0, AR2 ; |440|
SFTL AR2, #1 ; |440|
AMOV #_mcaData1024, XAR1 ; |440|
MOV T1, T0
AMOV #(_Endpt2Buff+1), XAR0 ; |440|
AADD AR2, AR1
|| SFTL T0, #-1 ; |440|
CALL #_memcpy ; |440|
; call occurs [#_memcpy] ; |440|
.line 35
ADD #1, *(#_indexUSB) ; |443|
.line 36
MOV #8, AR2
MOV *(#_indexUSB), AR1 ; |444|
CMPU AR1 < AR2, TC1 ; |444|
|| NOP ; avoids Silicon Exception CPU_24
BCC L33,TC1 ; |444|
; branch occurs ; |444|
.line 38
MOV #0, *(#_indexUSB) ; |446|
.line 39
MOV #3, *(#_nTranContent) ; |447|
.line 41
B L33 ; |449|
; branch occurs ; |449|
L31:
.line 43
CMP *(#_mcaTranLength) == #2048, TC1 ; |451|
BCC L32,!TC1 ; |451|
; branch occurs ; |451|
.line 46
MOV *(#_Endpt2BuffLen), T1 ; |454|
MPYM *(#_indexUSB), T1, AC0 ; |454|
BFXTR #0xfffc, AC0, AR2 ; |454|
SFTL AR2, #1 ; |454|
AMOV #_mcaData2048, XAR1 ; |454|
MOV T1, T0
AMOV #(_Endpt2Buff+1), XAR0 ; |454|
AADD AR2, AR1
|| SFTL T0, #-1 ; |454|
CALL #_memcpy ; |454|
; call occurs [#_memcpy] ; |454|
.line 49
ADD #1, *(#_indexUSB) ; |457|
.line 50
MOV #16, AR2 ; |458|
MOV *(#_indexUSB), AR1 ; |458|
CMPU AR1 < AR2, TC1 ; |458|
|| NOP ; avoids Silicon Exception CPU_24
BCC L33,TC1 ; |458|
; branch occurs ; |458|
.line 52
MOV #0, *(#_indexUSB) ; |460|
.line 53
MOV #3, *(#_nTranContent) ; |461|
.line 55
B L33 ; |463|
; branch occurs ; |463|
L32:
.line 57
CMP *(#_mcaTranLength) == #8192, TC1 ; |465|
BCC L33,!TC1 ; |465|
; branch occurs ; |465|
.line 60
MOV *(#_Endpt2BuffLen), T1 ; |468|
MPYM *(#_indexUSB), T1, AC0 ; |468|
BFXTR #0xfffc, AC0, AR2 ; |468|
SFTL AR2, #1 ; |468|
AMOV #_mcaData, XAR1 ; |468|
MOV T1, T0
AMOV #(_Endpt2Buff+1), XAR0 ; |468|
AADD AR2, AR1
|| SFTL T0, #-1 ; |468|
CALL #_memcpy ; |468|
; call occurs [#_memcpy] ; |468|
.line 63
ADD #1, *(#_indexUSB) ; |471|
.line 64
MOV #64, AR2 ; |472|
MOV *(#_indexUSB), AR1 ; |472|
CMPU AR1 < AR2, TC1 ; |472|
|| NOP ; avoids Silicon Exception CPU_24
BCC L33,TC1 ; |472|
; branch occurs ; |472|
.line 66
MOV #0, *(#_indexUSB) ; |474|
.line 67
MOV #3, *(#_nTranContent) ; |475|
L33:
.line 72
MOV *(#_Endpt2BuffLen), AR2 ; |480|
MOV #2, *(#_j) ; |480|
SFTL AR2, #-1 ; |480|
MOV *(#_j), AR1 ; |480|
CMPU AR1 > AR2, TC1 ; |480|
|| NOP ; avoids Silicon Exception CPU_24
BCC L35,TC1 ; |480|
; branch occurs ; |480|
L34:
.line 74
MOV *(#_j), T0 ; |482|
AMOV #_Endpt2Buff, XAR3 ; |482|
MOV *AR3(T0), AR1 ; |482|
AND #0x0001, AR1, AC0 ; |482|
ADD dbl(*(#(_mcaDataCRC+30))), AC0, AC0 ; |482|
MOV AC0, dbl(*(#(_mcaDataCRC+30))) ; |482|
.line 75
ADD #2, *(#_j) ; |483|
MOV *(#_Endpt2BuffLen), AR1 ; |483|
MOV *(#_j), AR2 ; |483|
SFTL AR1, #-1 ; |483|
CMPU AR2 <= AR1, TC1 ; |483|
|| NOP ; avoids Silicon Exception CPU_24
BCC L34,TC1 ; |483|
; branch occurs ; |483|
L35:
.line 78
MOV dbl(*SP(#0)), XAR0
CALL #_vUSB_isTransactionDone ; |486|
; call occurs [#_vUSB_isTransactionDone] ; |486|
BCC L39,T0 == #0 ; |486|
; branch occurs ; |486|
.line 79
MOV *(#_Endpt2BuffLen), T0 ; |487|
AMOV #_Endpt2Buff, XAR1 ; |487|
AMOV #_usbEpObjIn2, XAR0 ; |487|
MOV #1, T1
CALL #_vUSB_postTransaction ; |487|
; call occurs [#_vUSB_postTransaction] ; |487|
.line 80
B L39 ; |488|
; branch occurs ; |488|
L36:
.line 82
CMP *(#_nTranContent) == #3, TC1 ; |490|
BCC L39,!TC1 ; |490|
; branch occurs ; |490|
.line 84
MOV #1, *(#_nTranContent) ; |492|
.line 85
AMOV #(_Endpt2Buff+1), XAR3 ; |493|
AMOV #_mcaDataCRC, XAR2 ; |493|
RPT #31 ; |493|
; loop starts ; |493|
L37:
MOV *AR2+, *AR3+ ; |493|
; loop ends ; |493|
L38:
.line 87
MOV dbl(*SP(#0)), XAR0
CALL #_vUSB_isTransactionDone ; |495|
; call occurs [#_vUSB_isTransactionDone] ; |495|
BCC L39,T0 == #0 ; |495|
; branch occurs ; |495|
.line 88
AMOV #_Endpt2Buff, XAR1 ; |496|
AMOV #_usbEpObjIn2, XAR0 ; |496|
MOV #1, T1
MOV #64, T0 ; |496|
CALL #_vUSB_postTransaction ; |496|
; call occurs [#_vUSB_postTransaction] ; |496|
.line 89
L39:
.line 90
AADD #5, SP
RET
; return occurs
.endfunc 498,000000000h,5
.sect ".text"
.align 4
.global _USB_bulkInEvHandler
.sym _USB_bulkInEvHandler,_USB_bulkInEvHandler, 32, 2, 0
.func 522
;*******************************************************************************
;* FUNCTION NAME: _USB_bulkInEvHandler *
;* *
;* Function Uses Regs : AR0,XAR0,SP,M40,SATA,SATD,RDM,FRCT,SMUL *
;* Stack Frame : Compact (No Frame Pointer, w/ debug) *
;* Total Frame Size : 2 words *
;* (2 return address/alignment) *
;*******************************************************************************
_USB_bulkInEvHandler:
.line 2
AADD #-1, SP
.line 11
AMOV #_bulkIn_SWI, XAR0 ; |532|
CALL #_SWI_post ; |532|
; call occurs [#_SWI_post] ; |532|
.line 12
AADD #1, SP
RET
; return occurs
.endfunc 533,000000000h,1
.sect ".text"
.align 4
.global _USB_bulkOutDatHandler
.sym _USB_bulkOutDatHandler,_USB_bulkOutDatHandler, 32, 2, 0
.func 536
;*******************************************************************************
;* FUNCTION NAME: _USB_bulkOutDatHandler *
;* *
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -