Digital PDFs
Documents
Guest
Register
Log In
DEC-12-FRZB-D
July 1970
11 pages
Original
0.4MB
view
download
Document:
CREF12
Order Number:
DEC-12-FRZB-D
Revision:
000
Pages:
11
Original Filename:
http://bitsavers.org/pdf/dec/pdp12/lap6-dial/DEC-12-FRZB-D_CREF12_Jul70.pdf
OCR Text
IDENTIFICATION Product Code: DEC-12-FRZB-D Product Name: CREF12 Date Created July 1, 1970 Maintainer: Software Services DEC-12-FRZB-D July, 1970 Copyright ~ 1970 by Digital Equipment Corporation The material in this handbook, including but not limited to instruction times and operating speeds, is for information purposes and is subject to change without notice. The following are trademarks of Digital Equipment Corporation, Maynard, Massachusetts: DEC FLIP CHIP DIGITAL PDP FOCAL COMPUTER LAB The equipment described herein is covered by patents and patents pending. For additional copies order DEC-12-FRZB-D from Program Library, Digital Equipment Corporation, 146 Main Street, Maynard, Massachusetts 01754 Price $1.00 1.0 INTRODUCTION In many situations of assembling, debugging, and modifying programs, a crossreference listing .is an invaluable aid. This listing is particularly useful when a programmer wis.hes to make changes in a large program or one he does not know well. A cross-reference· is an alphabetical listing of all user-defined symbols with the line numbers at which the symbol was defined and used. that a tagged location or an equated symbol i~ Thus, the various places used are easily identified. 1 CREF12 provides thi:s facili·ty to the DIAL-Ms . user. It should be noted that the usefulness of a CREF (CRoss-REFerence) is almost directly proportional. to the quality of the coding. In particular, the follow- ing principles should be used in new c6ding in order to make the best use of CHEF12: Use symbolic references for beta registers, auto-index registers, 1. page zero·constants and temporaries, and fixed core locations. 2. Avoid use of large displacements from a tag (e.g., TAD X+l2 or JMP Y-6) :because references to X and Y, respectively, rather than the locations actually used, will appear in the CREF. 2.0 ENVIRONMENT CREF12 (including its header) occupies seven blocks in the DIAL .file area of any unit. 2~91 3.0 It is loaded into locations 91 through 2777 of field 1 and is entered at in field T. USING CREF.12 CREF 12 is intended f.or use in conjunction with the LISTAPE pseudo-op of the DIAL-MS Assembler. LISTAPE (with a positive argument) produces a normal assembler listing :on a mass-storage device, rather than on.the console Teletype(R) or line printer. Th:e resulting data may then be processed by CREF12 to produce a full cross-refer.ence of user-defined symbols and, optionally, the assembly listing~ 'l'o use CREF12, insert a LISTAPE n pseudo-op in the program of interest, where n is an expression,whose value is R 1 between~ and 45, octal, and is taken as the Teletype is a regi:stered trademark of Teletype Corporation. LAP6-0IAL-MS is .commonly referred to as DIAL-MS. 1 unit number of a: scratch tape ing will be produced. (fl-7) or disk (1,0-45) on which the Assembler list- The user must exercise caution in assigninq units for LISTAPE because the listing information is written directly on the unit starting at block zero without regard to anything else that may be on '.the same unit. Therefore, unit n should be either a scratch tape or a logical disk devoted to scratch work. Typing return at any time (after answering the "LISTING [Y OR N]? 1' question causes CREF12 to return to DIAL-MS. 3. 1 Operating Pr·ocedures 1. Set all six sense switches on. Be sure the tape or disk unit assigned by the LIS~APE pseudo-op is ready and WRITE ENABLEd. 2. Assemble the program with the LIST Command (refer to the LAP6-DIAL Programmer's Reference Manual, DEC-12-SE2D-D). 3. If a printer is to be used for the CREF, it should be ready at this time . . When the Editor display returns, load CREF12 by typing ~LO CREF12,fl) 4. The following message is printed: UNIT #? Type an octal number between ~ and 45, followed by carriage return, for the unit on which the listing was written. 5. The next message is LISTING [Y ORN]? Type Y if the full assembly li$ting and CREF are desired; N if only the CREF is needed. Assuming the specified unit is available and ready, CREF12 will then read the listing (printing it if requested) and print the cross-reference table. output will be on a line printer if one is available and ready. Otherwise, it will be on the console teletype. 3.2 Error Conditions Under some conditions, CREF12 will not be able to produce the cross-reference desired. 1. If there were errors in the assembly, CREF12 may interpret the program incorrectly, or may even be unable to process it at all. In the latter event, it will print "BAD INPUT" and return to DIAL-MS. 2. If there is a large number of symbols and references, the crossreference table may overflow. In this case, CREF12 prints: SYMBOL TABLE OVERFLOW AT LINE XXXX where XXXX i:s the U~st line number processed. CREF12 then prints the cross-re!erehce up to that line, and returns to DIAL-MS. 'I'his problem ~ill arise if (NSYM*S + NREF) is greater than 4,094, wl'1ere NSYM is the number of user-defined symbols in the program, and NREF is the number of references to user-defined s~mbols. If t~ere are I?Ore than 818 10 symbols, this message will occur during the first pass, with XXXX equal to BBBB. CREF12 will print "BAD INPUT" and return to DIAL-MS. 3) If the unit specified by the user is invalid, the DIAL-MS I/O routines will display NO. The user may type r.eturn to get back to DIAL. If a program containing a LISTAPE pseudo-op is to be assembled without getting a CREF, use the normal assembly procedure with the sense switches off; this disables the LISTAPE function. 4.0 INTERNAL DESCRIPTION After reading the DIAL-MS I/O routines into 7S~S-7777 of field 1, CREF12 requests two parameters from the user: the unit from which to read the listing, and whether the listing is to be printed; CREF12 then begins its first pass over the data. The routine MAIN rewinds the input, initiali:zes counters, ---·------~--- and calls the subroutines GETLIN and ENDLST to get a line of input and check it for the sep~rator between the listing proper and the symbol table, respectively. ·1·nis separator is a line with one of two messages, "NO ERRORS" or "XXXX ERRORS". If the input runs .out (indicated by a word of zero) before the separator is found, the input is is terminated with ~he message "BAD INPUT". takes over and reads the symbol table. i~valid and processing If the separator is found, SYMBUILD Each symbol is stored in stripped ASCII form in field S, followed by two words of zero. When the end of data is found, control passes to PART2, which rewinds the input file. MAJOR calls GETLIN and ENDLST to get successive lines from the file and test for the end of the listing proper. After checking for the separator, MAJOR flows into SCAN, which collects a symbol at NAME, calls NSERCH to search the symbol table for it, and (if it finds the symbol) stores the line number with the symbol in field jf. Control returns to SCAN until either carriage return, slash, or "TEXT" .iE; found. Control then returns to .MAJOR to get a new line. When a separator is found, control transfers to DUMP, which prints a header, then reads each symbol from the file. Each symbol and its value are printed, followed by the line number at which the symbol was defined, and then the line numbers at which the references to it were made. Output is terminated, and control returns to DIAL-MS, when the end of the symbol table is found. 3 The functions of minor routines are as follows: BOP UP Maintains SYSCOUNT to keep track of field ~ utilization a~d issue the message "SY~..BO!.: TABLE OVERFLOW AT LINE XXXX" when the symbol table overflows. Called by SCAN when a reference is to be added to the. symbol table. CRLF · Go to a new line on the Teletype or line printer. GETBLK Get 8 blocks from the input file. Used by GETLIN when the input buffer is empty, and by MAIN and PART2 to rewind the input and read the first buffer load. GETC Obtain the next character from the current line and return it in CHAR and the AC. Used by many routines. GETLIN Get a line (a string of characters terminated by zero or line feed) from the input file. If LISTSW is non-zero, print it. I MOVE Move a block of data across field boundaries. to move a new entry into the symbol table. I PUSH Move a portion of .the symbol table down. Durinq SYMBUILD, the symbol table is built by pushing previous entries down to lower core addresses and entering each new symbol at the end of the list (at the top of field~). During SCAN, references to each symbol are stored following the symbol. IPUSH is called to make room for each entry. ISNUM Examine the first four characters of the current line. If not octal digits, return to P+l. Otherwise, convert them to binary, store binary at LINENO, and return to P+2. Called only by MAJOR. I ZERO Search the symbol table, starting at the location addressed by TEMP, for a word of zero. If none is found, return to P+l. Otherwise, return to P+2 with TEMP pointing to the zero. Called by NSERCH to look for the next symbol and by SCAN to find the end of the references to the current symbol. LIMIT Compare the value in the AC to two limits. If the AC is zero, return to address in P+3; if AC is out of limits, return to address in P+4. If AC is within the limits, return to P+S. Used by many routines. NSERCH Find the symbol table entry which matches the symbol at NAME. Return to P+l if no match is found, or to P+2 if successful. Called only by SCAN. POCTAL Print the value in the AC, converted to octal characters. Used by BOPUP to print the line number at which overflow occurs and by DUMP to print the cross-reference line numbers. PUTC Print one character on the output-device. TTY Print a character string. RETCHU Check. the keyboard flag and return to DIAL if return has been struck. Otherwise just clear AC. 4 Used by SYMBUILD HOW TO OBTAIN SOFTWARE INFORMATION Announcements for new and revised software, as well as programming notes, software problems, and documentation corrections are publi'shed by Software Information Service in the following newsletters. Digital Sohware News for the PDP-8 Family Digital Software News for the PDP-9/l S Family PDP-6/PDP- l 0 Software Bulletin These newsletters contain information applicable to software available from Digital's Program Library. Please complete the card below to place your name on the newsletter mailing list. ()uestions or problems concerning DEC Software should be reported to the Software Specialist at your nearest DEC regional or district sales office. In cases where no Software Specialist is available, please send a Software Trouble Report form with details or the problem to: Software Information Service Digital Equipment Corporation 146 Main Street, Bldg. 3-5 Maynard, Massad111setts 01754 These for111s, whirh art"availahlc without charge from the Program Library, should be fully filled out and accompanied by tl'ktype output as well as listings or tapes of the user program to facilitate a complete investigation. An answer will be sent to the individual and appropriate topics of ge·neral interest will be printed in the newsletter. New and revised software Lind manuals, Software Trouble Report forms, and cumulative Software Manual Updates arc availahk from the Program Library. When ordering, include the document number and a brief description of the program or manual requested. Revisions of programs and documents will be announl:ed in the newsletters and a pril:e list will be indudcc..I twice yearly. Direct all inquiries and requests to: Program Library Digital Equipment Corporation 146 Main Street, Bldg. 3-5 Maynard, Massachusetts 01754 Digital Fquipmcnt Computer Users Society (DECUS) maintains a user Library and publishes a catalog of programs as well as the DECUSCOPE magazine for its members and non-members who request it. For further information please write to: Dl~CUS Digital Equipment Corporation 146 Main Street Maynard, Massachusetts 0'1754 -·Sl'nd Digital's softwarl' newsletters to: Name _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ Company Name _ _ _ _ _ _ _ _ _ _ _ _ __ Address _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ (zip code) My computer is a PDP-8/I 0 PDP-8/L 0 LINC-8 PDP-9 PDP-12 0 0 0 PDP-15 0 PDP-IO 0 OTHER 0 My system serial number is _ _ _ _ _ _ _ _ _ _ _ (if known) Please specify ------- - - - - - - - - - - - - - - - - - - - - - - - ~- - - - - - Fold Here - - - - - - - - - - - - - - - - - - - - - - Do Not Tear - Fold Here and Staple - - - - - - - - - - - - - FIRST CLASS PERMIT NO. 33 MA YNARO, MASS. HUSINl'SS REPLY MAil. NO POSTAGE STAMP NECESSARY If MAILED IN THF UNITED s·1 A'I FS Po~tage will be paid by: ~nmnama Digital Equipment Corporation Software Information Services 146 Main Street, Bldg. 3-5 Maynard, Massachusetts .0175., ii WH - CREF12 READER'S COMMENTS DEC-12-FRZ.8-D Digital Equipment Corporation maintains a· continuous effort to improve the quality and usefulness of its publications. To do this effectively we need user feedback - your critical evaluation of this manual. Please comment on thi$ manual's completeness, accuracy, organization, usability, and readability. How can this manual be i m p r o v e d ? - - - - - - - - - - - - - - - - - - - - - - - - - - - - DEC also strives.to keep its customers informed of current DEC software and publications. Thus, the following period· ically distributed publications are available upon request. Please check the appropriate boxes for a current ,jssue of the publication(s) desire~: 0 Software Manual Update, a quarterly collection of revisions to current software manuals. 0 User's Bookshelf, a bibliography of current software manuals. 0 Program Library Price List, a list of currently available software programs and manuals. Name - - - - - - - - - - - - - - - Organization Street - - - - - - - - - - - - - - - Department - - - - - - - - - - - - - - - - - City ___________ S t a t e - - - - - - - - - - - - - - Zip or Country _ _ _ __ •.•......•........•.......•...•..... ;.·................................................... rold Herc ......................................................................................... . ........................................ ..................................... Do Not Tear · Fold Here and Staple ............................................................... .. FIRST CLASS PERMIT NO. 33 MAYNARD, MASS. BUSINESS REPLY MAIL NO POSTAGE STAMP NECESSARY IF MAILED IN THE UNITED STATES Postage will be paid by: mamnama Digital Equipment Corporation Software Information Services 146 Main Street, Bldg. 3-5 Maynard, Massachusetts 01754 Digital Equipment Cbrpdradon Maynard, MassachusettiS printed in U.S.A. mnmnama
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies