.TITLE RAN - RANDOM NUMBER GENERATOR .IDENT /V0A/ .GLOBL RAN ; ROBERT WALRAVEN 1978 ; DEPARTMENT OF APPLIED SCIENCE ; UNIVERSITY OF CALIFORNIA DAVIS ; FUNCTION RAN ; ; USAGE ; X = RAN() ; ; METHOD ; THE GENERALIZED FEEDBACK SHIFT REGISTER METHOD IS USED WITH ; A PRIMATIVE POLYNOMIAL X**98 + X**27 + 1 TO GENERATE A ; NORMALIZED RANDOM NUMBER IN THE INTERVAL (0,1). THE CYCLE ; LENGTH BEFORE THE PATTERN REPEATS ITSELF IS 2**98-1 NUMBERS. ; EXECUTION TIME IS APPROXIMATELY 260 MICROSECONDS PER CALL. ; THIS FUNCTION HAS BEEN THOUROUGHLY TESTED FOR RANDOMNESS ; USING THE PROGRAM DESCRIBED IN THE REFERENCE. ; ; REFERENCE ; LEWIS, T.G. "DISTRIBUTION SAMPLING FOR COMPUTER SIMULATION" ; LEXINGTON, MASSACHUSETTS: LEXINGTON BOOKS, 1975. ; PHYSICAL SCI. LIB. Q 276.7 L4. ; ; PROGRAMMER: ROBERT WALRAVEN ; J: 0 K: 0. L: 98. SHIFT: 27. M: .WORD 5283.,9027.,29649.,17902.,27112.,17080.,2628. .WORD 15041.,23716.,22936.,9924.,24694.,9764.,22098. .WORD 15973.,10058.,15791.,4269.,4988.,5600.,9895. .WORD 29140.,9438.,12901.,4459.,4568.,32651.,15347. .WORD 5953.,17715.,31041.,5097.,8630.,1904.,32107. .WORD 30666.,30512.,1269.,24281.,9867.,29531.,12130. .WORD 10381.,27034.,20216.,28531.,5443.,16203.,9383. .WORD 3995.,10742.,12168.,2719.,25050.,23493.,20369. .WORD 14351.,29871.,28663.,31034.,26109.,32629.,9883. .WORD 23742.,18464.,27361.,27768.,11472.,5273.,8780. .WORD 25038.,21044.,24686.,8285.,19925.,22532.,22381. .WORD 28110.,25430.,3311.,10455.,13764.,494.,12050. .WORD 10723.,16496.,23998.,4905.,9832.,13183.,20579. .WORD 1287.,29843.,14365.,15025.,27377.,26009.,19133. RAN: INC J CMP J,L BLE RAN1 MOV #1,J RAN1: MOV SHIFT,K ADD J,K CMP K,L BLE RAN2 SUB L,K RAN2: MOV J,R2 ASL R2 MOV K,R0 ASL R0 MOV M-2(R2),R1 MOV M-2(R0),R3 XOR R3,R1 MOV R1,M-2(R2) BEQ ZERO MOV #201,R0 LOOP: ASL R1 BCS DONE DEC R0 BR LOOP DONE: SWAB R0 CLRB R0 SWAB R1 BISB R1,R0 CLRB R1 BISB #377,R1 ROR R0 ROR R1 RTS PC ZERO: CLR R0 RTS PC .END