Digital PDFs
Documents
Guest
Register
Log In
DEC-08-ESAB-D
December 1970
38 pages
Original
1.1MB
view
download
Document:
EDITOR Man
Order Number:
DEC-08-ESAB-D
Revision:
Pages:
38
Original Filename:
https://svn.so-much-stuff.com/svn/trunk/pdp8/src/dec/dec-08-esa/dec-08-esab-d.pdf
OCR Text
PDP-8 SYMBOLIC EDITOR PROGRAMMER’S REFERENCE MANUAL For addifional copies, order No. DEC-08-ESAB-D From Program Digital Equipmenf Corporation, Maynard, Mass. DIGITAL EQUIPMENT CORPORATION 0 Library, Price: $2.00 MAYNARD, MASSACHUSETTS 1st Printing May 1966 2nd Printing March 1967 3rd Printing (Rev) June 1967 4th Printing (Rev) November 1967 5th Printing February 1968 6th Printing July 1968 7th Printing January 1969 8th Printing August 1969 9th Printing March 1970 Your attention is invited to the last two pages of this manual. The Reader's Comments page, when Filled in to both you and DEC. All and returned, is beneficial comments received are considered when documenting subsequent manuals, and when assistance is required, a knowledgeable DEC representative will contact you. The Software Information page offers you a means oF keeping up-to—date with DEC's software. Copyright © 1966, 1967, 1968, 1969, 1970 by Digital Equipment Corporation The material in this manual is for informa— tion purposes and is subject to change without notice. The Following are trademarks of Digital EquipMaynard, Massachusetts: ment Corporation, DEC PDP FLIP CHIP FOCAL DIGITAL COMPUTER LAB CONTENTS SECTION 1 OPERATING FEATURES Modes of Operation . Transition Between Modes . Command Structure Special Characters and Functions _| Carriage Return (Anonprinting) Maw—9:)- Emsa (CT/ZL/U nmfr‘in'fingi Rubout (\) ~ooxib~m4>wm ._.-.—I._a_n (JON—'0 Form Feed (CTRL/FORM nonprinting) Period ( . ) Slash (/) Line Feed N nonprinting) ALT Mode (ALT nonprinting) Left Angle Bracket (>) Equal Sign ( 2) Colon ( : ) Blank Tape and Leader/Trailer Tabulation (—DI nonprinting) Switch Register-Options SECTION 2 COMMAND REPERTOIRE _| Input Commands NNN (AJNN Output Commands List Commands Punch Commands Editing Commands ... Ill CONTENTS (cont.) SECTION 3 OPERATING PROCEDURE 3.1 Loading Sequence 3—1 3.1.1 Loading the Binary Loader 3—1 3.1.2 Loading the Symbolic Editor with the Binary Loader 3—2 3.1.3 Loading a Symbolic Tape Using the Editor 3—2 3.2 Editing a Symbolic Tape 3—2 3.2.] Error Messages 3—3 3.3 Punching the Corrected Symbolic Tape 3—3 3.4 Example of Use 3-4 APPENDIX A SUMMARY OF SYMBOLIC EDITOR OPERATIONS Al Special Key Functions Al-l A2 Switch Options Al—2 A3 Command Summary AI-2 A4 References Al—3 ILLUSTRATIONS 3—] Program Listing of Addition Routine 3-4 INTRODUCTION The PDP—8 Symbolic Editor allows the user to prepare and edit symbolic tapes on-line in ASCII code with the Teletype and/or high-speed reader/punch. program tapes using the Teletype oft—line is thereby avoided. can The tedious task of correcting symbolic Proper use of the PDP—8 Symbolic Editor substantially ease the labor and reduce the number of passes necessary to correct symbolic program tapes. The Editor reads a page, or section, of symbolic tape into a butter in core storage, where it is available for examination and correction. The page butter occupies all of core not taken up by the Editor itself and has a capacity of approximately 500010 characters. When the Editor has finished reading a page into the buffer, a bell rings to signal the user that he may begin editing. The user may then call for a listing of individual rections. (numbered) lines, in any order, and insert desired changes and cor— In addition, text may be added to the buffer, or inserted between specified lines. of lines or individual lines may be moved or deleted by a single command, erased if desired. or Groups the entire page may be Upon command, the Editor will then either list or punch out the corrected lines or page on paper tape. The Editor can also be used to generate a new symbolic tape by typing new text directly on the console keyboard. SECTION I OPERATING FEATURES By convention, paper tape information is organized into lines, in variable sized blocks, called pages. Pages are separated on paper tape by ASCII form feed codes, and lines are separated by carriage return/line feed pairs. or A page of text may contain about 60 lines of heavily commented text, approximately 500010 characters; it can hold about 340 lines without comments or formatting. line of text includes the terminating carriage return/line feed combination. are implicitly numbered in decimal notation starting with I. This Each All lines in the text buffer implicit enumeration is continually updated by the Editor to take account of line insertions, moves and deletions. For editing and listing purposes, each line is referred to by its current implicit decimal number on the page. Since the form feed code is not stored in core memory, there are no page divisions in the text buffer; the entire contents of the buffer are treated as a single page. contents of the text 1.] The user may output the buffer as several pages, however. MODES OF OPERATION To distinguish between editing commands and the actual text to be entered in the buffer, the Editor operates either in command mode or text mode. In command mode all will be interpreted as commands to the Editor to perform some operation, perform some operation, on the text stored in the buffer. as text to I .I .1 or In text mode, all input typed on the Teletype to allow the operator to typed input is interpreted replace, be inserted into, or to be appended to the contents of the text buffer. Transition Between Modes After being loaded into core memory the Editor is in command mode; that is, the program is waiting for a command. The user types the desired command code and terminates it by striking the carriage return (RETURN) key. This nonprinting character (hereafter represented by A ) tells the Editor to carry out the command. The Editor then enters text mode and responds with a line feed character (represented by l) as soon as it has processed the command and begun the operation. With the Editor in text mode, the user types the desired corrections or insertions to his text. To terminate the text he enters a form feed command mode. I .2 (CTRL/FORM combination) to tell the Editor to return to The Editor answers by ringing a bell to indicate the transition back to command mode. COMMAND STRUCTURE A command directs the Editor to perform a desired operation. single letter, preceded by zero, one, two or three arguments. I-I Each command consists of a The command letter tells the Editor what to do; the arguments usually specify which numbered line or lines of text are affected. arguments consist of special characters, see section 1 .3). the (Some Commands to the Editor must take one of following forms, where E represents any command letter and the symbol) represents the nonprinting character for carriage return (RETURN key). Command Format Type of Command i nE i Perform operation E E No Argument One Argument Meaning Perform operation E on the referenced line m,nE ; Two Arguments Perform operation E on lines m through n, m,n$iE ; Three Arguments . inclusive. Used by MOVE command only. The arguments m and n, which refer to numbered lines in memory, must be positive and 2 must be greater than 2. Two arguments must be separated by a comma, but no comma is allowed between the argu- ment(s) and the command. Note also that in order to be executed a command must be followed by a carriage return (A). SPECIAL CHARACTERS AND FUNCTIONS 1.3 A number of keys have special operating functions. are These keys and their associated functions The nonprinting characters are noted; the symbols for these are shown in parentheses. listed below. All other echo the character in parentheses. Carriage Return (finonprinting) l.3.l In both command and text modes, to process the information just typed. just typed. = which needs no CR). entered in the text buffer. l.3.2 In command mode, it allows the Editor to execute the command A command will not be executed until it is terminated by striking the RETURN the exception of return striking the carriage return key (RETURN) signals the Editor key (with In text mode, it causes the line of text which it follows to be A typed line is not actually part of the buffer until terminated by a carriage . Back Arrow ( 4-- The back arrow ( used in text mode, <— ) <— ) is used for error recoveries in both command and text modes. When cancels everything to the left of itself back to the beginning of the line. The user then continues typing on the same line. When used in command mode, 4-— cancels the entire command and the Editor issues a "?" and a carriage return/line teed not (CR/LE). Back arrow can- cancel past a CRl/LF in either command or text mode. A 4—— THIS ? <—* (CR/LF) "HERE IS A TEXT MODE EXAMPLE” (CR/LE) only the part in quotes is entered in the butter Rubout (\) i.3.3 Rubout (\) is also used in error recovery in both command and text modes with one exception. When executing a READ command from either the paper tape or Teletype reader, rubouts are ignored completely and do not go into the butter. It is necessary for the READ command to disable the rubout function since all tab characters on not paper tape are, For timing purposes, followed by rubouts which would destroy the tabs. stored in the text butter but are inserted Rubouts are by the Editor Following all tab characters on the output tape. At any other time in text made (specifically it text mode was entered via the APPEND, CHANGE, INSERT or SEARCH command) typing rubout echoes a back slash (\ ) and deletes the last typed character. Repeated rubouts delete from right to left up to, but not including the CR/LF combination, separating the current line from the previous one. Example: THE QUUICK\\\\ ICK BROWN FOX (CR/LF) will be entered in the buffer as THE QUICK BROWN FOX When used in command mode, rubout is equivalent to back arrow and cancels the entire command. The Editor then issues a "’?" and a CR/LF combination. 1 .3.4 Form Feed (CTRL/FORM nonprinting) Form teed signals the Editor to return to command mode. by depressing and holding the CTRL key and hitting the FORM key. A form teed character is generated This combination is typed while in text mode to indicate that the desired text has been entered and the Editor should now return to command mode. The Editor rings a bell in response to a CTRL/FORM to indicate the transition back to command mode. sound. It the Editor is already in command mode when CTRL/FORM is typed, no bell will CTRL/BELL is equivalent to CTRL/FORM except in the case of a SEARCH command (see editing commands). 1—3 Period(.) 1.3.5 The Editor keeps track of the implicit decimal number of the line on which it is currently operating. At any given time the symbol argument to a command. Example: period ( . ) stands for this number and may be used as an .L A means list the current line. .—l , .+l L ; means list the line preceeding the current line, the current line, and the line following it. After a READ or APPEND command, the current line counter ( line in the buffer. line entered. mand, ( is 0. . After an INSERT or CHANGE command, After a LIST command, ( . . ) is equal to the number of the last ) is the number of the line immediately before the deletion. After (:1 GET command, ( . the command ) is the number of the last ) is the number of the last listed line. . After a DELETE com— After a KILL command, ) is the number of the line typed by the GET. SEARCH command the current line counter ( 1.3.6 ( . ( . ) After 0 MOVE or ) is not updated and remains at whatever it was before . Slash (/) The symbol slash (/ ) has a value equal to the decimal number of the last line in the buffer. It may also be used as an argument to a command. Example: lO,/LA means list from line 10 to the end of the buffer. 1.3.7 Line Feed (1 nonprinting) Commands are terminated by a carriage return/line feed (CR/LE) combination and the lines on each page of text are separated by a CR and LF. ever, to terminate a command or The user need only strike the RETURN key, how— input line, since the Editor automatically generates a line feed to follow each carriage return. On input from paper tape, line feed characters are completely ignored. On output the Editor automatically punches a line feed following each carriage return. Typing a line feed while in command mode is equivalent to typing " .+l Ll the Editor to type out the line following the current one and increment the value of ( i .3.8 " . and will cause ) by one. ALT Mode (ALT nonprinting) Hitting the ALT mode key (ALT) while in command mode will also cause the line following the current line to be typed out and ( line in the buffer, . ) to be incremented by one. If the current line is also the last typing either ALT mode or Line Feed will be answered by a "?" from the Editor in— dicating there is no "next" line. Some Teletypes have an The function is identical for Escape or ALT mode. Escape (ESC) key in place of the ALT mode. Left Angle Bracket (<) l.3.9 Typing Left Angle Bracket (< ) while in command mode is equivalent to typing and will of( . cause the Editor to echo < and then type out the line preceding the current line. " .—l L a “ The value ) is decreased by one so that it still refers to the last line typed out. Equal Sign(:) 1.3.10 Equal Sign is used in conjunction with the pointers period ( . )and slash (/ ). When typed in command mode it causes the Editor to print out the decimal value of the argument preceding it, In this way the number of the current line may be found followed by a CR/LF. ( .:X_X§) or the total number of lines in the buffer (/=fl) or the number of some particular line (/—8=_)_(l<§) may be deter— mined without counting from the beginning. Colon(:) l.3.ll Colon is a lower case character with exactly the same function as (= ). Blank Tape and Leader/Trailer l.3.l2 Both Blank Tape and are Leader/Trailer (code 200) are completely ignored on an input tape as line feed characters and rubouts. necessary on output, blank tape and l.3.l3 Tabulation ( —-H Line feeds and rubouts are automatically replaced wherever leader/trailer are not. nonprinting) The Editor is written in such a way as to simulate “tab stops" at ten space intervals across the carriage. tion. When the user holds the CTRL key and strikes the TAB key the Editor A tabulation consists of from one to ten spaces, produces a tabula- depending on the number needed to bring the carriage to the next tab stop. Thus the user may use the Editor to produce neat columns on the hard copy. This tab function is attached to two switch register options (one for input, one for output) to allow the user to produce and control tabulations in the text buffer during input and output operations On input (under a READ command) the Editor can replace a group of two or (see Switch Options). more spaces with a tabulation if the user chooses to set bit 0. On output it will produce either a tab character followed by a rubout (for timing purposes) or enough spaces to reach a ”tab stop", on the setting of bit l . depending The Editor cannot output tab characters unless tabulations have been entered in the buffer either from the keyboard or through setting bit 0 on input. NOTE: Location 0002 contains the negative of spaces used to simulate "tab stops" . (2's complement) of the number To change the tabulation simply change the constant in location 0002 after loading the Editor. I .4 SWITCH REGISTER OPTIONS The Editor uses five switches in conjunction with the actual control the reading and punching of paper tape. command before it finishes. input and output commands to It is sometimes desirable to be able to interrupt a For example, if the user mistakenly gave a LIST command in place of a PUNCH command, he does not wish to wait for the Teletype to list a large section of text. Bit 2 allows him to interrupt any output command and return immediately to command mode. Bit 0 Action and Explanation Position 0 Read the input tape exactly as it is. I Read the input tape taking note of spaces. Each time two or more successive spaces are found, substitute in the buffer a tabulation for that whole group of spaces. This option affects only the READ com- mand. l 0 On punching (or listing) text from the buffer, tabulations are to be interpreted as an appropriate number of spaces. l Tabulations are interpreted as a tab character followed by a rubout (211/377). 2 Normal operation. I Suppress output. If at any time during execution of an output command this switch is set to I, the output will cease and the Editor will return to command mode in a few seconds. to continue IO ll All output commands completed as specified. 0 The switch should then be set to 0 using the Editor. All punching will be done via the Teletype punch. 0 Low speed output. I High speed output. All punching will be done via the high speed punch. 0 Low speed input. The READ command expects the source tape to be in the Teletype reader. High speed input. reader. DO NOT use the APPEND command to read tapes. The source tape will be read from the photoelectric SECTION 2 COMMAND REPERTOIRE Commands to the Editor are grouped under three general headings: Input Commands Output Commands Editing Commands Explanation of the three types of commands is given in the following sections. Each com— mand description will state if the Editor returns to the command mode after completing the operation specified by the command. The Editor will print an error message consisting of a question mark whenever the user has requested nonexistent information or used an inconsistent or incorrect format in typing a command. For example, if a command requires two arguments, and only one (or none) is provided, the Editor will print "’3", issue a carriage return and line feed, and ignore the command as typed. nonexistent command character is typed, the error message ”?" will be typed, line feed issued and the command will be ignored. a Similarly, if a carriage return and However, if an argument is provided for a command that does not require one, the argument will be ignored and the normal function of the command performed. Examples: Explanation Message L K The buffer is empty. ? ) nonexistent information. 7,5L } The arguments are in the wrong order. '3; The Editor cannot list backwards. l7$iOM§ ? } This command requires two arguments before the “$", H ) The user is asking for only one was provided. Nonexistent command letter. ? l 2.] INPUT COMMANDS Command R) Action and Explanation _R'EAD a page of text from the paper tape reader. Depending on the position of switch register bit H (SR ll) reading will be done from either the photoelectric or the Teletype reader. The Editor will read information from the input tape until a form feed character (CTRL/FORM key combination) is detected. All incoming text except the form feed is appended to the contents of the text buffer. Information already in the buffer remains there. 2—] In the case of input via the photoelectric reader, the end of the tape will be interpreted as a form feed and the Editor returned to command mode, if an actual form feed character does not appear on the tape. of input via the Teletype reader, a In the case form feed must be entered via the keyboard to return the Editor to command mode if an actual form feed character does not appear on the tape. If this is no.L done, the READ command is still in effect and all subsequent commands will be interpreted erroneously as text and appended to what was iust read from tape. Any rubout encountered during a READ command will be ignored. (See RUBOUT) A; APPEND the incoming text from the teleprinter keyboard to the informa— tion already in the buffer (the buffer may be empty initially). The Editor will enter the text mode upon receiving this command and the user may then type in any number of lines of text. to The new text will be appended the information already in the buffer, if any, until the form feed (CTRL/FORM) key combination is struck. By giving the APPEND command with an empty buffer, a symbolic program tape may effectively be generated on—line by entering the program via the keyboard. Any rubout encountered during execution of an APPEND command will actually delete the last typed character. Repeated rubouts will detele from right to left up to, but not beyond the beginning of the current line. The APPEND command must not be used to read paper tapes from the Teletype reader since every rubout on the tape will detele a character. NOTE: In both of these commands, the Editor returns to the command mode only after the form feed character. 2.2 OUTPUT COMMANDS Output commands are subdivided into list and punch commands. List commands will cause the printout on the Teletype of all or any part of the contents of the text buffer to permit examination Punch commands provide for the output of leader trailer, form feeds, corrected text or for of the text. the duplication of pages of an input tape. List or punch commands do not affect the contents of the buffer. 2.2.] List Commands The following commands cause part or all of the contents of the text buffer to be listed on the Teletype . Command L) Action and Explanation _L_IST the entire page. This causes the Editor to list the entire contents of the text buffer. 2—2 Action and Explanation Command nL) LIST line 9. This line will be typed out, followed by a carriage return and a line feed. m,nLi LIST linesm through 3, inclusive. Lines 9 through 3 will be printed on the Teletype. The Editor remains in command mode after a list command and the value of the current line counter is updated to be equal to the number of the last line printed. 2.2.2 Punch Commands The following commands control the punching onto paper tape of leader/trailer, text and form feeds. Note that the PUNCH and NEXT commands halt the computer before executing the command. This halt is intended to give the user a chance to be sure that the control switches are set correctly before any tape is punched. Pressing the CONTINUE key on the console will allow the Editor to proceed with the command. The editor remains in command mode after execution of any command which punches tape. The Editor is designed to minimize the possibility of illegal or meaningless characters being punched into a source tape, therefore the illegal codes 340-376 and l40—l77, and most illegal control characters will not be punched. In this way a tape containing illegal characters may be corrected by simply reading it into the Editor and punching it out. Depending on the position of switch register bit l0 (see explanation of control switches) punching will be done by either the Teletype punch or the high-speed punch. Command Action and Explanation P} BUNCH the entire contents of the text buffer. nP) _PUNCH line 3 only. m,nP} _PUNCH lines 93 through D, inclusive. (where 3 must be less than [1). None of the above commands outputs a form feed character following the text. NOTE TO LOW SPEED PUNCH USERS: the computer before punching tape. punch Fa, The F and T commands do not halt The user must therefore, turn on the immediately after typing the carriage return. _EORM FEED. This command causes the punching of four blanks, a form feed character, and approximately two inches of blank tape. If using low-speed punch, turn punch off before typing command then turn on immediately after typing carriage return . 2-3 Action and Explanation Command T1 TRAILER. This command causes about four inches of blank tape to be punched. If using low—speed punch, turn punch off before typing com— mand then turn on immediately after typing carriage return. N1 __l\_lEXT. This is a utility command which combines the functions of four commands. tape, a punches the contents of the buffer, punches some blank It form feed and more blank tape, kills the buffer, and reads in the next page of text from the reader specified by switch register bit ll (i.e., it executes Pa nN; Fa , , K A, R ;)' Executes the above sequence 31 times. first punching. The Editor halts only before the If E is greater than the number of pages of input tape the command will proceed in the specified sequence until it reads the end of (If using Teletype reader, when tape runs out type CTRL/FORM to return to command mode). the input tape, then it will return to command mode. 2.3 EDITING COMMANDS The following commands permit deletion, Command Kt Action and Explanation EILL the entire page in the buffer. and nDl m,nDR alteration, or expansion of text in the buffer. " ." are set to zero. DELETE line 9. The values of special characters "/” The Editor remains in command mode. Line 9 is removed from the text buffer. all succeeding lines are reduced by one, as The numbers of is the line count. DELETE lines m through n, inclusive. The line following flbecomes the new line m and the rest 6? the lines are renumbered accordingly. The " value of the current line counter, .", is equal to the number of the line the deleted line or lines. The Editor remains in command mode proceeding after all DELETE operations. n1) _I_NSERT the typed text before line n, until a form feed (CTRL/FORM) is encountered. The Editor enters text mode to accept input. typed becomes the new line n. count and the Rubouts are recognized. The first line Both the line numbers of all lines following the insertion are increased by The value of .” is equal to the number of the number of lines inserted. the last line inserted. " To reenter the command mode, the CTRL/FORM key combination must be entered to terminate text mode. If this is not done, all subsequent commands will be interpreted erroneously as text and entered in the program immediately after the insertion. 13 _I_N SERT without an argument will insert text before line i nCR _C_HANGE line 2. accept input. . Line Q is deleted, and the Editor enters text mode to The user may now type in as many lines of text as he de- sires in place of the deleted line. CHANGE operation. Rubouts are recognized during any If more than one line is inserted, all subsequent lines will be automatically renumbered and the line count will be updated appropriately. Command m,nCl Action and Explanation CHANGE lines m through n, inclusive (n_1 must be numerically less than _r_1). Lines 2 through E are deleted and the Editor enters text mode allow— ing the user to type in any number of lines in their place. All Subsequent lines will be automatically renumbered to account for the change and the line count will be updated. After any CHANGE operation, return to command mode is accomplished by entering a form feed (CTRL/FORM key combination) to terminate in~ put. After a CHANGE the value of the current line counter, equal to the number at the " .", is last line of the change. Lines which are changed or deleted do not physically disappear from the buffer area, thus the space they occupied is not recovered upon completion This being true, it is possible to overflow the buffer by changing, or deleting and inserting lines. This possibility may be effec— tively eliminated by logically segmenting a program on paper tape into "pages" of 50 to 60 lines. This is done by punching groups of 50 lines followed by a form feed character (see output commands). There is a way to retrieve lost space in some cases by use of the SEARCH command (see below). of the command. m, n$l<M1 __M_OVE lines m through n inclusive to before line k (m must be numerically less than n and k may not beIn the range between m and n). Lines m through n are moved from their current position and_inserted before line _l<_. The lines are renumbered a___fter the move is completed although the value of the current line pointer, not use " .", is unchanged. Moving lines does any additional buffer space. A line or group of lines may be moved to the end of the buffer by specifying k as "/+l" . Example: l,lO$/+M). Since the MOVE command requires three arguments, it must have three arguments to move even one line. This is done by specifying the same line number twice. This will move line 5 to before line 23. Example: 5,5$23M). The Editor remains in command mode after a move command. G) QET and list the next line which begins with a tag. with the line following the current line The Editor begins (line .+l) and tests for a line which does not begin with a tab, slash or a space. beginning with a tag. Example: TAD DCA This will most often be a line It might also be a line containing an origin. this is the current line - - /THIS IS A COMMENT HERE,0 - TAD ISZ this line would be typed out by the command G), — - this line would also be typed if another G) *5000 typed. 2—5 were Action and Explanation Command n6) C_3ET and list the first line after line 3 which begins with a tag. The Editor begins with linefl and tests it and each succeeding line as described above. Both G and nG update the current line counter after finding the specified line. However, if either version of the GET command reaches the end of the buffer before finding a line beginning with other than a tab, slash or space, the current line counter retains the value it had before the GET was issued and a ”?" is typed to indicate that no tagged line was found. The Editor remains in command mode after 0 GET command. n5; §EARCH line 2 for the character specified after the carriage return. Allow modification of line when character is found. The SEARCH command is one of the most useful functions in the Editor. It is also structured somewhat differently from the other Editor commands. After terminating the command nS with a carriage return the user has told the Editor to SEARCH line 3, but he hasn't specified what to search for. The Editor is, therefore, waiting for the user to type a character. The character he types is taken as the obiect of the search but is not echoed. The Editor instead immediately begins typing out the specified line. After typing the character for which it is searching the Editor stops. All of the editing features are then available to the user. He may proceed using any of the following. a. Delete the entire typed portion of the line by typing " <—- " (back arrow). b. Delete the entire untyped portion and terminate the line and the search by typing c . A (carriage return). Delete from right to left one of the typed characters for each \ (rubout) typed. d. Insert characters after the last one typed simply by typing them. e. Insert a carriage return and line feed, thus dividing the line into two, by typing 1 (line feed). f. Continue searching to the next occurrence of the search character by typing CTRL/FORM. When typing stops all options are again available. Change the search character and continue searching by typing CTRL/ BELL followed by the new search character. 9. Each time the Editor types the character for which it is searching, typing stops and all or any combinations of the above operation may be carried out. m,nSA §EARCHlines m through E inclusive in the same way as described above. The search character is input after the carriage return and all of the options are available. The only difference is in point b. Typing A (carriage return) deletes the entire untyped portion and terminates that line, but the search continues on the next line. By typing CTRL/BELL to change search characters, all editing of a single line may be done in one pass. Clearly, typing CTRL/BELL twice will cause the search to proceed to termination, since the search character will now be BELL which is not stored in the buffer. 2—6 Command 3) Action and Explanation An additional feature is available to the more sophisticated user: by typing 5 with no arguments the entire butter may be searched For occurrences of a single character. It must be remembered, however, that as with every CHANGE command, every SEARCH command uses additional buffer space for storage of the new line. This is obviously necessary, since the program can have no prior knowledge of whether the size of the line will be less than, greater than, or equal to that of the old line, and it must therefore As the entire butter is searched, a new image assume that it will be larger. of the text is created in core that is guaranteed to occupy the same or less space than previously, since all deleted spaces have been removed. The Editor recognizes this and immediately moves the text image back to the top oF the buffer space. Thus, the only prerequisite to condensing the text image is that there be enough core space left to contain another image of the edited text. 2—7 SECTION 3 OPERATING PROCEDURE This chapter describes the sequence of operations necessary to load, edit, and punch out a corrected symbolic program tape, and gives examples of the use of the Editor. After the Editor has been loaded, it may be used to read into the text buffer a page of the When the page has been read in and a form feed code has been symbolic program to be corrected. encountered, the Editor rings a bell to signal the user that the Editor is in the command mode. Corrections and additions may then be either typed in from the Teletype tape via the reader. keyboard or inserted from paper Individually numbered lines may be listed in any order permitting insertions, deletions, or changes. Text may be inserted between specified lines, moved or appended to the end of a section. Individual lines, groups of lines, or an entire page may be deleted upon a single command. To ensure that a tape is correct, desired portions or an entire page may be listed before the corrected lines, groups of lines, text remains available in the core or the entire page may be listed and/or punched. punching. Finally, The original buffer in case further corrections are necessary. The following paragraphs give the detailed procedure for loading the Editor and a symbolic tape, making required corrections, and punching the corrected symbolic tape. 3.] LOADING SEQUENCE Before editing can begin, the Symbolic Editor program must be loaded into core with the Binary Loader, and the symbolic program tape to be corrected must be read into the core text buffer. The loading of the symbolic tape is performed by the Editor itself under keyboard control. 3.] .1 Loading the Binary Loader The Binary Loader is loaded into core by the Read-In Mode (RIM) Loader. The RIM Loader itself is initially placed into core memory by PDP-8 console keys and switches. When this has been done, the RIM Loader is used to load the Binary Loader into core by means of the following procedure. a. Put the Binary Loader tape in the Teletype reader. b. Set the SWITCH REGISTER c. Press the LOAD ADDRESS key and then the START key. d. Turn on the reader and wait until the tape is completely read in. (SR) to 7756, the starting address of the RIM Loader. stops, the Binary Loader is in memory. 3—] When the reader 3.1 .2 Loading The Symbolic Editor With The Binary Loader To load the Symbolic Editor with the Binary Loader: a. Place the Editor tape in the proper reader, either Teletype or photoelectric. b. Set the SR to 7777 (the starting address of the BIN Loader) press the LOAD ADDRESS key, and turn on the reader. c. (If using the high—speed reader set SR bit 0 to 0) then press the START key. d. When the reader stops, the Editor is in core memory. If the ACCUMULATOR (AC) does not contain zero when the reader halts, a checksum dis— crepancy exists which indicates that the Editor tape has been read in incorrectly. Load the tape again by repeating the procedure described above. To start the Editor program then the START key. performed through the 3.1.3 initially set the SR to 200, press the LOAD ADDRESS key and The loading of the symbolic tape to be edited and all subsequent operations are use of the Editor by giving appropriate commands from the Teletype keyboard. Loading A Symbolic Tape Using The Editor a. Set switches as indicated in Section 1.4 on page 1—6. 13. Place the symbolic tape of the program to be corrected in the appropriate paper tape reader. c. If using the Teletype reader, turn it on now. type R) ). text (i.e. , The symbolic tape will be read into the buffer. d. at At the keyboard, type the READ command followed by a carriage return The Editor will continue reading the tape until the form feed code is encountered the end of the tape If the tape contains no form feed code, and the Teletype (see Input Commands). reader is being used for input, strike the FORM/CTRL key combination after the tape has been read in. Upon recognizing the form feed character, the Editor enters the command mode and rings a bell to indicate that it is ready for the first command. CAUTION When using the Teletype reader, if the form feed code is en— countered before the symbolic tape has completely read in (as indicated by the ringing of the bell), turn off the paper tape reader. Otherwise, characters on tape will be interpreted as commands to the Editor. The section of tape read in up to the form feed code should then be edited first before proceeding with the remainder of the tape. 3.2 EDITING A SYMBOLIC TAPE The actual editing procedure depends, of course, general procedure is illustrated in the example that follows. 3-2 on a particular user's requirements. For input, The editing, and output commands that may be given to the Editor, refer to the detailed explanation of the Command Structure, Command Repertoire and Special Characters and Functions under Operating Features (see pages l—l or see the corresponding summaries of commands and special characters in the appendix. , l-2 and l—é) Observe also the following operating notes and precautions. a. Terminate each command to the Editor by striking the RETURN (carriage return) key. This directs the Editor to execute the command. b. After a command to insert, change, or append text to the symbolic program has been executed, the Editor remains in the text mode until the operator hits the FORM/CTRL key com— bination on the teletypewriter. This combination generates the form feed code character, which tells the Editor to return to the command mode. c. If a great deal of text is added during the course of editing, the text buffer may overflow (full capacity is approximately 60 lines of heavily commented text or 340 uncommented). When the buffer storage limit has been exceeded the program will continue operation and insertions and changes may still be made but an additional bell will be rung for every location that is used be- yond the buffer limit. In order to extend the buffer so that more characters may be read, the user may change location I to contain the address of the last location in the buffer to be used. that this number not be larger than 7570 to protect the binary loader. At this It is suggested point the buffer is capable of holding over 5000 decimal characters. d. The Editor may be stopped at any time by pressing the STOP key; to continue press If it is desired tom the Editor without disturbing the buffer, the CONTINUE key. address I77 in the SR and press the LOAD ADDRESS and the START keys. buffer and then restart, 3.2.] If it is desirable to clear the place octal address I76 in the SR and press the START key. Error Messages The proper rules for giving commands must be observed during editing, Operating Features (page l-l). either missing, erroneous or that some commands can If commands are given in an incorrect format, is explained under if arguments are legitimately take from zero to two arguments, and one takes three. In general, ignores the command. Similarly, negative argument is encountered or an illegitimate command string is typed, the Editor again responds with the error message ? 3.3 or as extraneous, the Editor will respond by typing out a question mark. Notice if an argument is either missing or extraneous, the Editor types out ? and if a place octal . PUNCHING THE CORRECTED SYMBOLIC TAPE The procedure for punching out the corrected symbolic tape depends to some extent on the user's requirements. The general sequence of steps is given below. a. give the output command to punch out either line 2 of the text (nP)), As desired, (P2), form feeds (FR) blank tape (T2). After the carriage return (1) following the punch command has been received, lines m through [1 (m,nP i), the entire text b. the computer will halt. c. or Turn on the punch and check the switches. Press the CONTINUE key at the console to start punching. If a tabulation has been produced by striking the CTRL/TAB key combination spaces or a tab character will be generated on output depending on switch register bit I (see SWITCH OPTIONS). d. If using the telepunch, after a tape has been punched, turn off the punch before typing any further commands. If this is not done, the control codes typed in will be punched on the symbolic tape. d. Punching the symbolic program does not delete it from memory. in the text buffer in core until the KILL command (K9) is given to erase If it is desired to read it. another tape into the buffer, the user must first delete the entire page of text the recommended page The page remains (K3). Remember that length, as delimited by the form feed, is approximately 60 lines. However, the Editor will accept more text if necessary. 3.4 EXAMPLE OF USE The following detailed example of the editing of a page of text is intended to familiarize the user with the basic operations of the Symbolic Editor. Where details of the loading sequence and oper- ating procedures are not shown, it is assumed that the user has followed the correct procedures previously explained. This example concerns a program for adding up numbers stored in locations 200 2078 of the computer, with the 600. answer The program listing is shown in to be stored in Figure 3—1 location . *600 HLT /TO START THE PROGRAM. HIT ”CONTINUE" ON CONSOLE / /THE NEXT FIVE INSTRUCTIONS INITIALIZE THE ROUTINE CLA /CLEAR THE ACCUMULATOR TAD MIO /LOAD AC WITH THE NUMBER IO DCA COUNTR /PUT INTO COUNTER TAD TWOHUN /LOAD AC WITH FIRST ADDRESS DCA POINTR /PUT IT INTO POINTER - Figure 3—] through 4108. The program is to start in location /ADD UP NUMBERS BEGN, 8 Program Listing of Addition Routine / /THE NEXT SEVEN INSTRUCTIONS ARE THE PROGRAM ITSELF TAD 1 POINTR /ADD NEXT NUMBER BEGN, ISZ POINTR /INDEX POINTER Tsz COUNTR /INDEX COUNTER, IS IT ZERO? JMP BEGN /NO; CONTINUE ADDING DCA I ANSWER /YES; STORE ANSWER HLT /HALT JMP BEGN+1 / /THE NEXT THREE REGISTERS CONTAIN THE CONSTANTS —10 /NEGATIVE TALLY NUMBER M10, FIRST ADDRESS IN BUFFER TWOHUN, 200 410 ANSWER /THE NEXT TWO REGISTERS ARE RESERVED FOR VARIABLES o COUNTR, POINTR, o $ Figure 3—1 Program Listing of Addition Routine (continued) Let us assume that we have attempted to assemble this program using the PDP-8 Assembler (PAL 111). however, the Assembler typed the following: On PASSl , DT BEGN AT 0606 UA ADDRES AT 0616 UA ANSWER AT 0612 AT 0616 BEGN UA Symbolic 0600 BUFFER COUNTR 0620 UA FIRST AT 0616 UA IN AT 0616 M10 0615 POINTR 0621 TWOHUN 0616 The message DT BEGN AT 0606 signifies that the programmer has mistakenly used identical tags to specify two different addresses. the tag BEGN has, in line An inspection of the program listing (Figure 2—1) shows that indeed, been duplicated. It appears in line 3 of the 14, starting with BEGN, TAD I POINTR. not shown in correct the listing as BEGN, HLT, then (Since the line numbers are implicit only, they are the example; they may be obtained by counting from the top down in Figure 2-1). To situation, the Symbolic Editor was read in with the Binary Loader, as explained under Loading Sequence in this section. Editor by means of the READ The symbolic tape to be corrected was then loaded through the (R2) command. A series of commands the Editor have been underlined for clarity.) 3—5 were given. (The lines typed by R I4L BEGN, TAD I POINTR ADD NEXT NUMBER TAD I POINTR /ADD NEXT NUMBER JMP BEGN /NO; CONTINUE ADDING JMP ADDR /NO; CONTINUE 14C ADDR, 17L 17C I3, 18L /THE NEXT SEVEN INSTRUCTIONS ARE THE PROGRAM ITSELF TAD I POINTR ADDR, ISZ POINTR ISZ COUNTR JMP ADDR DCA I ANSWER ADD NEXT NUMBER /INDEX POINTER /INDEX COUNTER, IS IT ZERO? /NO; CONTINUE YES; STORE ANSWER 25L ANSWER 4IO 25C ANSWER, 4T0 24L FIRST ADDRESS IN BUFFER TWOHUN, 200 24C /FIRST ADDRESS IN BUFFER TWOHUN, 200 .—-l, .+2L M10, TWOHUN, 200 ANSWER, NEGATIVE TALLY NUMBER /FIRST ADDRESS IN BUFFER 410 Having made the desired corrections, the programmer Finally asks the Editor to list the entire text by giving the LIST final corrections. (LA) command, but still withholds the PUNCH command (P A), pending A new program listing is printed out and the entire text is preserved in the buffer. The programmer now punches the entire text onto paper tape by giving the PUNCH (PR) command and hitting CONTINUE on the console. /ADD UP NUMBERS *600 BEGN, HLT /TO START THE PROGRAM. HIT "CONTINUE" ON CONSOLE / /THE NEXT FIVE INSTRUCTIONS INITIALIZE THE ROUTINE CLA /CLEAR THE ACCUMULATOR TAD MlO /LOAD AC WITH THE NUMBER IO DCA COUNTR /PUT INTO COUNTER TAD TWOHUN /LOAD AC WITH FIRST ADDRESS DCA POINTR /PUT IT INTO POINTER — / /THE NEXT SEVEN INSTRUCTIONS ARE THE PROGRAM ITSELF TAD I POINTR /ADD NEXT NUMBER ADDR, ISZ POINTR /INDEX POINTER ISZ COUNTR /INDEX COUNTER, IS IT ZERO? ADDR JMP /NO; CONTINUE DCA 1 ANSWER /YES; STORE ANSWER HLT /HALT JMP BEGN+1 /THE NEXT THREE REGISTERS CONTAIN THE CONSTANTS ~10 M10, /NEGATIVE TALLY NUMBER 200 TWOHUN, /FIRST ADDRESS IN BUFFER ANSWER, 410 /THE NEXT TWO REGISTERS ARE RESERVED FOR VARIABLES COUNTR, POINTR, O 0 $ The PASSI resulf of assembling This program is: ADDR 0606 ANSWER 0617 BEGN 0600 COUNTR 0620 M10 0615 POINTR 0621 TWOHUN 0616 APPENDIX A SUMMARY OF SYMBOLIC EDITOR OPERATIONS SPECIAL KEY FUNCTIONS Ai Carriage Return (RETURN Key) Text mode - Enter the line in the text buffer. Command mode (<— ) Back Arrow Text mode - — Execute the command Cancel the entire line of text, con- tinue typing on same line. Command mode - Cancel command. Editor issues a ? and carriage return/line feed. Rubout (\) Text mode — Delete from right to left one character for each rubout typed. Does not delete past the beginning of the line. 15 not in effect during a READ command. Command mode Form Feed (CTRL/FORM Key Combination) Text mode Period ) Command mode ( . — — Same as back arrow. End of inputs return to command mode. — Current line counter used as argument + or Slash (/) Command mode — alone or in combination with — and a number (., .+5L). Value equal to number of last line in buffer. Used as argument (/—5r/L)‘ Line Feed (l) Text mode — Used in SEARCH command to insert a CR/LF combination into the line being searched. Command mode -— List the next line (equivalent to .+I L). (ALT key) Escape (ESC key) Command mode Left Angle Bracket (<) Command mode ALT Mode — List the next line (equivalent to .+I L). - List the previous line to Equal Sign (= ) Command mode - Used in conjunction with to Colon ( : ) Command mode - Text mode - . Olnd / obtain their value (.=27)i. Lower case character, function as Tabulation (CTRL/TAB Key Combination) (equivalent .-lL). same = . Produces a tabulation which on output, is interpreted as spaces or a tab char- acter/rubout combination depending on a Al—I switch option. SWITCH OPTIONS A2 Meaning Switch Position 0 0 Read 1 Convert spaces to tabulations on 0 1 Output tabulations as spaces Output tab character rubout combination For each tabulation 0 Normal operation 1 Suppress output 0 Low speed output 1 High speed output 0 Low speed 1 2 10 ll 1 A3 input tape as is input input High speed input COMMAND SUMMARY Command Format(s) READ R; Read A; Append incoming text from keyboard to any already in butter until APPEND Meaning a LIST PUNCH FORM FEED TRAILER NEXT incoming text from reader and append to butter until a form feed is encountered. form feed is encountered. LR List the entire butter. nLR List line m,nLJ Pg List 2. lines_m_through n inclusive. Halt. Upon striking CONTINUE key on console, punch the entire butter. nP} m,nPg Halt. Upon CONTINUE, punch line 2. Halt. Upon CONTINUE, punch lines :11 through _n_ inclusive. F) TA Punch trailer, NR punch a Form teed (214), punch trailer. Punch Four inches of trailer. Punch the entire buffer and a form feed, Kill the buffer and Read the next page. nN) Repeat the above sequence 2 times. KILL Kg Kill the buffer. DELETE nD} m,nD2 Delete line 2 of the text. I) Insert before line i all the text from the keyboard until INSERT n1) Delete lines 2 through 2 inclusive. is entered . Insert before line n until a form feed is entered. Ai—2 a Form feed Command Format(s) CHANGE nC) Meaning Delete line n, replace it with any number of lines from the keyboard until a form feed is entered. Delete lines m through _n_, m,nC2 replace from keyboard as above until form feed is entered. MOVE m,n$l<Mi Move lines m through 3 inclusive to before line 5. GET G) Get and list the next line beginning with a tag. nG) Get and list the next line after line r_\ which begins with a tag. SEARCH Search the entire buffer for the character specified (but not echoed) 5) after the carriage return. Search line n, n5) m,nSR A4 as above, allow modification. Search lines m through n REFERENCES Binary Loader RIM Loader - - Allow modification when found. DEC 08-LBAA—D DEC O8-LRAA-D Ai-3 inclusive, allow modification. INDEX A Examples of Editing, 3—4, -7 ALT MODE, 1—4, Al—I F 1—1, -3, 2—3, Al—l FORM FEED, Angle Bracket, Left, 1-5, Al—l APPEND Command, 2-2, Al—2 G GET Command, 2—5, Al-3 B Back Arrow, 1—2, Al—l I Binary Loader Input Loading, 3-I Commands, 2-1, A'I—2 Using, 3-2 Device Options, 1-6, Al—2 Blank Tape, l-5 2—4, Al-2 INSERT Command, K C Carriage Return, 1—], ~2, AT—I Keys, Special Functions, AI-i CHANGE Command, 2—4, Al—3 KILL Command, 2—4, Al—2 Characters, Special, 1'2 to —6, AI—l L Colon, l-5, Al—l Leader/Trailer Tape, 1—5 Comma, 1-2, AI—l Left Angle Bracket, l—5, Al—l Command LINE FEED, 1-4, Al-l Arguments, l-2 LIST Command, 2—2, Al-2 Editing, 2—4, 3-2, Al—2, —3 Loading Procedures Format, 1-], Al—2, —3 Binary Loader, 3-1 Input, 2-l, 3-2 Sequence, 3-] Mode, l—l Symbolic Editor, 3—2 Output, 2-2, 3-3 Symbolic Tape, 3—2 Summary, Al—2, —3 ‘ CTRL/BELL, 2-6 M Modes CTRL/FORM, 1—3, 2—2, —6, AI—T Command, CTRL/TAB, 1—5, AI—l Operation of, 1—] DELETE Command, l—I D Text, 1—] 2—4, Al—2 Transition E MOVE Command, Between, Equal Sign, l—5, Al—I Error Messages, 3—3 1-] 2—5, Al—3 N NEXT Command, 2-4, Al-2 INDEX O (Cont) Text Mode, l-l Options, Switch Register, 1—6, Al—2 TRAILER Command, Output Transition Between Modes, l—l Commands, 2—2, Al-2, —3 1—6, Ai—2 Device Options, P Pages, 1—1 Period, l—4, Al—l Procedures Loading, 3—1, —2 Editing, 3—2 PUNCH Command, 2—3, Al -2 Punching Symbolic Tape, 3—3 R READ Command, RETURN Key, 2—], Al—2 1—], —2, Al-l RUBOUT Key, 1—3, Al—l S SEARCH Command, 2-6, Al-3 Slash, 1—4, Al—l Special Characters, 1—2 to —6, Al-l Summary of Commands, Al-2, —3 Special characters, Al—l Switch Register Options, 1—6, Al—Z Symbolic Tape Editing, 3—2, —3 Generating, 3—3, —4 Loading, 3—2 T Tabulation Key, 1—5, Al-l Tape, Leader/Trailer, l-5 2-4, Ai—2 HOW TO OBTAIN SOFTWARE INFORMATION Announcements for new and revised software, as well as programming notes, software problems, and documentation corrections are published by Software Information Service in the following newsletters. Digital Software News for the PDP-8 Family Digital Software News for the PDP-9/15 Family PDP-6/PDP-10 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. Questions 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 of the problem to: Software Information Service Digital Equipment Corporation 146 Main Street, Bldg. 3-5 Maynard, Massachusetts 01754 These forms, which are available without charge from the Program Library, should be fully filled out and accompanied by teletype 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 general interest will be printed in the newsletter. New and revised software and manuals, Software Trouble Report forms, and cumulative Software Manual Updates available from the Program Library. When ordering, include the document number and a brief description of are the program or manual requested. a Revisions of programs and documents will be announced in the newsletters and price list will be included twice yearly. Direct all inquiries and requests to: Program Library Digital Equipment Corporation 146 Main Street, Bldg. 3—5 Maynard, Massachusetts 01754 Digital Equipment Computer Users Society (DECUS) maintains a user Library and publishes a catalog of programs well as the DECUSCOPE magazine for its members and non-members who request it. For further information please write to: as DECUS Digital Equipment Corporation 146 Main Street Maynard, Massachusetts 01754 Send Digital’s software newsletters to: Name Company Name Address (Zip code) My computer isa My system serial number is PDP-8/I C] LINC-8 D pr.9 C] PDP-lO C] PDP-8/L C] PDP—12 13139-15 OTHER C] C] [3 (if known) P] easewec‘‘fy ———————————————— —————————————— —FoldHere--——————-—---—--———-— DoNotTear-FoldHereandStaple— -—- — —— — — —-— —- —-———-— 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: EJIIEBIEII Digital Equipment Corporation Software Information Services 146 Main Street, Bldg. 3-5 Maynard, Massachusetts 01754 PDP-8 SYMBOLIC' EDITOR READER’S COMMENTS DEC_08_ESAB_D Digital Equipment Corporation maintains a continuous effort to improve the quality and usefulness of its your critical evaluation of this manual. publications. To do this effectively we need user feedback ~ Please comment on this manual’s completeness, accuracy, organization, usability, and readability. Did you find errors in this manual? How can this manual be improved? DEC also strives to keep its customers informed of current DEC software and publications. Thus, the following periodically distributed publications are available upon request. Please check the appropriate box(s) for a current issue of the publication(s) desired. 0 Software Manual Update, a quarterly collection of revisions to current software manuals. Cl User’s Bookshelf, a bibliography of current software manuals. C] Program Library Price List, a list of currently available software programs and manuals. Please describe your position. Name Organization Street Department City State Zip or Country ———————————————— —————————————— —FoldHere-——-—————-—-—-—--——- DoNotTear-FoldHereandStaple— -—-—- — ——-—- —- —— —- —-—-—— FIRST CLASS PERMIT NO. 33 MAYNARD, MASS. BUSINESS REPLY MAIL NO POSTAGE STAMP NECESSARY lF MAILED IN THE UNITED STATES Postage will be paid by: EJflEflIEIl Digital Equipment Corporation Software Information Services 146 Main Street, Bldg. 3-5 Maynard, Massachusetts 01754
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies