📄 fcode.asm
字号:
.version 50
.mmregs
.MLIB "MAC.LIB"
.GLOBAL EMAX
.BSS SUBCODE_I,1
.bss FRAME_LOOP,1
.BSS TJ,2 ;//by durbin LSP34
.BSS TEMP,1 ;//by pctorc, durbin
.BSS CORFLAG,1 ;//by pctorc, durbin
.BSS STACK,2
.BSS DIVISOR,1 ;//by durbin
.BSS SIGNFLAG,1 ;//by pctorc,durbin
.bss LSPFLAG,1
.bss ACCBUF,2
.BSS ACCBBUF,2
;.BSS STATUS,2
.BSS IBUF,1
.BSS MINPQ,2
.BSS BB,5 ;//PTENCODE
.BSS PINDEX,1 ;//BY PTENCODE
.BSS SSUB_ADDR,1
.BSS FIRST_SUB,1
.BSS ADDR_SYN_S,1
;.BSS ADDR_SIG,1
.BSS ACC_PUSH,2
;.BSS ADDR_SP_OUT,1
.BSS SP_STACK,1
;--------
.COPY "WARRAY.ASM"
.copy "set_con.asm"
;-----------
.data
.COPY "DATA_SEG.ASM"
;----------
.text
B C50_START ;0 RS
.SPACE 16*2 ;2 INT1
.SPACE 16*2 ;4 INT2
.SPACE 16*2 ;6 INT3
.SPACE 16*2 ;8 TINT
B SP0_RE_TRAP ;10 RINT
.SPACE 16*2 ;12 XINT
;B SP0_TX ;12 XINT
.SPACE 16*2 ;14 TRNT
.SPACE 16*2 ;16 TXNT
.SPACE 16*2 ;18 INT4
;------------------------
C50_START
CALL C50_INIT
LDP #ACCBUF
;B FORE_HERE
LACC #10H
SAMM IMR ;OPEN RINT
;CLRC INTM
;NOP
;SPLK #SP_IN_DATA+1, ADDR_SP_IN_DATA
;SPLK #SP_OUT_DATA+180, ADDR_SP_OUT_DATA
SPLK #S0, ADDR_SP_IN_DATA
LACC #S0
SLAC ADDR_SP_OUT_DATA
CODE_AGAIN
;=============================
LDP #ACCBUF
CLR0 D1A,229
CLR0 D1B,229
CLR0 D2A,22
CLR0 D2B,22
CLR0 D3A,22
CLR0 D3B,22
CLR0 D4A,22
CLR0 D4B,22
CLR0 SOLD,240 ;SOLD[I]=0
LACC #TRUE
SACL FIRST_SUB
LDP #FRAME_LOOP
;LACC #S0
;SACL ADDR_SIG
;SACL ADDR_SIG_OUT
LACC #1
SACL OLDPTR ;//PSEARCH
LACC #DEBUG_FRAME
LACL #1
SACL FRAME_LOOP
GET_SIGNAL
;SPLK #SP_OUT_DATA,ADDR_SYN_S
LACC ADDR_SP_IN_DATA
SACL ADDR_SYN_S
CALL GETS
CALL HAMSIG
call GETCOR
call DURBIN
CALL BWEXP
CALL PCTORC
call PCLSP
CALL LSP34
CALL INTAN
LACC #0
SACL SUBCODE_I
LACC #SUBLSP
SACL ADDR_LSP
LACC #SOLD+120
SACL SSUB_ADDR
SUBCODE
;----------
CALL LSPPC
;----------
CALL CSUB
;--------
LACC ADDR_SYN_S
SAMM BMAR
ADD #60
SACL ADDR_SYN_S
LAR AR0,#SYN_S
MAR *,AR0
RPT #59
BLDD *+,BMAR
CLRC INTM;!!!!!!!!!!!!!!!!!!
;---------
lacc SSUB_ADDR
ADD #60
SACL SSUB_ADDR
;-----
LACC #FALSE
SACL FIRST_SUB
;----------
LACC ADDR_LSP
ADD #10
SACL ADDR_LSP
LACC SUBCODE_I
ADD #1
SACL SUBCODE_I
SUB #4
BCND SUBCODE,NEQ
;-------for (i = 0; i < ll; i++) sold[i] = snew[i];
MOVEFR 240,SNEW,SOLD
;------
;LACC ADDR_SIG
;ADD #FLEN
;SACL ADDR_SIG
LACC FRAME_LOOP
ADD #1
SACL FRAME_LOOP
sub #DEBUG_FRAME
BCND GET_SIGNAL,LEQ
;B CODE_AGAIN
FORE_HERE
;LACC #10H
;SAMM IMR ;OPEN RINT
CLRC INTM
NOP
HERE: B $
.BSS ADDR_SP_OUT_DATA,2
.BSS ADDR_SP_IN_DATA,1
SP0_RE_TRAP
LAMM AR0
SACL SP_STACK
;----IN=====
LAMM DRR
;B SP0_T1
;=========
;SAMM DXR
BSAR 2
SACL PCM
CALL PCMTOLINEAR ;PCM->SLK
;----
LACC ADDR_SP_IN_DATA
SAMM AR0
ADD #1
;SACL ADDR_SP_IN_DATA
MAR *,AR0
LACC SLK
SACL *,2
;--=========OUT======--------------
SP0_T1
LLAC ADDR_SP_OUT_DATA
SAMM AR0
ADD #1
SACB
LACC #S0
ADD #DEBUG_FRAME*240
CRLT
NOP
XC 2,C
;LACC #SP_OUT_DATA
LACC #S0
SLAC ADDR_SP_OUT_DATA
MAR *,AR0
LACC *
BSAR 2
SACL SRK
CALL LINEARTOPCM ;SRK->PCM
LACC PCM
SAMM DXR
;----
LACC SP_STACK
SAMM AR0
RETE
;=================================
;=================================
.INCLUDE "SUB_INCL.ASM"
.INCLUDE "PCM.ASM"
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -