uran_c3x.asm

来自「用dsp解压mp3程序的算法」· 汇编 代码 · 共 23 行

ASM
23
字号
******************************************************************
*  uran_c3x.asm : C3x assembly implementation of random generator
*                 in Section 5.2.7.1
*
******************************************************************

      LDI     SEED,R4       ; load SEED of white noise generator
      STI     R4,@WN        ; R4 -> WN
START LDI     @WN,R0        ; x(n-1) -> R0
      MPYI    @S2045,R0     ; 2045 * R0 -> R0
      ADDI    1,R0          ; R0 + 1 -> R0
      LDI     R0,R1         ; R0 -> R1
      FLOAT   R1,R1         ; convert R1 to floating point
      MPYF    @S1048576,R1  ; R1 * (1/1048576) -> R1
      FIX     R1,R1         ; convert R1 to integer value
      MPYI    @SS1048576,R1 ; R1 * 1048576 -> R1
      SUBI    R1,R0         ; R0 - R1 -> R0
      STI     R0,@WN        ; store new x(n) for next iteration
      ADDI    1,R0          ; R0 + 1 -> R0
      FLOAT   R0,R0         ; convert R0 to floating point
      MPYF    @S1048577,R0  ; R0 * (1/1048577) -> R0
      SUBF    @M05,R0       ; R0 - 0.5 -> R0 = r(n)

⌨️ 快捷键说明

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