?? pcm.asm
字號:
;used for A law pcm convert
.bss PCM,1
.bss SEGNUM,1
.bss QVALUE,1
.bss SRK,1
.bss SLK,1
;===========================================
;srk pcm
;SRK->PCM
LINEARTOPCM
LACC SRK ;srk is a 14bits linear value
ABS
SPLK #0h,PCM
AND #0FFE0h
NOP
XC 2,NEQ
SPLK #10h,PCM
AND #0FFC0h
NOP
XC 2,NEQ
SPLK #20h,PCM
AND #0FF80h
NOP
XC 2,NEQ
SPLK #30h,PCM
AND #0FF00h
NOP
XC 2,NEQ
SPLK #40h,PCM
AND #0FE00h
NOP
XC 2,NEQ
SPLK #50h,PCM
AND #0FC00h
NOP
XC 2,NEQ
SPLK #60h,PCM
AND #0F800h
NOP
XC 2,NEQ
SPLK #70h,PCM
LACC SRK
NOP
XC 2,GEQ
OPL #80h,PCM
LACC PCM
BSAR 4
AND #7
NOP
XC 2,EQ
LACC #1
SAMM TREG1
LACC SRK
ABS
SATL
AND #15
OR PCM
XOR #55h
SACL PCM ;pcm stores PCM value
RET
;segnum qvalue
;PCM->SLK
PCMTOLINEAR
SPM 0
XPL #55h,PCM
LACC PCM
BSAR 4
AND #7
SACL SEGNUM
ADD #4
SAMM TREG1
SPLK #1,SLK
LACT SLK
SACL SLK
SUB #16
NOP
XC 2,EQ
SPLK #0,SLK
LACC SEGNUM
SAMM TREG1
SPLK #1,QVALUE
LACT QVALUE
SFR
SACL QVALUE
NOP
XC 2,EQ
SPLK #1,QVALUE
LACC PCM
AND #0Fh
SFL
ADD #1
SAMM TREG0
MPYU QVALUE
LACC SLK
APAC
SACL SLK
LACC PCM
AND #80h
BCND LINE_PCM_1,NEQ
LACC SLK
NEG
SACL SLK ;slk is 14bits linear value
LINE_PCM_1
RET
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -