📄 main.asm
字号:
|| mmap()
@BRC0_L = pop()
|| mmap()
@ST3_L = pop()
|| mmap()
AR7,AR6 = pop()
AR5,AR4 = pop()
AR3,AR2 = pop()
AR1,AR0 = pop()
T3,T2 = pop()
T1,T0 = pop()
@AC3_G = pop()
|| mmap()
AC3 = dbl(pop())
@AC2_G = pop()
|| mmap()
AC2 = dbl(pop())
@AC1_G = pop()
|| mmap()
AC1 = dbl(pop())
@AC0_G = pop()
|| mmap()
AC0 = dbl(pop())
return_int
; return occurs
.endfunc 259,00000007fh,45
.sect ".text"
.global _main
.sym _main,_main, 32, 2, 0
.func 128
;******************************************************************************
;* FUNCTION NAME: _main *
;* *
;* Function Uses Regs : AC0,T0,T1,T2,T3,AR0,AR1,AR2,AR3,AR5,CARRY,TC1,M40, *
;* SATA,SATD,FRCT,SMUL *
;* Save On Entry Regs : T2,T3,AR5 *
;* Stack Frame : Compact (No Frame Pointer, w/ debug) *
;* Total Frame Size : 4 words *
;* (1 return address/alignment) *
;* (3 register save area) *
;******************************************************************************
_main:
.line 2
;* T0 assigned to _old_intm
.sym _old_intm,12, 4, 4, 16
;* T3 assigned to _mask
.sym _mask,15, 14, 4, 16
;* T3 assigned to _value
.sym _value,15, 14, 4, 16
;* AR1 assigned to _prev
.sym _prev,18, 14, 4, 16
;* AR5 assigned to _reg
.sym _reg,26, 14, 4, 16
;* T2 assigned to _EventId
.sym _EventId,14, 14, 4, 16
;* T0 assigned to _old_intm
.sym _old_intm,12, 4, 4, 16
;* AR5 assigned to _mask
.sym _mask,26, 14, 4, 16
;* AR1 assigned to _value
.sym _value,18, 14, 4, 16
;* AR2 assigned to _prev
.sym _prev,20, 14, 4, 16
;* T3 assigned to _reg
.sym _reg,15, 14, 4, 16
;* T2 assigned to _EventId
.sym _EventId,14, 14, 4, 16
;* T0 assigned to _old_intm
.sym _old_intm,12, 4, 4, 16
;* T3 assigned to _mask
.sym _mask,15, 14, 4, 16
;* T2 assigned to _EventId
.sym _EventId,14, 14, 4, 16
;* T0 assigned to _old_intm
.sym _old_intm,12, 4, 4, 16
;* T3 assigned to _mask
.sym _mask,15, 14, 4, 16
;* T2 assigned to _EventId
.sym _EventId,14, 14, 4, 16
;* T0 assigned to _old_intm
.sym _old_intm,12, 4, 4, 16
;* AC0 assigned to C$1
push(T2)
push(AR5,T3)
call #_CSL5509_LIB_ ; |118|
; call occurs [#_CSL5509_LIB_] ; |118|
call #__CSL_init ; |128|
|| T0 = #0 ; |128|
; call occurs [#__CSL_init] ; |128|
.line 7
T1 = #1 ; |134|
call #_PLL_setFreq ; |134|
|| T0 = #8 ; |134|
; call occurs [#_PLL_setFreq] ; |134|
call #_IRQ_globalDisable ; |336|
; call occurs [#_IRQ_globalDisable] ; |336|
AR3 = #73 ; |337|
AR1 = *AR3
AC0 = #(_VECSTART >> 16) << #16 ; |338|
AC0 = AC0 | #(_VECSTART & 0xffff) ; |338|
AC0 = AC0 <<< #-8 ; |338|
*AR3 = AC0 ; |338|
AR3 = #74 ; |339|
*AR3 = AC0 ; |339|
call #_IRQ_globalRestore ; |340|
; call occurs [#_IRQ_globalRestore] ; |340|
.line 10
call #_IRQ_globalDisable ; |137|
; call occurs [#_IRQ_globalDisable] ; |137|
*abs16(#_old_intm) = T0 ; |137|
.line 13
T0 = #2 ; |140|
call #_MCBSP_open ; |140|
|| AC0 = #1 ; |140|
; call occurs [#_MCBSP_open] ; |140|
*abs16(#_mhMcbsp) = AR0 ; |140|
.line 18
AR3 = AR0
AR1 = *AR3(#33)
*abs16(#_rcvEventId) = AR1 ; |145|
.line 19
AR1 = *AR3(#32)
*abs16(#_xmtEventId) = AR1 ; |146|
.line 22
T2 = *abs16(#_rcvEventId)
T1 = T2 & #0x000f ; |256|
AC0 = #1 ; |256|
AC0 = AC0 << T1 ; |256|
T3 = AC0 ; |256|
call #_IRQ_globalDisable ; |257|
; call occurs [#_IRQ_globalDisable] ; |257|
TC1 = bit(T2,@#4) ; |258|
if (!TC1) execute (D_Unit) ||
AR3 = #1 ; |261|
if (!TC1) execute (AD_Unit) ||
*AR3 = T3 ; |261|
if (TC1) execute (D_Unit) ||
AR3 = #70 ; |259|
if (TC1) execute (AD_Unit) ||
*AR3 = T3 ; |259|
call #_IRQ_globalRestore ; |262|
; call occurs [#_IRQ_globalRestore] ; |262|
.line 23
T2 = *abs16(#_xmtEventId)
T1 = T2 & #0x000f ; |256|
AC0 = #1 ; |256|
AC0 = AC0 << T1 ; |256|
T3 = AC0 ; |256|
call #_IRQ_globalDisable ; |257|
; call occurs [#_IRQ_globalDisable] ; |257|
TC1 = bit(T2,@#4) ; |258|
if (!TC1) execute (D_Unit) ||
AR3 = #1 ; |261|
if (!TC1) execute (AD_Unit) ||
*AR3 = T3 ; |261|
if (TC1) execute (D_Unit) ||
AR3 = #70 ; |259|
if (TC1) execute (AD_Unit) ||
*AR3 = T3 ; |259|
call #_IRQ_globalRestore ; |262|
; call occurs [#_IRQ_globalRestore] ; |262|
.line 27
AC0 = #(_readIsr >> 16) << #16 ; |154|
AC0 = AC0 | #(_readIsr & 0xffff) ; |154|
T0 = *abs16(#_rcvEventId)
call #_IRQ_plug ; |154|
; call occurs [#_IRQ_plug] ; |154|
.line 28
AC0 = #(_writeIsr >> 16) << #16 ; |155|
T0 = *abs16(#_xmtEventId)
AC0 = AC0 | #(_writeIsr & 0xffff) ; |155|
call #_IRQ_plug ; |155|
; call occurs [#_IRQ_plug] ; |155|
.line 31
AR0 = *abs16(#_mhMcbsp)
AR1 = #(_ConfigLoopBack32 & 0xffff) ; |158|
call #_MCBSP_config ; |158|
; call occurs [#_MCBSP_config] ; |158|
.line 34
T2 = *abs16(#_rcvEventId)
AC0 = T2
T3 = field_extract(AC0, #0x0010) ; |202|
T1 = T2 & #0x000f ; |203|
AC0 = #1 ; |203|
AC0 = AC0 << T1 ; |203|
AR5 = AC0 ; |203|
call #_IRQ_globalDisable ; |204|
; call occurs [#_IRQ_globalDisable] ; |204|
TC1 = bit(T2,@#4) ; |205|
if (!TC1) execute (D_Unit) ||
AR3 = #0 ; |205|
if (!TC1) execute (D_Unit) ||
AR2 = *AR3
if (TC1) execute (D_Unit) ||
AR3 = #69 ; |205|
if (TC1) execute (D_Unit) ||
AR2 = *AR3
AR5 = AR5 | AR2 ; |207|
AR1 = AR5 ; |207|
if (T3 == #0) execute (D_Unit) ||
AR3 = #0 ; |211|
if (T3 == #0) execute (AD_Unit) ||
*AR3 = AR1 ; |211|
if (T3 != #0) execute (D_Unit) ||
AR3 = #69 ; |209|
if (T3 != #0) execute (AD_Unit) ||
*AR3 = AR1 ; |209|
call #_IRQ_globalRestore ; |212|
; call occurs [#_IRQ_globalRestore] ; |212|
.line 35
T2 = *abs16(#_xmtEventId)
AC0 = T2
AR5 = field_extract(AC0, #0x0010) ; |202|
T1 = T2 & #0x000f ; |203|
AC0 = #1 ; |203|
AC0 = AC0 << T1 ; |203|
T3 = AC0 ; |203|
call #_IRQ_globalDisable ; |204|
; call occurs [#_IRQ_globalDisable] ; |204|
TC1 = bit(T2,@#4) ; |205|
if (!TC1) execute (D_Unit) ||
AR3 = #0 ; |205|
if (!TC1) execute (D_Unit) ||
AR1 = *AR3
if (TC1) execute (D_Unit) ||
AR3 = #69 ; |205|
if (TC1) execute (D_Unit) ||
AR1 = *AR3
T3 = T3 | AR1 ; |207|
if (AR5 == #0) execute (D_Unit) ||
AR3 = #0 ; |211|
if (AR5 == #0) execute (AD_Unit) ||
*AR3 = T3 ; |211|
if (AR5 != #0) execute (D_Unit) ||
AR3 = #69 ; |209|
if (AR5 != #0) execute (AD_Unit) ||
*AR3 = T3 ; |209|
call #_IRQ_globalRestore ; |212|
; call occurs [#_IRQ_globalRestore] ; |212|
.line 38
AC0 = #768 ; |165|
AR0 = *abs16(#_mhMcbsp)
call #_MCBSP_start ; |165|
|| T0 = #12 ; |165|
; call occurs [#_MCBSP_start] ; |165|
.line 44
T0 = #3 ; |171|
AR0 = *abs16(#_mhMcbsp)
call #_MCBSP_start ; |171|
|| AC0 = #0 ; |171|
; call occurs [#_MCBSP_start] ; |171|
.line 50
call #_IRQ_globalEnable ; |177|
; call occurs [#_IRQ_globalEnable] ; |177|
L6:
.line 58
goto L6 ; |185|
; branch occurs ; |185|
.endfunc 193,000000016h,3
;*******************************************************************************
;* UNDEFINED EXTERNAL REFERENCES *
;*******************************************************************************
.global _IRQ_plug
.global _IRQ_globalDisable
.global _IRQ_globalEnable
.global _IRQ_globalRestore
.global _CSL5509_LIB_
.global __CSL_init
.global _PLL_setFreq
.global _MCBSP_open
.global _MCBSP_config
.global _MCBSP_start
.global _VECSTART
;*******************************************************************************
;* TYPE INFORMATION *
;*******************************************************************************
.sym _Uint16, 0, 13, 13, 16
.sym _Uint32, 0, 15, 13, 32
.sym _IRQ_IsrPtr, 0, 144, 13, 32
.stag $$fake0, 32
.member _Private, 0, 15, 8, 32
.eos
.sym _MCBSP_Handle, 0, 24, 13, 16,$$fake0
.stag $$fake1, 432
.member _spcr1, 0, 13, 8, 16
.member _spcr2, 16, 13, 8, 16
.member _rcr1, 32, 13, 8, 16
.member _rcr2, 48, 13, 8, 16
.member _xcr1, 64, 13, 8, 16
.member _xcr2, 80, 13, 8, 16
.member _srgr1, 96, 13, 8, 16
.member _srgr2, 112, 13, 8, 16
.member _mcr1, 128, 13, 8, 16
.member _mcr2, 144, 13, 8, 16
.member _pcr, 160, 13, 8, 16
.member _rcera, 176, 13, 8, 16
.member _rcerb, 192, 13, 8, 16
.member _rcerc, 208, 13, 8, 16
.member _rcerd, 224, 13, 8, 16
.member _rcere, 240, 13, 8, 16
.member _rcerf, 256, 13, 8, 16
.member _rcerg, 272, 13, 8, 16
.member _rcerh, 288, 13, 8, 16
.member _xcera, 304, 13, 8, 16
.member _xcerb, 320, 13, 8, 16
.member _xcerc, 336, 13, 8, 16
.member _xcerd, 352, 13, 8, 16
.member _xcere, 368, 13, 8, 16
.member _xcerf, 384, 13, 8, 16
.member _xcerg, 400, 13, 8, 16
.member _xcerh, 416, 13, 8, 16
.eos
.sym _MCBSP_Config, 0, 8, 13, 432,$$fake1
.stag $$fake2, 544
.member _Port, 0, 13, 8, 16
.member _Drr1Addr, 16, 13, 8, 16
.member _Drr2Addr, 32, 13, 8, 16
.member _Dxr1Addr, 48, 13, 8, 16
.member _Dxr2Addr, 64, 13, 8, 16
.member _Spcr1Addr, 80, 13, 8, 16
.member _Spcr2Addr, 96, 13, 8, 16
.member _Rcr1Addr, 112, 13, 8, 16
.member _Rcr2Addr, 128, 13, 8, 16
.member _Xcr1Addr, 144, 13, 8, 16
.member _Xcr2Addr, 160, 13, 8, 16
.member _Srgr1Addr, 176, 13, 8, 16
.member _Srgr2Addr, 192, 13, 8, 16
.member _Mcr1Addr, 208, 13, 8, 16
.member _Mcr2Addr, 224, 13, 8, 16
.member _RceraAddr, 240, 13, 8, 16
.member _RcerbAddr, 256, 13, 8, 16
.member _RcercAddr, 272, 13, 8, 16
.member _RcerdAddr, 288, 13, 8, 16
.member _RcereAddr, 304, 13, 8, 16
.member _RcerfAddr, 320, 13, 8, 16
.member _RcergAddr, 336, 13, 8, 16
.member _RcerhAddr, 352, 13, 8, 16
.member _XceraAddr, 368, 13, 8, 16
.member _XcerbAddr, 384, 13, 8, 16
.member _XcercAddr, 400, 13, 8, 16
.member _XcerdAddr, 416, 13, 8, 16
.member _XcereAddr, 432, 13, 8, 16
.member _XcerfAddr, 448, 13, 8, 16
.member _XcergAddr, 464, 13, 8, 16
.member _XcerhAddr, 480, 13, 8, 16
.member _PcrAddr, 496, 13, 8, 16
.member _XmtEvent, 512, 13, 8, 16
.member _RcvEvent, 528, 13, 8, 16
.eos
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -