Board logo

标题: 请教一段程序,我不太懂,谢谢 [打印本页]

作者: bh172013    时间: 2006-5-15 17:04     标题: 请教一段程序,我不太懂,谢谢

.............


..........


psk_modem
    CALL data_input
    CALL base_wave
    CALL freq_modem
    RET
ini_mod


.............


............


...........


ini_mod:


..........


........


 


 


书上给出的源码是这样的,我不明白第一个ini_mod表示什么意思,第二个是定义


编译时会报错,说ini_mod已定义


哪位不吝赐教一下,万分感谢


作者: bh172013    时间: 2006-5-15 17:07

完整代码如下,是关于QPSK调制的
高手能帮我解释下那两个粗体表示的ini_mod的意思吗,谢谢
psk_modem
CALL data_input
CALL base_wave
CALL freq_modem
RET
ini_mod
data_input
LD DATA2,A
AND #11B,A ;读入2b数据
SFTL A,2 ;乘4
ADD #wave_table,A
READA DATA0;R(t)读入点
ADD #1,A
READA DATA1;I(t)读入点
RET
base_wave
LD SW_FILIN,A;R(t)滤波缓冲区的入口放到A中
STLM A,AR1
ADD #100H,A;I(t)滤波缓冲区的入口比R(t)大100H
STLM A,AR2
LD DATA0,A
STLM A,AR3
LD DATA1,A
STLM A,AR4
STM #50,BRC;块重复执行51次
RPTBD change_in_pointer-1;快下界到change_in_pointer之前
STM #80H,BK ;设循环寻址的大小为80H
LD *AR3+,A
ADD *AR1,A
STL A,*AR1+%
LD *AR4+,A
ADD *AR2,A
STL A,*AR2+%
change_in_pointer
LD SW_FILIN,A;更改滤波缓冲区的入口
SUB #SW_FILR,A
ADD #6,A
AND #7FH,A
ADD #SW_FILR,A
STL A,SW_FILIN
RET
freq_modem
LD SW_DAOUT,A;将D/A缓冲区的出口放到A中
SUB SW_DAIN,A;D/A缓冲区的出口值减入口地址值
NOP
NOP
XC 2,ALEQ
ADD #SW_DABL,A
NOP
SUB #90H,A
BC sw_mod00,ALT;检查D/A缓冲区是否满
RSBX SXM
LD SW_FILIN,A
SUB SW_FILOUT,A
NOP
NOP
XC 2,ALT
ADD #80H,A
NOP
SUB #10H,A
SSBX SXM
BC sw_mod02,AGEQ;检查是否可以滤波
LD BIT_FLG,A
AND #11B,A
BC sw_mod00,ANEQ;检查D/A缓冲区是否满
sw_mod02
LD SW_FILOUT,A
STLM A,AR2
ADD #100H,A
STLM A,AR3
LD SW_DAIN,A
ADD #SW_DAB,A;计算D/A缓冲区入口地址
STLM A,AR1
ST #3000H,DATA1
STM #SW_48K,AR4;余弦表的首地址放入AR4
STM #SW_48K+2,AR5;正弦表的首地址放入AR5
STM #7,BRC
RPTBD sw_mod01-1
STM #80H,BK
MPY *AR2,*AR4+,A
MACR *AR3,*AR5+,A;两路信号载波调制后相加
STH A,DATA0
LD DATA1,T
MPY DATA0,A
STH A,*AR1+;保存D/A数据
LD #0,A;清除数据
STL A,*AR2+%
STL A,*AR3+%
sw_mod01
MVKD AR2,SW_FILOUT
LD SW_DAIN,A
ADD #8,A
AND #SW_DABL-1,A
STL A,SW_DAIN
sw_mod00
RET
ini_mod
SSBX FRCT
STM #SW_NULL,AR1
RPTZ A,#50
STL A,*AR1+;清空SW_NULL缓冲区
STM #SW_2PP,AR1
RPT #50
MVPD #scr_wave,*AR1+;从程序空间向数据空间读书据
NOP
STM #50,BRC;产生2PN波形表
STM #SW_2PP,AR1;
STM #SW_2PN,AR2
RPTB scr_movd00-1
LD *AR1+,A
NEG A
STL A,*AR2+
scr_movd00
ST #5A82H,DATA0;将值0.707放入DATA0中
LD DATA0,T
STM #50,BRC
STM #SW_2PP,AR1;
STM #SW_4PP,AR2;产生4pp波形表
STM #SW_4PN,AR3;产生4PN波形表
RPTB scr_movd01-1
MPY *AR1+,A
STH A,*AR2+
NEG A
STH A,*AR3+
scr_movd01
STM #SW_48K,AR1;正弦表移入SW_48k中
RPT #0FH
MVKD #sin_tab,*AR1+
RET
作者: wen_zl    时间: 2006-5-16 11:40

帮顶啊!~呵呵


DSP+CPLD+单片机学习板 特价:480元
多功能红外单片机开发板 特价:180元
TMS320vc5502最小系统板(DSP5502开发板) 290元
USB2.0增强型DSP仿真器 特价:880元
ARM仿真器 特价:880元

QQ:342665334
Email:wen_zl@163.com
淘宝网店:http://shop33496317.taobao.com/
中国DSP网: http://www.chinadsp.cn/ (现有大量空板免费赠送活动,呵)





欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0