fm2.asm

来自「信号调制中的AM调制方法在DSP5402上面的实验」· 汇编 代码 · 共 110 行

ASM
110
字号
           .title "fm.asm"
           .mmregs
		   .def start 
		   .bss sin25p,1 
		   .bss sinstp,1
		   .bss sin25p1,1
		   .bss sinstp1,1
		   .bss sin25p2,1
		   .bss sinstp2,1
		   .bss x0,1
		   .bss x1,1
           .bss c0,1
           .bss s0,1
           .bss c1,1
           .bss s1,1
K          .word 8*32768/10
y0         .usect "DATA",600
y1         .usect "DATA",600
y          .usect "DATA1",600
size       .set  100
stack       .usect "STK",size		   
		   .text 
start:     SSBX FRCT   
           LD #sin25p,DP
           STM #stack+size,SP              
           ST #0,sin25p2
		   ST #1*128/80,sinstp2
		   STM #y0,AR2
		   STM #500,AR1
ZOO:       LD  sin25p2,A      ;产生sinx
           ADD sinstp2,A 
           AND #07Fh,A
		   STL A,sin25p2
		   ADD #sintab,A    
		   READA *AR2+
		   BANZ ZOO,*AR1-
		   STM #y0,AR3     
           
		   ST #0,x0
		   STM #x0,AR4
		   ST #0,sin25p 
		   ST #0,sin25p1
		   ST #20*128/80,sinstp
           STM #y,AR2
		   STM #y1,AR5
		   ;STM #s1,AR6
		   STM #y0,AR7
           STM #500,AR1 
loop:      LD sin25p,A      ;产生载波
           ADD sinstp,A 
           AND #07Fh,A
		   STL A,sin25p
		   ADD #sintab,A    
		   READA s0           ;sinx
		   LD sin25p,A
		   ADD #32,A
		   AND #7FH,A
		   ADD #sintab,A
		   READA c0          ;cosx
 
           CALL SIN
		   LD sin25p1,A      ;产生调制信号
           ADD sinstp1,A 
           AND #07Fh,A
		   STL A,sin25p1
		   ADD #sintab,A    
		   READA s1            ;sinx
		   LD sin25p1,A
		   ADD #32,A
		   AND #7FH,A
		   ADD #sintab,A
		   READA *AR5           ;cosx
         
           LD s0,T
		   MPY s1,A
		   STH A,x1
		   LD c0,T
		   MPY *AR5+,A
		   ;STH A,*AR4
		   SUB x1,A
           ;SUB *AR7+,16,A
		   STH A,*AR2+
		   BANZ loop, *AR1-
here:      B  here
SIN:       ADD *AR3,*AR4,A
           MVDD *AR3+,*AR4
           STH  A,T
           MPY  #K,A
           STH  A,sinstp1
           RET  
		   .data
sintab:    .word 00000H,00648H,00C8CH,012C8H,018F9H,01F1AH,02528H,02B1FH
		   .word 030FBH,036BAH,03C56H,041CEH,0471CH,04C3FH,05133H,055F5H
		   .word 05A82H,05ED7H,062F1H,066CFH,06A6DH,06DC9H,070E2H,073B5H
		   .word 07641H,07884H,07A7CH,07C29H,07D89H,07E9CH,07F61H,07FD8H
           .word 07FFFH,07FD8H,07F61H,07E9CH,07D89H,07C29H,07A7CH,07884H
           .word 07641H,073B5H,070E2H,06DC9H,06A6DH,066CFH,062F1H,05ED7H
		   .word 05A82h,055F5H,05133H,04C3FH,0471CH,041CEH,03C56H,036BAH
		   .word 030FBH,02B1FH,02528H,01F1AH,018F9H,012C8H,00C8CH,00648H
		   .word 00000H,0F9B8H,0F374H,0ED38H,0E707H,0E0E6H,0DAD8H,0D4E1H
		   .word 0CF05H,0C946H,0C3AAH,0BE32H,0B8E4H,0B3C1H,0AECDH,0AA0BH
		   .word 0A57EH,0A129H,09D0FH,09931H,09593H,09237H,08F1EH,08C4BH
		   .word 089bfh,0877ch,08584h,083D7H,08227H,08164H,0809FH,08028H
		   .word 08001H,08028H,0809FH,08164H,08277H,083D7H,08584H,0877CH
		   .word 089BFH,08C4BH,08F1EH,09237H,09593H,09931H,09D0FH,0A129H
		   .word 0A57EH,0AA0BH,0AECDH,0B3C1H,0B8E4H,0BE32H,0C3AAH,0C946H
		   .word 0CF05H,0D4E1H,0DAD8H,0E0E6H,0E707H,0ED38H,0F374H,0F9B8H
		   .word 00000H

           .END

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?