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

📄 rand.asm

📁 CHP 3 - Real-Time Digital Signal Processing: Implementations and Applications, Second Edition by Sen
💻 ASM
字号:
;                                              
;  Project: Experiment 3.6.6.5 Real Time Signal Generation - Chapter 3  
;  File name: rand.asm   
;
;  Description: 12-bit with mod 20 random number generator
;
;  For the book "Real Time Digital Signal Processing: 
;                Implementation and Application, 2nd Ed"
;                By Sen M. Kuo, Bob H. Lee, and Wenshun Tian
;                Publisher: John Wiley and Sons, Ltd
;
;    Entry:  None 
;    Return: T0 = rand()         
;
;    15 cycles
;    
;
;  Tools used: CCS v.2.12.07
;              TMS320VC5510 DSK Rev-C
;
	
	.mmregs

    .bss  _n,2,0,2           ; long  n
    .bss  _a,1,0,0           ; short a

    .def  _initRand
    .def  _randNumber

	.sect	".text"	
_initRand:
    mov   AC0,dbl(*(#_n))    ; n = (long)seed; 
    mov   #2045,*(#_a)       ; a = 2045;
    ret

_randNumber:
    amov  #_n,XAR0
    mov   *(#_a),T0
    mpym  *AR0+,T0,AC0       ; n = a*n; 
    mpymu *AR0-,T0,AC1       ; (this is an integer 32x16 multiply)
    sfts  AC0,#16
    add   AC1,AC0
    mov   #0xFFFF<<#16,AC1   ; n = n&0xFFFFF000; 
    or    #0xF000,AC1 
    and   AC0,AC1 
    mov   AC1,dbl(*AR0)  
||  sfts  AC1,#-20,AC0       ; ran = (short)(n>>20); 
    mov   AC0,T0             ; return (ran); 
    ret

    .end
 

⌨️ 快捷键说明

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