Category : Assembly Language Source Code
Archive   : UNIVAC21.ZIP
Filename : UNIFLASH.ASM

 
Output of file : UNIFLASH.ASM contained in archive : UNIVAC21.ZIP
J 21
. PROGRAM 'UNIFLASH' - UNIvac 1108 impressive register FLASHer
.
. Copyright (c) 1994, Queen City Software, All Rights Reserved
.
. 2R1 - MC 1993 JUN 26 SAT - upgrade to take into account X-A register overlap}
. 1R3 - MC 1993 MAR 16 TUE - more left-to-right action
. 1R2 - MC 1990 JUL 13 THU - allow roller to
. 1R1 - MC 1990 JUN 26 TUE - initial version
.
. A0 - general accumulator
. A2 - shift count
. A3 - double shift register #1
. A4 - double shift register #2
. R0 - dayclock; used as randomization seed
. R1 - repeat count register
. R2 - masking register
. X11- general indexing register
.
. START
LA,U A0,1 . 1 = switch ON
ER DAYCLOCK$ . turn dayclock on
LXI,U X11,1 . X11 will be incremented by 1
LXM,U X11,1024 . scratch area starts at 1K
LA,U A2,1 . start off with 1 shift & increment
. LA,U A0,56 . breakpoint for new code
. ER SETBP$ 57 . break if coming up on new code
. REFRAIN
SR R0,600 . time must be retrieved from core
LA,S6 A0,600 . since reg -> reg xfer non-J-word
MI A0,600 . generic multiplier
SA A1,0,X11 . store LSW in scratch area
DLN A3,A0 . copy -(A0,A1) -> A3,A4 for LDSC
LDSC A3,A2 . screw A0,A1 around by R1 count
AA,U A2,1 . increment shift count for next time
LR,XU R2,-1 . do this so all bits of U flash
DAN A0,R2 . decrement A0,A1
LX X8,X11 . remove some bits from R2
AX X8,R2 .
SX X8,R2 .
MLU A3,0,*X11 . wait until here for X increment
DI,U A0,60 . if realtime DIV 60 remainder = 7
TE,U A1,7 . then do a global negation flash
J 57 . else repeat @ REFRAIN
DLN A0,A0 . Global Negation Flash
DLN A2,A2 .
LNA A4,A4 .
DLN A0,A0 . flashback
DLN A2,A2 .
LNA A4,A4 .
TOP A2,R0 . every other time or so...
DLN A0,A0 . leave negative
TEP A2,R0 . same as above
DLN A2,A2 .
LNA A4,A4 .
. SHIFTY .
LA A9,R0 .
DI,U A9,60 . if realtime DIV 60 remainder = 3
TE,U A1,3 . then do a multi-register shift
J 29 . else repeat @ REFRAIN
JZ A2,63 . skip shift A3 if zero
LA,U A11,33 . near-full-word shift
DSC A2,1 .
LNA A3,A3 .
JGD A11,63 .
JZ A2,68 .
JPS A2,67 . keep shifting until B35=1
JZ A3,70 . skip shift A1 if zero
JPS A3,69 . keep shifting until B35=0
TEP A2,A3 .
J 37 . SKIP 2ND SHIFT EVERY OTHER TIME
LA,U A12,27 . 3/4 word shift
DSC A3,2 .
LNA A3,A3 . ALTERNATELY NEGATE IT
JGD A12,73 .
J 37 .
ER EXIT$ .
END


  3 Responses to “Category : Assembly Language Source Code
Archive   : UNIVAC21.ZIP
Filename : UNIFLASH.ASM

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/