📄 uran_c3x.asm
字号:
******************************************************************
* 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -