




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、安徽工业大学一is95移动通信系统一正向业务信道的设计与开发(程序更改加质疑问题)程序均已经改止,本文档包括三个文件(.asm walsh.inc ,cmd)及 质疑问is95.asm题总结:*iw定时20ms循环处理话音数据包*伪指令不占空间不影响执行速度,只是定义和描述但对汇编链接有重要指示作用title “is95前向信道设计”;程序名.global _c_int00;全局起始标号.mmregs;把所有存储器映像寄存器定义为全局型.copy"walsh.inc"编译时从"walsh.inc"文件中复制 walsh 表 stack .usect &q
2、uot;stackmoh泊定义未初始化堆栈的设置(调用子程序,中断时将当前执 行位置自动压栈).bss pnl,2048;.bss .text .date三个称为标准段,此处未初始化大小2048个字.bsspn2,2048;2a15/16.bssw,1536.bsswa,1536.bssiq,32 ;依次存储4组8个样点波形;sin0+cos0;sin0+cos180;sin180+cos0;sin180+cos180bssbssbssbssbssbssbss.data.word.word.set.set.set.set p,4q,4 v,l x,l y,l z,l k,l;p用于42 级缓存
3、三个'用于wlash地址是4个;p用于42级掩码三个,用于wlash地址是4个; 用于记录pn码循环的位置0-2047 ;k为偏置系数cosin: pao pai pa2 pa307fffh,05a82hq0000hqa57fh,08002h,0a57fh,00000h,05a82h00000h,05a82h,07fffh,05a82h,00000h/0a57fh,08002h/0a57fh01速率标志1, 2, 4, 82 3pa4pa5pa6pa7pa8pa9四个字into:tint:bbb.set .set .set .set .set 4 5 6 7 8 .set 9:输出调制
4、波形.sect “vectors11 ;中断向量表(自定义己初始化段)_c_intoo;(0号复位中断)无条件转移2个字nopnop;两个nop占2个字,加在一起0号中断共.space 15*4*16;预留145号中断地址空间,每个占四个字clock;16 号 gps 外部中断 nop nop .space2*4*16;预留17.18号中断地址空间,每个占四个字;19 号定时中断向量(20ms (ttt3) nop nop .space 12*4*16timeout.text住程序_c_intoostm #stack+1ozsp;置堆栈指针*初始化,产生四种sin与cos相加的波形*cos+s
5、i n;cos-si n;sin-cos;-cos-si nssbx sxm;=1符号扩展stm #w,ar2;w wa两个中间变量stm #wa,ar3ld #cos,astm #7,brcrptb ddd-1reada *ar2+add #1,a;w中存8个cos样点ddd: ld #sin,astm #7,brcreada *ar3+add#1,a;wa屮存8个sin样点dddl:stm #iq,ar4stm#w,ar2stm#wa,ar3stm#7,brcrptb ttt-1ld *ar2+,aadd *ar3+,astl a,*ar4+ ;*(iq)=coso+sinottt: st
6、m #w,ar2stm#wa,ar3stm#7,brcrptb tttl-1ld *ar2+,asub*ar3+,astla/ar4+;*(iq+8)=cos0+sinl80tttl:stm #w,ar2stm#wa,ar3stm#7,brcrptb ttt2-lld *ar3+,asub*ar2+,astla,*ar4+;*(iq+16)=cosl80+sin0ttt2:stm #w,ar2stm#wa,ar3stm#7,brcrptb ttt3-lld *ar2+,a 初始化pn1和pn2,准止交15级m序列 *先产生好引导序列,最后15个零,初始状态14个零一个一 *序列周期 2a15-
7、1=32768-1=32767,*每两秒 75 个 pn 序列周期,1.2288m*2s=75*3276832768bit/16bit=2048 字*i(x)=x15+x13+x9+x8+x7+x5+1*q(x)=xl5+xl2+xll+xl0+x6+x5+x4+x3+lnega;对a取算术反sub*ar3+zastla/ar4+;*(iq+24)=cosl80+sinl80chushipnl: stm#32766,brcld#0x0001,a x 位stm#15,ar4了),一个字 16 位stm#pnl,ar3st#0x0001,*ar3;pn1;移存器初态,初始状态14个零1个一,1为;
8、150循环计数器(记录数组是不是已经满;放置序列地址 ; 先输出1ppp1:ppp2:pp1:chushipn2:rptbpp1-1 ld#0,bxora,-4,bxoraz-6,bxora 厂 7,bxora,&bxora,-12,bxora,-14,band#0x0001, bsftla,1orb,abanzppp1/ar4 stlb,*+ar3stm#15,ar4 bppp2 add*ar3z1?bstlb/ar3nop ld*ar3,aand#oxfffe,astla/ar3stm#32766,brcld#0x0001,astm#15,ar4stm#pn2,ar3st#0x00
9、01,*ar3rptbpp2-1ld#0,bxora,-2zbxora,-3,b;b为m序列反馈位;x5与b异或 ;x7与b异或;x8与b异或 ;x9与b异或 ;x13与b异或 ;x15与b异或;左移一位(a左为x15,右为x);反馈位或到最 低位;未积满一个字后转移到ppp1 ;装满了,先更新输出地址在把b输 出去 ;ar3左移一位加上b;送回ar3 ;提前输出的1强制变为0 ;pn2 ;初始状态14个零一个一 ;计数器,一个字16位 ;放置序列地址;先输出1;b为m序列反馈位;x3与b异或xora,-4,bxorar5,bxora,-9,bxorar10,bxora,-11zbxoraz-
10、14,band#0x0001,bsftla,1;左移一位orb,a;反馈位或到最低位banzppp3,*ar4-;未积满一个字后转移stlb/+ar3;更新输出地址stm#15,ar4bppp4ppp3:add*ar3,1,bstlb/ar3nopppp4:pp2:ld*ar3,aand #oxfffe,astla/ar3;提前输出的1强制变为0*定时器初始化ttt3: ssbx intm;二匕关闭所有可屏蔽屮断rsbx sxm;=0禁止符号位扩展st #0,*(x);初始化x=0,x为十次定时记数(绝对寻址)(a,x是直接寻址)stm#0,swwsr;插入0等待周期stm#oxffa&
11、;pmst ;改变中断向量映射到0xff80, iptr取pmst的高九位stm#9007h,clkmd ;pllmul=9 (锁相环倍频系数),clkin=10m (外部晶振),clkout=clkin x (pllmul+l)=100mstm #19999,prd ;该为 prd=20000-l;tddr=10-l 主频 100m 则定时2msportr pa1,*ar4;速率标志1, 2, 4, 8bit *ar4z15-0;速率1 (位测试)bc bbbl,ntc;tc=0跳转到bbblcall crcl2ld #183,a;184比特信息卷积(里面8尾比特进行卷积)calljuanj
12、istm # wa,ar5;码元重复1次,wa输出 stm #w,ar3;w输入rpt #383mvdd *ar3+,*ar5+call jiaozhicall raoluancall kuopincall pianzhilcall pianzhi2call qpskbbbbbbbl: bit *ar4,15-1bc bbb2,ntccall crc8ld #87,acalljuanjistm #w,ar3stm #191,brcrptb ccbl-1mvdd *ar3,*ar5+mvdd *ar3+/ar5+ ccbl call jiaozhicall raoluancall kuopinc
13、all pianzhilcall pianzhi2call qpskb bbbbbb2: bit *ar4,15-2bc bbb3,ntcstm#w,ar3stm# wa,ar4rpt#39mvdd *ar3+/ar4+ld #39,acall jua njistm# wa,ar5stm#w,ar3rptb ccb2-lmvdd *ar3,*ar5+ ;可以把速率一样的合并到公共端 漣率2 ;码元重 复2次,wa输出w输入;速率4 ;码元重复4次,wa输出w输入ccb2bbb3mvdd *ar3,*ar5+ mvdd *ar3,*ar5+ mvdd *ar3+,*ar5+ call jiaoz
14、hi call raoluan call kuopin call pianzhil callpianzhi2call qpsk b bbb stm #w,ar3stm #wa,ar4 rpt #15mvdd *ar3+,*ar4+ld #15,acalljuanji ;速率 8stm #wa,ar5;码元重复8次,wa输出w输入stm#w,ar3stm #47,brcrptb ccc-1mvdd *ar3z*ar5+mvdd *ar3,*ar5+mvdd *ar3z*ar5+mvdd *ar3,*ar5+mvdd *ar3z*ar5+mvdd *ar3/ar5+mvdd *ar3,*ar5+c
15、cccall jiaozhicall raoluancall kuopincall pianzhilcall pianzhi2call qpsknopbbbnop* suspl ld *(x),asub #10,abc susp,aeq ;判断是否到20ms,取第二个数据包处理b suspl timeout addm #l,*(x);(绝对寻址)定时中断子程序1加到十即 20ms ld #10,asub *(x),abc secout,aleqb exitsecout st #0,*(x) exit noprete*外部gps时钟2秒钟复位一次*根据偏置系数k确定引导序列的起始位置vclock
16、:portr ld and stl pa0,*(k)*(k),2,a #0x7fcza az*(v);读偏置系数stm #offffh,ifr;所有中断标志置1stm #0008h,imr;tinto=1 定时中断开放rsbx intm;二0,开放所有可屏蔽中断ldm tcr,aand #offefhzastlm a,tcr ;tss=0,定时器启动工作rete*crc效验子程序*12位帧质量指示码产生器*w存储172位要效验的信息*wa存储184位输出信息*f(x)=xl2+xll+xl0+x9+x8+x4+x+lcrcl2 stm #w,ar3;间接寻址将输入数据数组w首地址给辅助寄存器a
17、r3stm #wa,ar4;间接寻址将输出数据数组wa首地址给辅助寄存器ar4ld #oxfff,b ;b为12位移存器并初始化全1,左x12,右x stm#171,brc;计算172位crc效验rptb next-1sftl b,-11,a ;取最高延迟位。b累加器内的数据并未发生变化,a 里面为x12mvdd *ar3/ar4+;数据由输入到输出,输入地址不变(下血要产生反馈位),输出地址加1r*arx是间接寻址】xor *ar3+,a;最高延迟位与输入模2加产生反馈位存aand#oxooo1zaand#oxoffe,b ;使8低12位的前11位保持不变,最后一位清0,也就是原理图屮移位寄
18、存器最左位清0xora,11,b;产生移存器的x12xora,10,b;产生移存器的xllxoraz9,b;产生移存器的x10xora,&b;产生移存器的x9xora,7,b;产生移存器的x8xora,3,b;产生移存器的x4xora,b;产生移存器的x (将反馈位写入x)next:nop;将存在移存器屮的校验12位码传递到信息位的最后12个字(nop:延时几个周期,避免流水线冲突)sftl bz-11,a;将移存器中的x12输出and #0x0001,astl a,*ar4+sftl b,-10,a;将移存器中的 xll 输出 and #0x0001,a stla/ar4+:sftl
19、 b,-9?a;将移存器中的x10输出and#0x0001,astla/ar4+sftl b,-8za;将移存器中的x9输出and#0x0001,astla/ar4+sftl b,-7,a;将移存器中的x8输出and#0x0001?astla/ar4+sftl b,-6,a;将移存器中的x7输出and#0x0001,astla/ar4+sftl b,-5,a;将移存器中的x6输出and#0x0001,astla/ar4+sftl b,-4,a;将移存器中的x5输出and#0x0001,astla,*ar4+sftl b,-3,a;将移存器中的x4输出and#0x0001?astl a/ar4+
20、 sftl bz-2,a;将移存器中的 x3 输出 and#0x0001,a stl a/ar4+ sftl b,-1za ;将移存器中的 x2 输出 and #oxooo1za stl a,*ar4+and #0x0001,b ;将移存器中的x输出stl b,*ar4ret*cc 效验:f (x)二x8+x7+x4+x3+x+1*8位帧质量指示码产牛器*w存储80位要效验的信息*wa存储88位输出信息crc8 stm #w,ar3stm#wa,ar4早入nex:字;输入数据首地址给ar3ld#0xff,b;b为8位移存器初始化全1,右为刚入,;输岀数据首地址给ar4左为最;计算 80 位 c
21、rc 效验 stm #79,brc rptb nexl sftl b,-7,amvdd *ar3,*ar4+ xor *ar3+,a and #0x0001?a ;取最高延迟位;数 据由w->wa ;最高延迟位与输入模2加产生反馈输入sftl b,1 andxor xor xor xor xor nop;移存器移位 #oxofe,baz7,b ;产生移存器的x8 a,6,b;产生移存器的x7 az3,b;产生移存器的x4 a2b;产牛移存器的x3 a,b;产生移存器的x;将存在累加器a中的校验8位码传递到信息位的最后8个sftl b,-7,a and #0x0001za stl
22、a,*ar4+sftl b,-6,aand #0x0001,astl a,*ar4+6sftl b,5,aand #0x0001, astl a/ar4+sftl b,-4?aand #0x0001, astl a/ar4+sftl b,-3?aand #0x0001,astl a,*ar4+sftl b,2,astl a/ar4+sftl b,-2?aand #0x0001,astl a/ar4+and #0x0001,bstl b,*ar4ret*卷积编码 g0=111101011*gl=101110001*wa为输入数据,w为编码输出*包括8位尾比特处理juanji: stlm a,br
23、c;a在主程序给出数值(代表未加尾比特业务速率j)stm #wa,ar2 ;wa输入(#立即数寻址;stm arx是存储器映像寄存器寻址)rptb ddd-1ld xor xor xor xor xor xor and stl*ar2,a;间接寻址将当前输入送到原理图上面的模二加b,abab,-2,a b,-4,a b,-6za b,-7,a #0x0001,aa/ar3+;抽头异或结果存a并输出ld *ar2,axorxorb,-2,axorbz-3,axorand#0x0001,astl a/ar3+sftl b,1and#oxfe,bor *ar2+zb地址加1ddd:nopstm#7,
24、brcrptb eee-1ld #0,axorb,axorxorb,-2zaxorb,-4,axorb,-6,axorb,-7,aand#0x0001,astl a,*ar3+ld #0,axorxorb,2,axorbz-3,axorbz-7,aand#0x0001,astl a,*ar3+sftl b,1eee:nopret;抽头异或结果存a并输出;b最低位清零,等待接收信息比特;间接寻址将信息bite传入b (巧用or),并自身;加8尾比特顺便将其卷积输出疋向左移,实则原理图屮向右移* *is-95分组止向业务信道交织器*将384码元分成6个64码元组,先对每个64分组进行64位码倒序寻
25、址,再进行6x64矩阵交织*输入数据在wa中,中间倒序寻址数据在w中,最后数据仍在wa中jiaozhi: stm #wa,ar2;交织前数据stm #w,ar3;交织后数据stm #32,ar0stm #64-l,brcrptb#jjl-lmvdd *ar2,*ar3+mar *ar2+0b寻址)jjl: stm #64-l?brcstm #wa+64,ar2rptb #jj2-lmvdd *ar2,*ar3+mar *ar2+0brptb #jj3-lmvdd *ar2,*ar3+mar *ar2+0bjj3:stm #641,brcstm #wa+3*64,ar2rptb #jj4-lmv
26、dd *ar2,*ar3+mar *ar2+0bjj4: stm #64-l,brcstm #wa+4*64,ar2rptb #jj5-lmvdd *ar2,*ar3+mar *ar2+0bjj5:stm #64-l?brcstm #wa+5*64,ar2rptb #jj6-lmvdd*ar2,*ar3+;64 比特反转寻址方式:ar0=64/2=32 ;双操作数间接寻址不支持+0b ;完成第一行64比特反转寻址交织(+0b按位倒 序;完成第二行64比特反转寻址交织;完成第三行64比特反转寻址交织; 完成第四行64比特反转寻址交织;完成第五行64比特反转寻址交织jj6:#64-1,brc;完成
27、第六行64比特反转寻址交织stm#64,ar0;矩阵的列数rptb jjjl-1;完成6*64 矩阵交织 mvdd *ar3,*ar2+ mar *ar3+0 mvdd *ar3z*ar2+ mar*ar3+0 mvdd *ar3,*ar2+ mar *ar3+0 mvdd *ar3,*ar2+ mar*ar3+0 mvdd *ar3,*ar2+ mar *ar3+0 mvdd *ar3/ar2+ ldm ar3,asub #5*64-1,a;-5*64+l,加上sub就成了这样stlm a,ar3;更新矩阵列号jjjl: ret* *扰乱加密 p(x)=x42+x35+x33+x31+x27
28、+x26+x25+x22+x21+xl9+xl8+xl7+xl6*+xl0+x7+x6+x5+x3+x2+x+l*加扰之前的数据在wa中,加扰后数据在w中qp+1与p+2中分别放移存器低14位中14位和高14位*q,q+l与q+2中分别放掩码标志码低14位中14位和高14位stm #383,ar3;计数器,384比特循环384次raoluan: stm#wa,ar4portr pa2,*(p);获得移存器初态低14位ld *(p),aand #ox3fff,astl a/(p)portr pa3z*(p+l)ld *(p+lhaand #0x3fff,a;获得移存器初态屮14位stl a,*(
29、p+1)portr pa4,*(p+2)ld *(p+2),aand #0x3fff,astl a/(p+2)portr pa5/(q)ld*(q),aand#0x3fff,astl a/(q)portr pa6,*(q+l)ld *(q+l),aand #ox3fff,astl a,*(q+1)portr pa7/*(q+2)ldbbc: stm# 63,brcrptb bbcl-1ld #0,bld*(p),axor a,bxorxora,2,bxor az-4,bxora,-5,bxor a,-6,bxora,9,b;and #0x0001,bld*(p+1),aa/(q+2)#ox3f
30、ff?astland*(q+2),axor a,-1,bxor a,2”bxor ar3,bxor a,-4zbxor a,7,bxor#0x0001,b ld *(p+2),axor a,-2,bxor az-4,bxor a,-6,b;获得移存器初态高14位;获得掩码标志码低14位;获得掩码标志码中14位;获得掩码标志码高14位;64分频器;x ;x2;x3;x5;x6;x7;x10;x16;x17;x18;x19;x21;x22;x25 ;x26 ;x27 ;x31;x33;x35xor and ld and add and stl az-13zb#0x0001,b;x42噺产生的1bi
31、t将存入b中*(p+l)/-13/a ;42级移位#0x0001,a *(p+2),l,a #0x03fff,a a,*(p+2);修止 p+2ld *(p),-13,aand #0x0001,aadd *(p+l),l/aand #0x03fff,astl a,*(p+1)ld *(p),l,axor b,aand #0x03fff,astl a,*(p)bbcl: nopld #0,bld *(p),aand *(q),astm #13,brcrptb bbc2-lxor a,bsftl a,-lbbc2: ld *(p+l),aand *(q+l),astm #13,brcrptb bb
32、c3-lxor a,bsftl az-1bbc3: ld *(p+2),aand *(q+2),astm #13,brcrptb bbc4-lxor a,bsftl az-1;掩码与移存器;b=0,直接输出bbc4: and #0x0001?bbc bbc5,bneq;修正 p+1;修正 p状态相与模二加产生lbit输出bbc5:mvdd b ld xor *ar4+,*ar5+bbc6:banz bbc/ar3-ret*上面程序可以改成两条语句 xor *ar4,b stl b/ar5+*输入是加扰后的19.2b/s的数据存在w中384比特*walsh码表存在文件tab庖inc中,4个字一个
33、64位w码,存在程序 区*pa8 口输入w地址号*扩频后数据存在wa中,384*4=1536kuopin: stm #p,ar4广(p)中是4个数组单元,每个16位,即64位沃什地址码地址占四个字)and#oxfc,astl /add#table_a,a;基地址加偏移地址即当前地址stm#3,brcrptbcc-1reada *ar4+;累加器寻址add#1,a;地址加一个字cc:stmstmldcmplstlldcmplstlld # p,ar4 #q,ar5;p中是64位止码(将p首地址放到ar4) ;q中是64位反码(将q首地址放到ar4) *ar4+,aa収反 a/ar5+ *ar4+
34、,aa;取反 a/ar5+ *ar4+,acmpl stlldcmpl stlstmstmstmrptbldstmstma;取反 a/ar5+ *ar4+,aa;取反 a/ar5+ #wazar3;扩频后数据#w,ar7;扩频前数据#383,brc;信息位384bit,循环 384 次,brc 置数 384-1 loop-1 *ar7+,a #p,ar4正极性沃尔什码#q,ar5;负极性沃尔什码bc loop1,aneq; a=0,继续执行,否则跳转到l00p1mvdd *ar4+,*ar3+mvdd *ar4+,*ar3+mvdd *ar4+,*ar3+mvdd *ar4+,*ar3+blo
35、op-1l00p1: mvdd *ar5+/ar3+mvdd *ar5+,*ar3+mvdd *ar5+,*ar3+mvdd *ar5+,*ar3+noploop: nopret*1信道引导序列*pl(x)=xl5+xl3+x9+x8+x7+x5+l*v中记录上一个数据包结束pn1所在周期中的比特位置*输入数据在wa中1536个字,输出在w中1536个字pianzhil:stm# wa,ar3stm #w,ar5ld #pnl,aadd *(v)?astlm a,ar4ld *(v),asub #512,apppageq;a>0跳转到ppp否则继续执行#1535,brcppp1-
36、1*ar3+,a*ar4+,aa/ar5+ppp2 #2047, a*(v),aa,brcppp3-1*ar3+,a*ar4+,aa/ar5+*(v),a;循环次数 2048-vbrc=2048-v-lbcstmrptbldxorstl pppl:b ppp:ldsubppp3:stlmrptbldxorstlldsub#513,a;循环次数为 v-512 brc=v-512-1stlm a,brcstm #pnl,ar4rptb ppp2-lld q信道引导序列ar3+,axor *ar4+,astl a/ar5+ppp2:ret*pq(x)=xl5+xl2+xll+xl0+x6+x5+x4
37、+x3+l *v屮记录上一个数据包结束pn1所在周期屮的比特位置*输入数据在wa中1536个字,输出在wa中1536个字pianzhi2: stm #wa,ar3stm #wa,ar5;输出不变,因为pianzhil b经用过wld #pn2,aadd *(v),astlm a,ar4ld *(v),asub #512,abc qqq,ageqstm #1535,brcrptb qqql-1ld *ar3+,axorstlqqql:ldaddstlqqq:ldsubqqq3:stlm rptb ldxorstlldsubstlm stmrptb ldxor stl*ar4+,a a/ar5+*
38、(v),a;v更新,为下一数据包做准备#1536,a a,*(v) qq #2047,a *(v),a a,brc qqq3-l *ar3+,a *ar4+,a a/ar5+ *(v),a #513,a abrc #pn2,ar4 qqq2-l *ar3+,a *ar4+?a a/ar5+ ;循环 次数为 2048-v brc=2048-v-l ;循环次数为 v512 brc=v-512-1qqq2:ld *(v)za;v 更新sub #512,astl a,*(v)qq:ret *qpsk调制器*1信道数据在w中1536*16比特,q信道数据在wa中1536*16比特*iq分别为00,01,
39、10,11四种状态输出四种预存的波形,每种波形8个样点 *cos+sin;cos-sin;sin-cos;-cos-sin 四乖中波形* 对应位置为 *iq/*iq+8,iq+16/iq+24* qpsk: stm #w,ar2stm #wa,ar3stm #1535,brcrptb kkk-1ld #iq,abit *ar2,15-15 ;输出 15 位bc kkkl,ntcadd #16,akkkl: bit *ar3,15-15bc kkk2?ntc add #&a kkk2: stlm a,ar4rpt#7 portw *ar4+,pa9ld #iq,abit *ar2z15-
40、14bckkk3,ntcadd#16,akkk3: bit *ar3,15-14bc kkk4,ntcadd #&akkk4: stlm a,ar4rpt #7portw *ar4+,pa9ld #iq,abit *ar 乙 1513bckkk5,ntcadd#16,akkk5: bit *ar3,15-13bc kkk6,ntcadd #&akkk6: stlm a,ar4rpt #7portw *ar4+,pa9ld #iq,abit *ar2,15-12bc kkk7,ntcadd #16,akkk7: bit *ar3,15-12bc kkk8,ntcadd #8,ak
41、kk8: stlm a,ar4rpt #7portw *ar4+,pa9ld #iq,abit *ar2z15-11bckkk9,ntcadd#16,akkk9:bit*ar3,15-11a=*iq/*iq+8/iq+16/iq+24输出调制波形8个样点 输出14位a=*iq,*iq+8,iq+16/iq+24输岀调制波形8个样点输出13位a=*iq,*iq+&iq+16ziq+24输出调制波形8个样点 输出12位a=*iq/*iq+8/iq+16,iq+24输出调制波形8个样点输出11位;a=*iq,*iq+8,iq+16,iq+24;a=*iq,*iq+8,iq+16,iq+24;
42、a=*iq,*iq+8,iq+16,iq+24;a=*iq,*iq+8jq+16jq+2417 乙+br9t+b!0+b!/b!* 二 tz 乙+“91+30+3*®* 二 fz-siav*119ztw vz9t#aavd1n7t>i>i>i39z-stzzhv* 丄旧vzbi# ai6vdz+vdv* mldodvz8# aav上# 丄閔31nz9l>l>l>l 39 8-stzsav*na:肛”羽 vz9l#aavd1nz9t>i>i>ia8-stzzdv * 丄旧x/'b!# qi6vdz+t7dv* mldodz#
43、 丄制vyvzv iaiiis 巾门羽x/0# aav31nzt7l>l>l>l 39 6-stzsav*na:vz9l#aavd1nzst>i>i>ia6-stzzdv * 丄旧vzbi# ai6vdz+i7av* mldod上# 丄閔<8# aavol-stzedv* 丄旧:巩 >i>pivz9t#aavill n't"”9ot-slzzav * 丄旧v'b!# ai6vdz+tzav* miaod 上#ldhvyvzv iaiiis :oi>i>i>ix/0# ggv:)丄 n z0l>
44、;l>l>l d9;输出调制波形8个样点;输出10位;a=*iq/*iq+8,iq+16,iq+24 ;a=*iqz*iq+8,iq+16,iq+24;输出调制波形8个样点;输出9位;a=*iq/*iq+8,iq+16,iq+24 ;a=*iqz*iq+8,iq+16,iq+24;输出调制波形8个样点;输出8位;a=*iq/iq+&iq+16,iq+24 ;a=*iq,*iq+8,iq+16/iq+24;输出调制波形8个样点;输出7位bc kkkl8,ntc add #8,akkkl& stlm a,ar4rptbit *ar2,15-6*ar3,15-6 bc k
45、kk20,ntcadd #8,akkk20: stlm a,ar4rpt #7#7 portw *ar4+zpa9ld #iq,abc kkkl9,ntc add #16,a kkkl9: bitportw *ar4+,pa9ld #iq,abit *ar2,15-5bc kkk21,ntc add #16,a kkk21: bit*ar3,15-5 bc kkk22,ntcadd #8,akkk22: stlm a,ar4rpt #7portw *ar4+,pa9ld #iq,abit *ar2,15-4bc kkk23,ntc add #16,a kkk23: bit*ar3,15-4 b
46、c kkk24,ntcadd #8,akkk24: stlm a,ar4rpt #7portw *ar4+,pa9ld #iq,abit *ar2,15-3bc kkk25,ntc add #16,a kkk25:bit*ar3,15-3;a=*iq/*iq+8/iq+16,iq+24;输出调制波形8个样点;输出6位;a=*iq/iq+&iq+16,iq+24;输岀调制波形8个样点;输出5位;a=*iq,*iq+8jq+16,iq+24;输出调制波形8个样点;输出4位;a=*iq/iq+8,iq+16,iq+24;输出调制波形8个样点;a=*iq,*iq+8,iq+16,iq+24;a
47、=*iq,*iq+8,iq+16,iq+24;a=*iq,*iq+8,iq+16,iq+24;a=*iq,*iq+8jq+16jq+24;输出3位kkk26: kkk27:kkk28:kkk29:kkk30:bc add stlm rpt portw ld bit bc add bit bc add stlm rpt portw ld bit bc add bit bc add stlm rpt portw ld bit bc add kkk26,ntc #8,a a,ar4 #7 *ar4+,pa9 #iq,a *ar2z15-2 kkk27,ntc #16,a *ar3,15-2 kkk2
48、8?ntc #8,aa,ar4 #7*ar4+,pa9 #iq,a *ar2,15-1 kkk29,ntc #16,a *ar3,15-1 kkk3o,ntc #&a a,ar4 #7 *ar4+?pa9 #iq,a *ar2+,15-0 kkk31,ntc#16,a;a=*iq,*iq+8,iq+16,iq+24 ;a=*iq/iq+8,iq+16,iq+24 ;输出调制波形8个样点;输岀2位;a=*iq/iq+8,iq+16,iq+24 ;a=*iq/*iq+8,iq+16jq+24 ;输出调制波形8个样点;输出1位;a=*iq,*iq+8?iq+16,iq+24 ;a=*iq,*
49、iq+8,iq+16?iq+24 ;输出调制波形8个样点 ;输出0位处理下一个字kkk31: bit *ar3+,15-0;输出0位处理下一个字bc kkk32,ntcadd #8,a;a=*iq?*iq+8,iq+16jq+24kkk32: stlm a,ar4 ;a=*iq,*iq+8,iq+16,iq+24rpt #7portw *ar4+,pa9;输出调制波形8个样点(从ar4开始读一个字从pa9输出,循环八次,八个样点)kkk: ret*endis95.cmd memory page 0:page 1: sectionsvectors: vecs: prog: spram: stac
50、k: origin 二 0xff80, origin 二0x2400, origin 二 0x200, origin 二 0x0080, length = 0x80/*程序区 */length = oxlaoo length = 0x2200/*数据区*/ length = 0x100 > > vecs page 0 .text: table_a: > prog page 0/*此段存放程序代码*/ prog page 0 .data > prog page 0/*此段存放初始化了的数据*/ .bss:> spram pag
51、e 1/*此段存放未初始化的数据*/ .stack: > stack page 1walsh.inctable_a:sect.word.word.word.word .word .word.word.word.word.word.word.word.word.word.word.word.word.word.word.word.word.word.word.word.word.word.word .word.word.word.word .wordtsize: .set "table_an 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,oxffff,oxffff ;0-l 0x0000
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏省扬州市江都区八校2022-2023年九年级上学期期中联考化学试题(含答案)
- 电竞耳机专业知识培训课件
- 高经财税课件
- 高粱产业基础知识培训课件
- 高空抛物安全知识培训课件
- 高硅厂安全知识培训总结课件
- 北京精雕技能考试试题及答案
- Quinocycline-B-生命科学试剂-MCE
- 北京vr消防考试题库及答案
- 保育员考试理论单选题及答案
- 说专业-物流管理专业
- DB3309-T 95-2023 海岛休闲露营地建设与服务规范
- 用友U8全产品功能介绍
- 医院突发公共卫生事件应急预案
- 建筑工程安全生产责任书
- iqc来料检验报告单
- WPSOffice办公软件应用PPT完整全套教学课件
- GMAT数学概念单词
- 三基考试题库3
- 化工安全与环保PPT
- ARINC653标准技术交流
评论
0/150
提交评论