rand_gen.asm

来自「Practical DSP Applications in Communicat」· 汇编 代码 · 共 27 行

ASM
27
字号
;
;   rand16_gen.asm - random number generator
;   generates 16-bit wordlength zero-mean random numbers
;	                                        
;   Prototype: int rand16_gen(int *)
;	                           
;   Entry:  arg0 - AR0 pointer to seed value
;   Return: T0 - random number

C1  .equ  0x6255
C2  .equ  0x3619

    .def  _rand16_gen 
	
    .sect "rand_gen"		
_rand16_gen      
    mov   #C1,T0
    mpym  *AR0,T0,AC0   ; seed=(C1*seed+C2)  
    add   #C2,AC0 
    and   #0xffff,AC0   ; seed%=0x8000  
    mov   AC0,*AR0
    sub   #0x4000,AC0   ; Zero mean white noise
    mov   AC0,T0    
    ret

    .end

⌨️ 快捷键说明

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