📄 gaeccnla.s54
字号:
*-------------------------------------------------------------------------*
* *
* THIS IS AN UNPUBLISHED WORK CONTAINING CONFIDENTIAL AND PROPRIETARY *
* INFORMATION. IF PUBLICATION OCCURS, THE FOLLOWING NOTICE APPLIES: *
* "COPYRIGHT 2003 MICHAEL TSIROULNIKOV, ALL RIGHTS RESERVED" *
* *
*-------------------------------------------------------------------------*/
.mmregs
.include "gaeci.h54"
.sect ".ftext1"
;-------------------------------------------------------------------------
.global _gaec_cancel_dc
;-------------------------------------------------------------------------
_gaec_cancel_dc
; GAEC_tDb *pDb = a
; GAEC_tSc *pSc = sp(1)
; S16 *psAdf = sp(2)
; S16 *psErr = sp(3)
; S16 blk = sp(4)
; S16 band = sp(5)
;
; ar0 = blk, 2
; ar2 = pDb, psErr
; ar3 = pSc, psSnd
; ar4 = psAdf
; ar5 = psRcv
;
stlm a, ar2
ssbx sxm
orm #1, *(pmst) ; set sst bit
mvdk *sp(1), ar3
mvdk *sp(2), ar4
mvdk *sp(4), ar0
cmpm *sp(5), #0
mvdk *ar2(#(GAEC_tDb.psRcv)), ar5
mar *+ar5(#GAEC_ADF_BSZ)
mar *ar5+0
mvdk *sp(3), ar2
mar *ar2+0
mar *+ar3(#GAEC_tSc.aasSin)
mar *ar3+0
bc D10, tc
mar *+ar2(#GAEC_BLKS*GAEC_BANDS);
mar *+ar3(#GAEC_BLKS*GAEC_BANDS);
mar *ar4+
mar *+ar5(#GAEC_RCV_SZ*GAEC_BANDS);
D10
stm #2, ar0
stm #0, bk
ld *ar3, 15, a
rpt #GAEC_ADF_SZ-1
mas *ar5-, *ar4+0%, a
add #1, 14, a
sth a, 1, *ar2
;
andm #~1, *(pmst) ; clear sst bit
ret
;-------------------------------------------------------------------------
.global _gaec_cancel_ac
;-------------------------------------------------------------------------
_gaec_cancel_ac
; GAEC_tDb *pDb = a
; GAEC_tSc *pSc = sp(1)
; S16 *psAdf = sp(2)
; S16 *psErr = sp(3)
; S16 blk = sp(4)
;
; ar0 = blk, 2
; ar2 = pDb, psAdf
; ar3 = pSc, psErr
; ar4 = psRcvQ
; ar5 = psRcvI
; ar7 = psSnd
;
pshm ar7
stlm a, ar2
ssbx sxm
orm #1, *(pmst)
mvdk *sp(1+1), ar3
mvdk *sp(4+1), ar0
;
; psRcvI, psRcvQ
mvdk *ar2(#(GAEC_tDb.psRcv)), ar5
mar *+ar5(#GAEC_ADF_BSZ+GAEC_RCV_SZ)
mar *ar5+0
mvmm ar5, ar4
mar *+ar4(#GAEC_RCV_SZ*GAEC_BANDS)
;
; psAdf (both adfI and adfQ)
mvdk *sp(2+1), ar2
mar *+ar2(#GAEC_ADF_SZ*2)
;
mvmm ar3, ar7
mar *+ar7(#GAEC_tSc.aasSin+GAEC_BLKS)
mar *ar7+0
mvdk *sp(3+1), ar3
mar *+ar3(#GAEC_BLKS)
mar *ar3+0
stm #(GAEC_BANDS-1)-1, brc
stm #2, ar0
stm #0, bk
rptb D20-1
ld *ar7, 15, a
ld *ar7(#GAEC_BLKS*GAEC_BANDS), 15, b
rpt #GAEC_ADF_SZ-1
mas *ar5-, *ar2+0%, a
mar *+ar5(#GAEC_ADF_SZ)
mar *+ar2(#-GAEC_ADF_SZ*2)
rpt #GAEC_ADF_SZ-1
mas *ar4-, *ar2+0%, b
mar *+ar4(#GAEC_ADF_SZ)
mar *+ar2(#-GAEC_ADF_SZ*2+1); move to AdfQ
rpt #GAEC_ADF_SZ-1
mac *ar5-, *ar2+0%, b
mar *+ar5(#GAEC_ADF_SZ+GAEC_RCV_SZ) ; next band
mar *+ar2(#-GAEC_ADF_SZ*2)
rpt #GAEC_ADF_SZ-1
mas *ar4-, *ar2+0%, a
mar *+ar4(#GAEC_ADF_SZ+GAEC_RCV_SZ) ; next band
mar *+ar2(#-GAEC_ADF_SZ*2-1 + GAEC_ADF_SZ*2) ; next band's adfI
add #1, 14, a
add #1, 14, b
sth a, 1, *ar3
sth b, 1, *ar3(#GAEC_BLKS*GAEC_BANDS)
mar *+ar3(#GAEC_BLKS) ; next band
mar *+ar7(#GAEC_BLKS) ; next band
D20
;
andm #~1, *(pmst)
popm ar7
ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -