📄 usb_req.asm
字号:
;* SATA,SATD,RDM,FRCT,SMUL *
;* Stack Frame : Compact (No Frame Pointer, w/ debug) *
;* Total Frame Size : 10 words *
;* (1 return address/alignment) *
;* (9 local values) *
;*******************************************************************************
_USB_reqSetConfiguration:
.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
.sym _ret_stat,8, 10, 1, 16, $$fake5
AADD #-9, SP
MOV XAR2, dbl(*SP(#6))
MOV XAR1, dbl(*SP(#4))
MOV XAR0, dbl(*SP(#2))
MOV T0, *SP(#0) ; |468|
.line 6
MOV dbl(*SP(#2)), XAR3
MOV *AR3(short(#3)), AR1 ; |472|
BCC L23,AR1 == #0 ; |472|
; branch occurs ; |472|
MOV dbl(*SP(#2)), XAR3
CMP *AR3(short(#3)) == #1, TC1 ; |472|
BCC L24,!TC1 ; |472|
; branch occurs ; |472|
L23:
.line 8
MOV dbl(*SP(#2)), XAR3
MOV *AR3(short(#3)), AR1 ; |474|
MOV AR1, *(#_usbCurConfigStat) ; |474|
.line 9
MOV dbl(*(#_data)), XAR2
AMAR *AR2, XAR3
AMAR *AR3+
MOV XAR3, dbl(*(#_data))
MOV #39321, *AR2 ; |475|
.line 10
AMOV #_usbEpObjOut2, XAR0 ; |476|
MOV #0, T1
MOV #64, T0 ; |476|
AMOV #_Endpt2Buff, XAR1 ; |476|
CALL #_vUSB_postTransaction ; |476|
; call occurs [#_vUSB_postTransaction] ; |476|
.line 11
MOV #2, *SP(#8) ; |477|
.line 12
B L25 ; |478|
; branch occurs ; |478|
L24:
.line 18
MOV #1, *SP(#8) ; |484|
L25:
.line 21
MOV *SP(#8), T0 ; |487|
.line 22
AADD #9, SP ; |487|
RET ; |487|
; return occurs ; |487|
.endfunc 488,000000000h,9
.sect ".text"
.align 4
.global _USB_reqClearFeature
.sym _USB_reqClearFeature,_USB_reqClearFeature, 42, 2, 0, $$fake5
.func 504
;*******************************************************************************
;* FUNCTION NAME: _USB_reqClearFeature *
;* *
;* Function Uses Regs : T0,T1,AR0,XAR0,AR1,XAR1,AR2,XAR2,AR3,XAR3,SP,TC1,M40,*
;* SATA,SATD,RDM,FRCT,SMUL *
;* Stack Frame : Compact (No Frame Pointer, w/ debug) *
;* Total Frame Size : 14 words *
;* (2 return address/alignment) *
;* (12 local values) *
;*******************************************************************************
_USB_reqClearFeature:
.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
.sym _hEPx,8, 24, 1, 23, $$fake2
.sym _Endpt,10, 13, 1, 16
.sym _ret_stat,11, 10, 1, 16, $$fake5
AADD #-13, SP
MOV XAR2, dbl(*SP(#6))
MOV XAR1, dbl(*SP(#4))
MOV XAR0, dbl(*SP(#2))
MOV T0, *SP(#0) ; |505|
.line 5
MOV #2, *SP(#11) ; |508|
.line 8
B L29 ; |511|
; branch occurs ; |511|
L26:
.line 13
MOV dbl(*SP(#2)), XAR3
MOV uns(low_byte(*AR3(short(#4)))), AR1 ; |516|
MOV AR1, *SP(#10) ; |516|
.line 15
MOV AR1, T1
|| MOV #0, T0
CALL #_vUSB_epNumToHandle ; |518|
; call occurs [#_vUSB_epNumToHandle] ; |518|
MOV XAR0, dbl(*SP(#8))
.line 17
MOV dbl(*SP(#8)), XAR0
CALL #_vUSB_clearEndptStall ; |520|
; call occurs [#_vUSB_clearEndptStall] ; |520|
.line 18
B L30 ; |521|
; branch occurs ; |521|
L27:
.line 23
MOV #0, T1
MOV #0, T0
CALL #_vUSB_setRemoteWakeup ; |526|
; call occurs [#_vUSB_setRemoteWakeup] ; |526|
.line 24
B L30 ; |527|
; branch occurs ; |527|
L28:
.line 30
MOV #1, *SP(#11) ; |533|
.line 31
B L30 ; |534|
; branch occurs ; |534|
L29:
.line 8
MOV dbl(*SP(#2)), XAR3
MOV *AR3(short(#3)), AR1 ; |511|
BCC L26,AR1 == #0 ; |511|
; branch occurs ; |511|
MOV #1, AR2
CMPU AR1 == AR2, TC1 ; |511|
|| NOP ; avoids Silicon Exception CPU_24
BCC L27,TC1 ; |511|
; branch occurs ; |511|
B L28 ; |511|
; branch occurs ; |511|
L30:
.line 35
MOV *SP(#11), T0 ; |538|
.line 36
AADD #13, SP ; |538|
RET ; |538|
; return occurs ; |538|
.endfunc 539,000000000h,13
.sect ".text"
.align 4
.global _USB_reqGetStatus
.sym _USB_reqGetStatus,_USB_reqGetStatus, 42, 2, 0, $$fake5
.func 555
;*******************************************************************************
;* FUNCTION NAME: _USB_reqGetStatus *
;* *
;* Function Uses Regs : AC0,AC1,T0,T1,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 : 14 words *
;* (2 return address/alignment) *
;* (12 local values) *
;*******************************************************************************
_USB_reqGetStatus:
.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
.sym _hEPx,8, 24, 1, 23, $$fake2
.sym _Endpt,10, 13, 1, 16
.sym _ret_stat,11, 10, 1, 16, $$fake5
AADD #-13, SP
MOV XAR2, dbl(*SP(#6))
MOV XAR1, dbl(*SP(#4))
MOV XAR0, dbl(*SP(#2))
MOV T0, *SP(#0) ; |556|
.line 5
MOV #3, *SP(#11) ; |559|
.line 7
B L35 ; |561|
; branch occurs ; |561|
L31:
.line 11
MOV #0, T0
CALL #_vUSB_getRemoteWakeupStat ; |565|
; call occurs [#_vUSB_getRemoteWakeupStat] ; |565|
MOV *(#_usbCurDevStat), AC0 ; |565|
MOV T0, AC1 ; |565|
OR AC1 << #1, AC0 ; |565|
MOV AC0, *(#(_gen_purpose_buffer+1)) ; |565|
.line 12
MOV #0, T1
AMOV #_gen_purpose_buffer, XAR1 ; |566|
MOV dbl(*SP(#4)), XAR0
MOV #2, T0
CALL #_vUSB_postTransaction ; |566|
; call occurs [#_vUSB_postTransaction] ; |566|
.line 13
B L36 ; |567|
; branch occurs ; |567|
L32:
.line 18
MOV *(#_usbCurIntrfcStat), AR1 ; |572|
MOV AR1, *(#(_gen_purpose_buffer+1)) ; |572|
.line 19
MOV dbl(*SP(#4)), XAR0
MOV #0, T1
MOV #2, T0
AMOV #_gen_purpose_buffer, XAR1 ; |573|
CALL #_vUSB_postTransaction ; |573|
; call occurs [#_vUSB_postTransaction] ; |573|
.line 20
B L36 ; |574|
; branch occurs ; |574|
L33:
.line 25
MOV dbl(*SP(#2)), XAR3
MOV uns(low_byte(*AR3(short(#4)))), AR1 ; |579|
MOV AR1, *SP(#10) ; |579|
.line 26
MOV AR1, T1
|| MOV #0, T0
CALL #_vUSB_epNumToHandle ; |580|
; call occurs [#_vUSB_epNumToHandle] ; |580|
MOV XAR0, dbl(*SP(#8))
.line 27
MOV dbl(*SP(#8)), XAR0
CALL #_vUSB_getEndptStall ; |581|
; call occurs [#_vUSB_getEndptStall] ; |581|
MOV T0, *(#(_gen_purpose_buffer+1)) ; |581|
.line 28
AMOV #_gen_purpose_buffer, XAR1 ; |582|
MOV dbl(*SP(#4)), XAR0
MOV #0, T1
MOV #2, T0
CALL #_vUSB_postTransaction ; |582|
; call occurs [#_vUSB_postTransaction] ; |582|
.line 29
B L36 ; |583|
; branch occurs ; |583|
L34:
.line 36
MOV #1, *SP(#11) ; |590|
.line 37
B L36 ; |591|
; branch occurs ; |591|
L35:
.line 7
MOV dbl(*SP(#2)), XAR3
MOV *AR3(short(#1)), AR1 ; |561|
SUB #128, AR1, AR2 ; |561|
BCC L31,AR2 == #0 ; |561|
; branch occurs ; |561|
MOV #1, AR1
CMPU AR2 == AR1, TC1 ; |561|
|| NOP ; avoids Silicon Exception CPU_24
BCC L32,TC1 ; |561|
; branch occurs ; |561|
MOV #2, AR1
CMPU AR2 == AR1, TC1 ; |561|
|| NOP ; avoids Silicon Exception CPU_24
BCC L33,TC1 ; |561|
; branch occurs ; |561|
B L34 ; |561|
; branch occurs ; |561|
L36:
.line 41
MOV *SP(#11), T0 ; |595|
.line 42
AADD #13, SP ; |595|
RET ; |595|
; return occurs ; |595|
.endfunc 596,000000000h,13
.sect ".text"
.align 4
.global _USB_reqSetFeature
.sym _USB_reqSetFeature,_USB_reqSetFeature, 42, 2, 0, $$fake5
.func 612
;*******************************************************************************
;* FUNCTION NAME: _USB_reqSetFeature *
;* *
;* Function Uses Regs : T0,T1,AR0,XAR0,AR1,XAR1,AR2,XAR2,AR3,XAR3,SP,TC1,M40,*
;* SATA,SATD,RDM,FRCT,SMUL *
;* Stack Frame : Compact (No Frame Pointer, w/ debug) *
;* Total Frame Size : 14 words *
;* (2 return address/alignment) *
;* (12 local values) *
;*******************************************************************************
_USB_reqSetFeature:
.line 2
;* T0 assigned to _D
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -