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

📄 pn_gen.asm

📁 Practical DSP Applications in Communications Real-Time Digital Signal Processing Implementations,
💻 ASM
字号:
;
;   pn_gen.asm - PN pseudo number generator
;   generates 16-bit wordlength zero-mean random numbers
;	generator polynomial: x^-15+x^-11+x^-2+1
;
;   Prototype: int pn_gen(int *)
;	                           
;   Entry:  arg0 - AR0 pointer to the shift register
;   Return: T0 - random number

BIT15 .equ  0x8000 
BIT11 .equ  0x0800 
BIT2  .equ  0x0004 
BIT0  .equ  0x0001 

    .def  _pn_gen 
	
    .sect "rand_gen"	
_pn_gen      
    mov   *AR0,AC0             ; Get register value
    bfxtr #(BIT15|BIT2),AC0,T0 ; Get bit 15 and bit 2
    bfxtr #(BIT11|BIT0),AC0,T1 ; Get bit 12 and bit 0
	sfts  AC0,#1                
||  xor   T0,T1                ; XOR all bits
    mov   T1,T0                
    sfts  T1,#-1               
	xor   T0,T1                ; Final XOR
    and   #1,T1 
	or    T1,AC0               
	mov   AC0,*AR0             ; Update register
    sub   #0x4000,AC0,T0       ; Zero mean white noise
||  ret

    .end

⌨️ 快捷键说明

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