📄 amp.asm
字号:
.include "x24x_app.h"
.def AMP_INIT
.def AMP_MAIN
.def in_theta ;ding yi yi ge jiao du de shu ru
.def ina_amp ,inc_amp ,in_daoshu ;xu yao chan sheng de zheng xian fu zhi
.def theta_a,theta_b,theta_c ;san ge zi ran huan xiang jiao
.def out_ta,out_tb,out_tc ;ding yi san xiang zhan kong bi
.def theta_a,theta_b,theta_c
.ref SINTAB_360
.def amp_a,amp_b,amp_c
.def amp_dizhi
.def AAA
.def BBB
.def amp_bili
.ref Xin_IIR1
.ref IIR_BWT41
.ref Yout_IIR1
.def switch1
.def switch2
.def scale
.def AMP1_MAIN
.bss scale,1
.bss switch1,1
.bss switch2,1
in_theta .usect "wave_ge",1
amp_dizhi .usect "wave_ge",1
ina_amp .usect "wave_ge",1
inc_amp .usect "wave_ge",1
in_daoshu .usect "wave_ge",1
theta_a .usect "wave_ge",1
theta_b .usect "wave_ge",1
theta_c .usect "wave_ge",1
out_ta .usect "wave_ge",1
out_tb .usect "wave_ge",1
out_tc .usect "wave_ge",1
add_120 .usect "wave_ge",1
amp_period .usect "wave_ge",1
amp_a .usect "wave_ge",1
amp_b .usect "wave_ge",1
amp_c .usect "wave_ge",1
amp_hperiod .usect "wave_ge",1
amp_conv .usect "wave_ge",1
amp_conv1 .usect "wave_ge",1
AAA .usect "wave_ge",1
BBB .usect "wave_ge",1
amp_bili .usect "wave_ge",1
AMP_INIT: NOP
NOP
NOP
LDP #add_120
SPLK #355,add_120
SPLK #1500,amp_hperiod
; SPLK #3125,amp_period
SPLK #1064,amp_period
; SPLK #15360,amp_conv
SPLK #5977,amp_conv ;Q10 biao shi (2*1500/514)
SPLK #12000,amp_dizhi ;Q6 DE (132.5*1.414)V
; SPLK #4433,amp_dizhi ;Q6 DE 60V
SPLK #20480,amp_bili ;Q12 de 5
SPLK #29491,scale ;Q15 de 0.9
; SPLK #26214,scale ;0.8
; SPLK #19660,scale ;0.6
RET
AMP_MAIN: SETC SXM
LDP #in_theta
LACC in_theta
SACL theta_a
ADD add_120
SUB amp_period
BCND AMP_DYL1,GEQ
ADD amp_period
AMP_DYL1 NOP
SACL theta_b
ADD add_120
SUB amp_period
BCND AMP_DYL2,GEQ
ADD amp_period
AMP_DYL2 NOP
SACL theta_c
LACC #SINTAB_360
ADD theta_a
TBLR amp_a
LACC #SINTAB_360
ADD theta_b
TBLR amp_b
LACC #SINTAB_360
ADD theta_c
TBLR amp_c
SPM 1
LT amp_a
MPY #865
PAC
SACH out_ta
LT amp_b
MPY #865
PAC
SACH out_tb
LT amp_c
MPY #865
PAC
SACH out_tc
LACC out_ta
ADD #750
SACL out_ta
LACC out_tb
ADD #750
SACL out_tb
LACC out_tc
ADD #750
SACL out_tc
LDP #switch1
LACC switch1
ADD #1
SACL switch1
B RE
AMP1_MAIN: SETC SXM
LDP #in_theta
LACC in_theta
SACL theta_a
ADD add_120
SUB amp_period
BCND AMP_DYL11,GEQ
ADD amp_period
AMP_DYL11 NOP
SACL theta_b
ADD add_120
SUB amp_period
BCND AMP_DYL21,GEQ
ADD amp_period
AMP_DYL21 NOP
SACL theta_c
LACC #SINTAB_360
ADD theta_a
TBLR amp_a
LACC #SINTAB_360
ADD theta_b
TBLR amp_b
LACC #SINTAB_360
ADD theta_c
TBLR amp_c
SPM 1
LT amp_a
MPY #865
PAC
SACH out_ta
LT out_ta
MPY scale
PAC
SACH out_ta
LT amp_b
MPY #865
PAC
SACH out_tb
LT out_tb
MPY scale
PAC
SACH out_tb
LT amp_c
MPY #865
PAC
SACH out_tc
LT out_tc
MPY scale
PAC
SACH out_tc
LACC out_ta
ADD #750
SACL out_ta
LACC out_tb
ADD #750
SACL out_tb
LACC out_tc
ADD #750
SACL out_tc
LDP #switch2
LACC switch2
ADD #1
SACL switch2
RE NOP
RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -