




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、32 位加法/链接命令文件MEMORY PAGE 0:ROM :origin=0080h,length=1000h ROM :origin=0060h,length=10h PAGE 1:OTHER:origin=0400h,length=40h SECTIONS.text: ROM PAGE 0 .data: ROM PAGE 0 .bss : OTHER PAGE 1.stack : OTHER PAGE 1/汇编语言源代码.title ADD32.mmregs.def start,_c_int00 .bss xhi , 2,1,1.bss yhi , 2,1,1.bss zhi , 2,1, 1table .long 13578468H .long 1020B30AH .text _c_int00b start nopnopstart: LD #xhi ,DPSTM#xhi,AR1RPT#3MVPDtable,*AR1+DLDxhi , ADADDyhi , ADSTA ,zhiEND:B END.end 二、64位加法/减法/链接命令文件/*ADDSUB64.cmd*/ADDSUB64.obj-m ADDSUB64.map-o ADDSUB64.out MEMORY PAGE 0:ROM :origin=0080h,length=1000h ROM :origin=0060h,length=10h PAGE 1:OTHER:origin=0400h,length=40h SECTIONS.text: ROM PAGE 0 .data: ROM PAGE 0 .bss : OTHER PAGE 1.stack : OTHER PAGE 1/汇编语言源代码.title ADDSUB64.mmregs.def start,_c_int00 .bss x1 , 2 ,1,1.bss x3 , 2 ,1,1.bss y1 , 2 ,1,1.bss y3 , 1.bss y2 , 1.bss z1 , 2 ,1,1.bss z3 , 1.bss z2 , 1.bss w1 , 2 ,1,1.bss w3 , 2 ,1,1table .long12345678H;x1x0.long02468ACEH;x3x2.long22222222H;y1y0.word 1357H,2468H;y3,y2.long44444444H;z1z0.word 1020H,0B30AH;z3,z2 .text _c_int00b start nopnopstart: LD #x1 ,DPSTM#x1,AR1RPT#11MVPDtable,*AR1+DLD x1,A ; A = X1 X0DADD y1,A ; A= X1 X0 + Y1 Y0,产生进位CDLD x3,B ; B = X3 X2ADDCy2,B; B = X3 X2 + 00 Y2 + CADD y3,16,B ; B = X3 X2 + Y3 Y2 + CDSUBz1,A; A= X1 X0 + Y1 Y0-Z1Z0,产生借位CDST A,w1; W1W0= X1 X0 + Y1 Y0-Z1Z0SUBBz2,B; B = X3 X2 + Y3 Y2 + C - 00 Z2-CSUBz3,16,B; B = X3 X2 + Y3 Y2 + C -Z3 Z2-CDST B,w3; W3 W2= X3 X2 + Y3 Y2 + C - Z3 Z2-CEND:B END.end 三、FIR滤波/链接命令文件fir.obj-m fir.map-ofir.outMEMORYPAGE 0: ROM1(RIX):ORIGIN=0080H,LENGTH=100H PAGE 1: INTRAM1(RW) :ORIGIN=2400H,LENGTH=0200H INTRAM2(RW) :ORIGIN=2600H,LENGTH=0100H INTRAM3(RW) :ORIGIN=2700H,LENGTH=0100H B2B(RW):ORIGIN=0070H,LENGTH=10H SECTIONS .text :ROM1PAGE 0 .data : INTRAM1 PAGE 1 FIR_COFF: INTRAM2 PAGE 1 FIR_BFR : INTRAM3 PAGE 1 .stack : B2B PAGE 1 /汇编语言源代码;一个FIR滤波器源程序 fir.asm.mmregs.global start.def start,_c_int00 INDEX .set 1KS.set 256 ;模拟输入数据缓冲区大小N .set 17 COFF_FIR.sect COFF_FIR;FIR滤波器系数.word 0.word 158.word 264.word -290.word -1406.word -951.word 3187.word 9287.word 12272.word 9287.word 3187.word -951.word -1406.word -290.word 260.word 158.word 0 .dataINPUT .copy firin.inc ;模拟输入在数据存储区0x2400OUTPUT.space1024 ;输出数据在数据区0x2500;FIR_DP.usectFIR_VARS,0;D_FIN.usectFIR_VARS,1;D_FOUT.usectFIR_VARS,1 COFFTAB .usectFIR_COFF,NDATABUF.usectFIR_BFR,NBOS.usectSTACK,0FhTOS.usectSTACK,1 .text.asgAR0,INDEX_P.asgAR4,DATA_P;输入数据x(n)循环缓冲区指针.asgAR5,COFF_P;FIR系数表指针.asg AR6,INBUF_P ;模拟输入数据指针 .asgAR7,OUTBUF_P;FIR滤波器输出数据指针_c_int00b start nopnopstart: ssbx FRCT STM #COFFTAB,COFF_PRPT #N-1 ;将FIR系数从程序存储器移动MVPD#COFF_FIR,*COFF_P+;到数据存储器STM#INDEX,INDEX_PSTM#DATABUF,DATA_PRPTZA,#N-1STLA,*DATA_P+;将数据循环缓冲区清零STM#(DATABUF+N-1),DATA_P ;数据缓冲区指针指向xn-(N-1)STM#COFFTAB,COFF_P;FIR_TASK: STM#INPUT,INBUF_P STM #OUTPUT,OUTBUF_P STM#KS-1,BRC RPTBDLOOP-1 STM#N,BK;FIR循环缓冲区大小 LD*INBUF_P+,A;装载输入数据FIR_FILTER: STLA,*DATA_P+% RPTZA,N-1 MAC*DATA_P+0%,*COFF_P+0%,A STHA,*OUTBUF_P+LOOP:EENDB EEND .end 四、IIR滤波/链接命令文件MEMORYPAGE 0:EPROM: org=0E00H, len=1000HVECS0:org=0FF80H, len=0080hPAGE 1:SPRAM:org=0060H, len=0020hDARAM:org=0080H, len=1380HSECTIONS.text:EPROMPAGE 0.data:EPROM PAGE 0X:align(8) DARAM PAGE 1Y:align(8) DARAM PAGE 1B:align(8) DARAM PAGE 1A:align(8) DARAM PAGE 1.vecs0:VECS0, PAGE 0/输入数据序列(512点)0x7fff0x00x00x0/汇编语言源代码.title IIR.ASM.mmregs.def_c_int00X.usectX, 5Y.usectY, 5B.usectB, 5A.usectA, 5PA0.set0PA1.set1.datatable:.word0.word0.word0.word0.word0.word0.word0.word0.word3116.word-10286.word14615.word-10286.word3116.word-22082.word31149.word-30484.word28383.text_c_int00:SSBXFRCTSTM#X, AR1RPT#3MVPD#table, *AR1+STM#Y, AR1RPT#3MVPD#table+4, *AR1+STM#B, AR1RPT #4MVPD#table+8, *AR1+STM#A, AR1RPT#3MVPD#table+13, *AR1+STM#X+4, AR2STM#A+3, AR3STM#Y+3, AR4STM#B+4, AR5STM#5, BKSTM#-1, AR0STM#1000H, AR6STM#0200H-1, AR7loop:PORTRPA1, *AR2LD*AR2, ASTLA, -1, *AR2MPY*AR2+0%, *AR5+0%, AMAC*AR2+0%, *AR5+0%, AMAC*AR2+0%, *AR5+0%, AMAC*AR2+0%, *AR5+0%, AMAC*AR2, *AR5+0%, AMAC*AR4, *AR3, AMAC*AR4, *AR3, AMAC*AR4, *AR3, AMAC*AR4+0%, *AR3+0%, AMAC*AR4, *AR3, AMAC*AR4, *AR3, AMAC*AR4, *AR3, AMAC*AR4, *AR3, AMAC*AR4+0%, *AR3+0%, AMAC*AR4, *AR3, AMAC*AR4, *AR3, AMAC*AR4+0%, *AR3+0%, AMAC*AR4+0%, *AR3+0%, AMAR*AR3+0%STHA, *AR4PORTW*AR4, PA0STHA, *AR6+BANZloop, *AR7-end:Bend.end 五、除法/链接命令文件/*chuf.cmd*/chuf.obj-m chuf.map-o chuf.out MEMORY PAGE 0:ROM :origin=0080h,length=1000h ROM :origin=0060h,length=10h PAGE 1:OTHER:origin=0400h,length=40h SECTIONS.text:ROM PAGE 0 .data:ROM PAGE 0 .stack : OTHER PAGE 1.bss : OTHER PAGE 1/汇编语言源代码;* 编制计算除法运算的程序段。其中|被除数|B,获取商的符号 ;(在累加器B中) ABS A ;分母取绝对值 STH A,*AR1- ;分母绝对值存回原处 LD *AR1+,16,A ;分子-A(32-16) ABS A ;分子取绝对值 RPT #14 ;15次减法循环,完成除法 SUBC *AR1,A XC 1,BLT;如果B0(商是负数)则需要变号 NEG A STL A,*(quot);保存商 .END 六、FFT*Radix-2,DIT,Real-input FFT Program * fft.asm *.mmregs.global reset,start,sav_sin,sav_idx,sav_grp .def start,_c_int00 .data DATA.space1024 .copy mdata.inc N.set128LOGN.set7 sav_grp.usecttempv,3sav_sin.setsav_grp+1sav_idx.setsav_grp+2OUTPUT.usectOUTPUT,256BOS.usectstack,0FhTOS.usectstack,1 .copy twiddle1.inc .copy twiddle2.inc.text_c_int00b start nopnopstart:STM#TOS,SPLD#0,DPSSBXFRCT STM #2*N,BK STM#INPUT,AR3STM#DATA,AR7MVMMAR7,AR2STM#N-1,BRCRPTBDplend-1STM #N,AR0LDM AR3,A READA *AR2+ ADD #1,AREADA *AR2+MAR*AR3+0Bplend:STM#0,BKLD#-1,ASMMVMMAR7,AR2STM#DATA+2,AR3STM #N/2-1,BRCLD*AR2,16,ARPTBDs1end-1STM#3,AR0SUB*AR3,16,A,BADD*AR3,16,ASTHA,ASM,*AR2+STB,*AR3+|LD*AR2,ASUB*AR3,16,A,BADD*AR3,16,ASTHA,ASM,*AR2+0STB,*AR3+0%|LD*AR2,As1end:MVMMAR7,AR2STM#DATA+4,AR3STM#N/4-1,BRCLD*AR2,16,ARPTBDs2end-1STM#5,AR0SUB*AR3,16,A,BADD*AR3,16,ASTHA,ASM,*AR2+STB,*AR3+|LD*AR2,ASUB*AR3,16,A,BADD*AR3,16,ASTHA,ASM,*AR2+STHB,ASM,*AR3+MAR*AR3+ADD*AR2,*AR3,ASUB*AR2,*AR3-,BSTHA,ASM,*AR2+SUB*AR2,*AR3,ASTB,*AR3|LD*AR3+,BSTA,*AR2|ADD*AR2+0%,ASTA,*AR3+0%|LD*AR2,As2end:STM#512,BKST#128,sav_sinSTM#128,AR0STM#TWI2,AR4STM #TWI1,AR5STM#-3+LOGN,AR7ST#-1+N/8,sav_grpSTM#3,AR6ST#8,sav_idxstage:STM#DATA,AR2LDsav_idx,AADD*(AR2),ASTLMA,AR3MVDKsav_grp,AR1group: MVMDAR6,BRCRPTBDbend-1LD*AR4,TMPY*AR3+,AMACR*AR5+0%,*AR3-,AADD*AR2,16,A,BSTB,*AR2|SUB*AR2+,BSTB,*AR3|MPY*AR3+,AMASR*AR3,*AR4+0%,AADD*AR2,16,A,BSTB,*AR3+|SUB*AR2,BLD*AR4,TSTB,*AR2+|MPY*AR3+,Abend:PSHMAR0MVDKsav_idx,AR0MAR*AR2+0MAR*AR3+0BANZDgroup,*AR1-POPMAR0MAR*AR3-LDsav_idx,ASUB#1,A,BSTLMB,AR6STLA,1,sav_idxLDsav_grp,ASTLA,ASM,sav_grpLDsav_sin,ASTLA,ASM,sav_sinBANZDstage,*AR7-MVDKsav_sin,AR0;STM#DATA+2,AR2STM#DATA+2*N-2,AR3STM#DATA+2*N+3,AR7STM#DATA+4*N-1,AR6STM#-2+N/2,BRCRPTBDp3end-1STM#3,AR0;ADD*AR2,*AR3,ASUB *AR2,*AR3,BSTHA,ASM,*AR2+STHA,ASM,*AR3+STHB,ASM,*AR6-NEGBSTHB,ASM,*AR7-ADD*AR2,*AR3,ASUB*AR2,*AR3,BSTHA,ASM,*AR2+STHA,ASM,*AR3-0STHB,ASM,*AR6-NEGBSTHB,ASM,*AR7+0p3end:ST#0,*AR6-ST#0,*AR6p3test:STM#DATA,AR2STM#DATA+1,AR4STM#DATA+2*N+1,AR5ADD*AR2,*AR4,ASUB*AR2,*AR4,BSTHA,ASM,*AR2+ST#0,*AR2MVDD*AR2+,*AR5-STHB,ASM,*AR5;STM#DATA+4*N-1,AR3STM#TWI2+512/N,AR4STM#TWI1+512/N,AR5STM#N-2,BRCRPTBDp4end-1STM#512/N,AR0LD*AR2+,16,AMACR*AR4,*AR2,AMASR*AR5,*AR3-,ALD*AR3+,16,BMASR*AR5+0%,*AR2-,BMASR*AR4+0%,*AR3,BSTHA,ASM,*AR2+STHB,ASM,*AR2+NEGBSTHB,ASM,*AR3-STHA,ASM,*AR3-p4end:power:STM #OUTPUT,AR3;AR3指向输出缓冲地址 STM #255,BRC;块循环计数器设置为255 RPTBD power_end-1;带延迟方式的重复执行指令 STM #DATA,AR2;AR2指向AR0 SQUR*AR2+,A;A := AR2 SQURA *AR2+,A;A := AR2 + AI2 STH A,7,*AR3;将A中的数据存入输出缓冲中, ANDM#7FFFH,*AR3+;避免输出数据过大在虚拟示波器中显示错误power_end: Bpower_end .end/*fft.cmd*/fft.obj-m fft.map-o fft.out MEMORY PAGE 0:ROM(RIX):origin=8000h,length=1000h ROM1 :origin=9000h,length=0200h PAGE 1:B2A(RW):origin=0060h,length=10h B2B(RW):origin=0070h,length=10h INTRAM1(RW) :origin=0400h,length=0200h INTRAM2(RW) :origin=0800h,length=0200h INTRAM3(RW) :origin=1400h,length=0800h OTHER:origin=2000h,length=800hSECTIONS.text:ROMPAGE 0 INPUT : ROM1PAGE 0 .data:INTRAM3PAGE 1twiddle1: INTRAM1PAGE 1twiddle2: INTRAM2PAGE 1 tempv:B2APAGE 1 stack:B2BPAGE 1 OUTPUT:OTHERPAGE 1 .stack:OTHERPAGE 1 六、小数乘法/链接命令文件/*chef.cmd*/chef.obj-m chef.map-o chef.out MEMORY PAGE 0:ROM :origin=0080h,length=1000h PAGE 1:OTHER:origin=0400h,length=400h SECTIONS.text:ROM PAGE 0 .data:ROM PAGE 0 .bss : OTHER PAGE 1.stack : OTHER PAGE 1/汇编语言源代码 ;* 编制计算小数乘法运算的程序段。其中数据均为小数* ;*a1=0.1 a2=0.2 a3=-0.3 a4=0.4 * ;*x1=0.8 x2=0.6 x3=-0.4 x4=-0.2* .mmregs .def start,_c_int00 .bss x,4 .bss a,4 .bss y,1 .datatable: .word 1*32768/10 .word 2*32768/10 .word -3*32768/10 .word 4*32768/10 .word 8*32768/10 .word 6*32768/10 .word -4*32768/10 .word-2*32768/10 .text_c_int00b start nopnopstart: SSBX FRCTSTM#0,SWWSR STM #x,AR1 RPT#7 MVPD table,*AR1+ STM #x,AR2 STM #a,AR3 STM#y,AR4 RPTZ A,#3 MAC *AR2+,*AR3+,A STH A,*AR4 done: B done .end 七、算术运算/链接命令文件/*suanshu.cmd*/suanshu.obj-m suanshu.map-o suanshu.out MEMORY PAGE 0:ROM :origin=0080h,length=1000h ROM :origin=0060h,length=10h PAGE 1:OTHER:origin=0400h,length=40h SECTIONS.text: ROM PAGE 0 .data: ROM PAGE 0 .bss : OTHER PAGE 1.stack : OTHER PAGE 1/汇编语言源代码 .titlesuanshu.asm.mmregs .def start,_c_int00 .bss x1,1.bss x2,1 .bss y1,1.bss y2,1 .bss z1,1.bss z2,1.bss z3_h,1.bss z3_l,1.bss z4,1 v1.set 014H;20-x1v2 .set 036H;54 -y1v3.set 04000H ; 0.5(fraction)-x2v4.set 00b548H ; -0.5837(fraction)-y2_c_int00b start nopnopstart: LD #x1 , DP ST #v1 , x1 ST #v2 , y1; * * * * * * * * * * test ADD * * * * * * * * * * * *LDx1 , A ; load x1 - A ADDy1 , A ; A + y1 - A STL A , z1 ; save A(low 16 bits) -z1NOP; * * * * * * * * * * test SUB* * * * * * * * * * * *LDx1 , ASUB y1 , ASTLA,z2NOP; * * * * * * * * * * test MPY (integer)* * * * * * * * RSBX FRCT ; 准备整数乘法 LD x1 , T ; x1 - T MPY y1 ,A ; x1*y1 - A (result is 32 bit) STH A , z3_h ; 乘法结果高16位在 z3_h单元中 STLA , z3_l ; 乘法结果低16位在z3_l单元中 NOP ST #v3 , x2 ST #v4 , y2 ; * * * * * * * * * * test MPY (fraction) * * * * * * *; * * 0.5*(-0.58374)=-0.29187(0x0daa4) * *SSBX FRCT ; 准备小数乘法 LD x2 , 16 ,A ; load x2 into A (high 16 bits) MPYA y2 ; x2*y2 - B, and y2 - T ;LD B,1,A ;计算1.125*1.5用Q14表示乘积,18.4*36.8用Q5,同时下一条中A改为B STHB , z4 ; 结果在 z4 单元中nop end: B end 八、定时器操作/链接命令文件MEMORYPAGE 0:PROG: org=0x3000, len=0x1000DATA:org=0x4000, len=0x300VECS:org=0x0FF80, len=0x7FPAGE 1:BSS:org=0x60, len=0x200STACK:org=0x260, len=0x100VARS:org=0x360, len=0x5SECTIONS.text:PROGPAGE 0.vectors:VECSPAGE 0.data:DATAPAGE 0.bss:BSSPAGE 1.STACK:STACKPAGE 1.vars:VARSPAGE 1/汇编语言代码.title Timer.asm.mmregsstack.usect .STACK, 100Ht0_counter.usect.vars,1.bsst0_flag,1;.TIMERVEC.set200hTIM0.set0024hPRD0.set0025hTCR0.set0026hK_TCR0_SOFT.set0bK_TCR0_FREE.set0bK_TCR0_PSC.set1001bK_TCR0_TRB.set1bK_TCR0_TSS.set0bK_TCR0_TDDR.set1001bK_TCR0.setK_TCR0_SOFT|K_TCR0_FREE|K_TCR0_PSC|K_TCR0_TRB|K_TCR0_TSS|K_TCR0_TDDR.def _c_int00.defTimer0_Serv;.data;.text_c_int00:STM#stack+100H, SPSSBXINTMSTM#10H, 26HLD#0, DPCALLInit_TimerB$Init_Timer:;定时器初始化STM#0000H, SWWSRSTM#0010H, TCRSTM#39999, PRDSTM#0029H,TCRSTM#0008H,IFRSTM#0008H,IMRST#200, *(t0_counter)RSBXINTMRETTimer0_Serv: ;定时器中断服务函数PSHMTRNPSHMTPSHMST0PSHMST1ADDM#-1, *(t0_counter)CMPM*(t0_counter),#0BCstill_wait, NTCST#200, *(t0_counter)BITFt0_flag, #1BCxf_out,NTCSSBXXFST#0,t0_flagBstill_waitxf_out:RSBXXFST#1,t0_flagstill_wait:POPMST1POPMST0POPMTPOPMTRNRETE.end/向量文件.titlevectors.asm.ref_c_int00.refTimer0_Serv.sect.vectorsreset B _c_int00;每个中断向量占4个字的空间 NOP NOPnmi RETE;每个中断向量占4个字的空间 NOP NOPsint17 RETE;每个中断向量占4个字的空间 NOP NOPsint18 RETE;每个中断向量占4个字的空间 NOP NOPsint19 RETE;每个中断向量占4个字的空间 NOP NOPsint20 RETE;每个中断向量占4个字的空间 NOP NOPsint21 RETE;每个中断向量占4个字的空间 NOP NOPsint22 RETE;每个中断向量占4个字的空间 NOP NOPsint23 RETE;每个中断向量占4个字的空间 NOP NOPsint24 RETE;每个中断向量占4个字的空间 NOP NOP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年学历类自考专业(电子商务)电子商务与金融-计算机与网络技术基础参考题库含答案解析
- 2025年学历类自考专业(电子商务)-电子商务英语参考题库含答案解析
- 2025年学历类自考专业(法律)行政法学-公司法参考题库含答案解析
- 2025年学历类自考专业(法律)房地产法-税法参考题库含答案解析
- 2025年学历类自考专业(法律)国际经济法概论-婚姻家庭法参考题库含答案解析
- 照明器件驱动电路保护电路抗干扰设计考核试卷
- 农业机械化与农业现代化国际合作研究考核试卷
- 2025年学历类自考专业(护理)护理管理学-内科护理学(二)参考题库含答案解析
- 2025年计算机网络技术中级面试题集与解析
- 2025年学历类自考专业(护理)护理学研究-妇产科护理学(二)参考题库含答案解析
- 2025手机维修服务合同范本
- 藏文教学课件
- 血透室手卫生管理课件
- 风电场安全规程考试题库(附答案)
- DB11∕T 1205-2024 用能单位能源审计报告编制与审核技术规范
- 轨道工程制图教学课件
- 2025汽车智能驾驶技术及产业发展白皮书
- 苯职业病防护课件
- (高清版)DB11∕T 2442-2025 学校食堂异物管控规范
- 老年饮食健康课件
- 2025年江苏扬州中考历史试题及答案
评论
0/150
提交评论