The Source Recovery Service for UV produces 100% accurate, compilable UniVerse BASIC source code from
UniVerse BASIC object code.
News! We now perform DataStage BASIC
source recoveries using our new DataStage BASIC decompiler.
News! We now accept most major credit
cards. Earn rewards while you decompile. See the Submissions
page for additional information.
Updated Downloads!
Look in our downloads
area for the program that lets you report over 46 different aspects of UniVerse
BASIC program object code. We provide full source code ready to compile and
catalog on your system.

Has a program's source code been lost?
Are you fed up with using VLIST, trying to figure out what a program is
doing?
>VLIST BP LRC.2
Subroutine "BP.O/LRC.2"
Compiler Version: 9.6.1.3
Object Level : 5
Machine Type : 11
Local Variables : 6
Subroutine args : 2
Unnamed Common : 0
Named Common Seg: 0
Object Size : 170
Source lines : 14
00003 00000 : 0F8 move 0 => LRC
00004 00006 : 0F8 move 255 => NEGATIVE.LRC
00005 0000C : 0D0 len TEST.STRING => LENGTH
00006 00012 : 0F8 move 0 => I
00006 00018 : 098 forincr I LENGTH 1 00064:
00007 00024 : 0F0 mid TEST.STRING I 1 => $R0
00007 0002E : 17A seq $R0 => CHARACTER
00008 00034 : 194 sub 255 CHARACTER => NEGATIVE.CHARACTER
00009 0003C : 004 add LRC CHARACTER => $R0
00009 00044 : 0F6 mod $R0 256 => LRC
00010 0004C : 194 sub NEGATIVE.LRC NEGATIVE.CHARACTER => $R0
00010 00054 : 0F6 mod $R0 256 => NEGATIVE.LRC
00011 0005C : 0C2 jump 00018:
00012 00064 : 026 char LRC => $R0
00012 0006A : 112 oconv $R0 "MX0C" => $R1
00012 00072 : 026 char NEGATIVE.LRC => $R2
00012 00078 : 112 oconv $R2 "MX0C" => $R3
00012 00080 : 004 add LRC NEGATIVE.LRC => $R4
00012 00088 : 026 char $R4 => $R5
00012 0008E : 112 oconv $R5 "MX0C" => $R6
00012 00096 : 104 multi_cat $R1 " " $R3 " " $R6 => RESULT
00013 000A6 : 15C return
00014 000A8 : 15C return |
Do you want to recover the source code now? Wouldn't this be easier?
|
SUBROUTINE LRC.2.REB(RESULT,TEST.STRING)
LRC = 0
NEGATIVE.LRC = 255
LENGTH = LEN(TEST.STRING)
FOR I = 1 TO LENGTH
CHARACTER = SEQ(TEST.STRING[I, 1])
NEGATIVE.CHARACTER = 255 - CHARACTER
LRC = MOD(LRC + CHARACTER, 256)
NEGATIVE.LRC = MOD(NEGATIVE.LRC - NEGATIVE.CHARACTER, 256)
NEXT
RESULT = OCONV(CHAR(LRC), "MX0C") : " " : _
OCONV(CHAR(NEGATIVE.LRC), "MX0C") : " " :
_
OCONV(CHAR(LRC + NEGATIVE.LRC), "MX0C")
RETURN
END
|
Check out
the true stories for some of the reasons why companies need to recover source code.
With the SRS it is easy to get the
source code for any UniVerse BASIC program. If you're curious, see the FAQ
page for some common questions and answers.
You have come
to the right place if you want to recover missing UniVerse BASIC source code. Just follow the instructions on the submission
page and get your source code back. Fast.