===== UNMAC ===== Robert Walraven University of California Applied Science Davis, CA 95616 (916)752-3300 UNMAC is a FORTRAN program to convert an RT-11 object file into a source or listing file. Object files are much more useful to decode then SAV files because they contain information such as subroutine names, variable names, psect info, etc. You will be suprised at how similar the output of UNMAC looks to hand coding. This version of UNMAC has not been modified in over a year, and will probably not be improved for some time. If I get a chance I may try fixing some minor problems for Fall Decus. This distribution contains complete sources and a command file for building UNMAC. The file UNMAC7.SAV is an executable version that was built with the FORTRAN-77 compiler. If you have a floating point processor, you should be able to run this file directly. If it doesn't run, use UNMAC.BLD to build a working version on your system. UNMAC has an interesting internal diagnostic procedure built into it. If you want to build a diagnostic version, execute the command file UNMACD.BLD. NOTES ON USAGE: 1. Be sure to specify the extension .OBJ for the input file. 2. If data and instruction attributes were not assigned correctly in the original source, then the output of UNMAC will not be of use, because UNMAC treats data and instruction psects differently: for data psects only the octal code is output (with ASCII and RAD50 translations as comments), while for instruction psects code is always output. In some cases, if a minor amount of data is mixed into an instruction psect, you will be able to correct the output source by inspecting the code and editing appropriately. 3. In some cases compilers do a strange thing: they output a 0 word in a section of code, then go back later with a relocation assignment to fill in the missing value. The BLISS compiler and the FORTRAN-77 both like to use this trick. If this occurs, you will have to do a little editing to fix things up. A future release of UNMAC may fix the code up automatically. 4. You may have some objects that are too big for UNMAC to handle. This is because UNMACs internal tables are maintained completely in memory and may overflow. A future release may maintain data bases on disk.