📄 mcbsp.asm
字号:
.title "for test BSP program"
.global _c_int00,int_send,int_rev
.mmregs
DRR10 .set 21h
DRR11 .set 31h
DRR12 .set 41h
DXR10 .set 23h
DXR11 .set 43h
DXR12 .set 33h
MCBSP_SPSA .set 38h
MCBSP_SPSD .set 39h
MCBSP1_SPSA .set 48h
MCBSP1_SPSD .set 49h
MCBSP2_SPSA .set 34h
MCBSP2_SPSD .set 35h
MCBSP_SPCR1_SUB_ADDR .set 0
MCBSP_SPCR2_SUB_ADDR .set 1
MCBSP_RCR1_SUB_ADDR .set 2
MCBSP_RCR2_SUB_ADDR .set 3
MCBSP_XCR1_SUB_ADDR .set 4
MCBSP_XCR2_SUB_ADDR .set 5
MCBSP_SRGR1_SUB_ADDR .set 6
MCBSP_SGR2_SUB_ADDR .set 7
MCBSP_MCR1_SUB_ADDR .set 8
MCBSP_MCR2_SUB_ADDR .set 9
MCBSP_RECRA_SUB_ADDR .set 0ah
MCBSP_RECRB_SUB_ADDR .set 0bh
MCBSP_XCERA1_SUB_ADDR .set 0ch
MCBSP_XCERA2_SUB_ADDR .set 0dh
MCBSP_PCR_SUB_ADDR .set 0eh
stack_size .set 100h
temp .usect "var",1
send_ptr .usect "var",1
rev_ptr .usect "var",1
isnew .usect "var",1
xbuffer .usect "var",1
rbuffer .usect "var",1
.bss addr_stack,stack_size
.text
_c_int00:
ssbx intm
stm #1028h,PMST
stm #addr_stack+stack_size ,sp
stm #0c00h,IMR
stm #xbuffer,ar0
rpt #255
mvpd #0x0fe00,*ar0+
stm #rbuffer,ar0
rpt #255
st #0,*ar0
stm #xbuffer ,send_ptr
stm #rbuffer,rev_ptr
stm #256,bk
stm #0,MCBSP1_SPSA
stm #2000H,MCBSP1_SPSD
stm #1,MCBSP1_SPSA
stm #100H,MCBSP1_SPSD
stm #2,MCBSP1_SPSA
stm #40H,MCBSP1_SPSD
stm #3,MCBSP1_SPSA
stm #40H,MCBSP1_SPSD
stm #4,MCBSP1_SPSA
stm #40H,MCBSP1_SPSD
stm #5,MCBSP1_SPSA
stm #0H,MCBSP1_SPSD
stm #6,MCBSP1_SPSA
stm #1C8H,MCBSP1_SPSD
stm #7,MCBSP1_SPSA
stm #2000H,MCBSP1_SPSD
stm #0eh,MCBSP1_SPSA
stm #0a0cH,MCBSP1_SPSD
rpt #0ffh
nop
stm #0h,MCBSP1_SPSA
stm #2001h,MCBSP1_SPSD
stm #1,MCBSP1_SPSA
stm #1c1h,MCBSP1_SPSD
stm #0x0,DXR11
rsbx intm
again:
nop
nop
b again
nop
int_send:
pshm st0
pshm st1
pshm ar2
ld #0,dp
mvdk send_ptr,ar2
mvdk *ar2+%,DXR11
nop
nop
mvmd ar2,#send_ptr
popm ar2
popm st1
popm st0
rete
int_rev:
pshm st0
pshm st1
pshm ar2
ld #0,dp
mvdk rev_ptr,ar2
ld DRR11,a
stl a,*ar2+%
nop
nop
mvmd ar2,#rev_ptr
cmpm ar2,#0400h
bc con,ntc
nop
nop
con:
popm ar2
popm st1
popm st0
rete
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -