📄 main.asm
字号:
@REA1_L = pop()
|| mmap()
@RSA1_H = pop()
|| mmap()
@RSA1_L = pop()
|| mmap()
@BRC1_L = pop()
|| mmap()
@BRS1_L = pop()
|| mmap()
@REA0_H = pop()
|| mmap()
@REA0_L = pop()
|| mmap()
@RSA0_H = pop()
|| mmap()
@RSA0_L = pop()
|| 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 237,00000007fh,45
.sect ".text"
.global _taskFxn
.sym _taskFxn,_taskFxn, 32, 2, 0
.func 195
;******************************************************************************
;* FUNCTION NAME: _taskFxn *
;* *
;* Function Uses Regs : AC0,T0,AR1,AR2,AR3,CARRY,TC1,M40 *
;* Stack Frame : Compact (No Frame Pointer, w/ debug) *
;* Total Frame Size : 1 word *
;* (1 return address/alignment) *
;******************************************************************************
_taskFxn:
.line 2
;* AR3 assigned to U$7
;* AR1 assigned to _Val
.sym _Val,18, 14, 4, 16
;* AR2 assigned to __MCBSP
.sym __MCBSP,20, 24, 4, 16, $$fake0
AR3 = *abs16(#_mhMcbsp)
AC0 = uns(*AR3)
AC0 = AC0 <<< #10
AR3 = AC0 + #10244
L3:
.line 8
TC1 = bit(*AR3,#1) ; |202|
|| readport()
if (!TC1) goto L3 ; |202|
; branch occurs ; |202|
.line 10
T0 = #(_rcv & 0xffff) ; |204|
AR3 = *abs16(#_XfrCnt) ; |204|
AR2 = *abs16(#_mhMcbsp)
AR1 = *AR3(T0)
AR3 = *AR2(short(#3))
*AR3 = AR1 ; |1385|
|| writeport()
.line 30
return
; return occurs
.endfunc 224,000000000h,0
.sect ".text"
.global _readIsr
.sym _readIsr,_readIsr, 32, 2, 0
.func 239
;******************************************************************************
;* INTERRUPT NAME: _readIsr *
;* *
;* Function Uses Regs : AC0,T0,T1,T2,T3,AR1,AR3,AR5,CARRY,TC1,M40,SATA,SATD,*
;* FRCT,SMUL *
;* Save On Entry Regs : AC0,AC0_H,AC0_G,AC1,AC1_H,AC1_G,AC2,AC2_H,AC2_G,AC3,*
;* AC3_H,AC3_G,T0,T1,T2,T3,AR0,AR1,AR2,AR3,AR4,AR5,AR6,*
;* AR7,ST3,BRC0,RSA0,RSA0_H,REA0,REA0_H,BRS1,BRC1,RSA1,*
;* RSA1_H,REA1,REA1_H,CSR,RPTC,CDP,TRN0,TRN1,BSA01, *
;* BSA23,BSA45,BSA67,BSAC *
;******************************************************************************
_readIsr:
.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
;* AR1 assigned to _val
.sym _val,18, 14, 4, 16
;* AR3 assigned to __MCBSP
.sym __MCBSP,22, 24, 4, 16, $$fake0
dbl(push(AC0))
push(@AC0_G)
|| mmap()
dbl(push(AC1))
push(@AC1_G)
|| mmap()
dbl(push(AC2))
push(@AC2_G)
|| mmap()
dbl(push(AC3))
push(@AC3_G)
|| mmap()
push(T1,T0)
push(T3,T2)
push(AR1,AR0)
push(AR3,AR2)
push(AR5,AR4)
push(AR7,AR6)
push(@ST3_L)
|| mmap()
push(@BRC0_L)
|| mmap()
push(@RSA0_L)
|| mmap()
push(@RSA0_H)
|| mmap()
push(@REA0_L)
|| mmap()
push(@REA0_H)
|| mmap()
push(@BRS1_L)
|| mmap()
push(@BRC1_L)
|| mmap()
push(@RSA1_L)
|| mmap()
push(@RSA1_H)
|| mmap()
push(@REA1_L)
|| mmap()
push(@REA1_H)
|| mmap()
push(@CSR_L)
|| mmap()
push(@RPTC_L)
|| mmap()
push(@CDP_L)
|| mmap()
push(@TRN0_L)
|| mmap()
push(@TRN1_L)
|| mmap()
push(@BSA01_L)
|| mmap()
push(@BSA23_L)
|| mmap()
push(@BSA45_L)
|| mmap()
push(@BSA67_L)
|| mmap()
push(@BSAC_L)
|| mmap()
AR1 = SP
@SP_L = @SP_L & #0xfffe
|| mmap()
push(AR1)
@ST2_L = @ST2_L & #0xfa00
|| mmap()
@ST2_L = @ST2_L | #0x8000
|| mmap()
@ST1_L = @ST1_L & #0xf91f
|| mmap()
SP = SP + #-1
@ST3_L = @ST3_L & #0xffdd
|| mmap()
@ST1_L = @ST1_L | #0x4100
|| mmap()
.line 3
AR3 = *abs16(#_mhMcbsp)
AR3 = *AR3(short(#1))
AR1 = *AR3
|| readport()
T0 = #(_rcv & 0xffff) ; |1373|
AR3 = *abs16(#_XfrCnt) ; |1373|
*AR3(T0) = AR1 ; |1373|
.line 4
*abs16(#_XfrCnt) = *abs16(#_XfrCnt) + #1 ; |242|
.line 6
TC1 = (*abs16(#_XfrCnt) == #256) ; |244|
if (TC1) goto L4 ; |244|
; branch occurs ; |244|
.line 19
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|
goto L5 ; |257|
; branch occurs ; |257|
L4:
.line 13
*abs16(#_XfrCnt) = #0 ; |251|
L5:
.line 21
SP = SP + #1
@SP_L = pop()
|| mmap()
@BSAC_L = pop()
|| mmap()
@BSA67_L = pop()
|| mmap()
@BSA45_L = pop()
|| mmap()
@BSA23_L = pop()
|| mmap()
@BSA01_L = pop()
|| mmap()
@TRN1_L = pop()
|| mmap()
@TRN0_L = pop()
|| mmap()
@CDP_L = pop()
|| mmap()
@RPTC_L = pop()
|| mmap()
@CSR_L = pop()
|| mmap()
@REA1_H = pop()
|| mmap()
@REA1_L = pop()
|| mmap()
@RSA1_H = pop()
|| mmap()
@RSA1_L = pop()
|| mmap()
@BRC1_L = pop()
|| mmap()
@BRS1_L = pop()
|| mmap()
@REA0_H = pop()
|| mmap()
@REA0_L = pop()
|| mmap()
@RSA0_H = pop()
|| mmap()
@RSA0_L = pop()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -