⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 random.dsp

📁 作者:Analog Devices,Inc 平台:ADSP21xx 编程语言:ASM 说明:ADSP21xx用AD的16位定点DSP作音频压缩器性价比不错
💻 DSP
字号:
.module/boot=3/boot=4           random;

{ RANDOM.DSP - Random number function. 

  INPUT :  
    sr1 = msw of seed
    sr0 = lsw of seed

  OUTPUT:  for best result use ONLY sr1 as random number 
    sr1 = msw of new seed between 0 and 2^32
    sr0 = lsw of new seed
    
  FUNCTIONS CALLED:
    None

  DESCRIPTION:
  The function (taken from the APPS handbook) implements 
      
      x(n+1) = (a*x(n) + c) mod m

      m = 2^32    a = 1,664,525   c =  32767

}

.entry noise_rand;

noise_rand:
  my1 = 25;                           {upper half of a}
  my0 = 26125;                        {lower half of a}
  mr = sr0*my1 (uu);                  
  mr = mr + sr1*my0 (uu);             {a(hi)*x(lo)}
  si = mr1;                           {a(hi)*x(lo) + a(lo)*x(hi)}
  mr1 = mr0;
  mr2 = si;
  mr0 = 0xfffe;                       {c = 32767, leftshifted by 1}
  mr = mr + sr0*my0 (uu);             { (above) + a(lo)*x(lo) +  c}
  sr = ashift mr2 by 15 (hi);
  sr = sr or lshift mr1 by -1 (hi);   {right shift by 1}
  sr = sr or lshift mr0 by -1 (lo);
rts;

.endmod;

⌨️ 快捷键说明

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