Digital PDFs
Documents
Guest
Register
Log In
AD-V027A-T1
May 1984
66 pages
Original
21MB
view
download
OCR Version
8.4MB
view
download
Document:
PDP-11 MACRO-11
Language Reference Manual
Update Notice 1
Order Number:
AD-V027A-T1
Revision:
0
Pages:
66
Original Filename:
OCR Text
UPDATE NOTICE 1 PDP-11 MACRO-11 Language Reference Manual AD-V027A-T1 May 1984 NEW AND CHANGED INFORMATION This update contains changes and additions to the MACRO-11 Language Reference Manual, AA-—V027A-TC. PDP-11 To order additional documents from within DIGITAL, contact the Software Distribution Center, Northboro, Massachusetts 01532. To order additional documents from outside DIGITAL, refer to the instructions at the back of this document. digital equipment corporation - maynard, massachusetts INSTRUCTIONS The enclosed pages are replacements for or additions to current pages of the PDP-11 MACRO-11 Language Reference Manual. On replacement pages, changes and additions are indicated by vertical bars ( ] ); deletions are indicated by bullets (). Keep this notice in your manual to maintain an up-to-date record of changes. © Digital Equipment Corporation 1984. All Rights Reserved. Printed in U.S.A. Old page New page Title/Copyright Title/Copyright v/ivi and vii/viii 1-1/1-2 1-1/1-2 2-3/2-4 2-3/2—4 3-1/3—-2 3—2.1/blank 3-11/3—-12 3-11/3-12 5-3/5—4 5-3/5-4 6—15/6—16 thru 6—19/6-20 6-15/6—16 thru 6—19/6—20 6—-25/6—26 and 6—27/6—28 6-25/6—26 and 6—-27/6—28 6—-55/6—56 6—-55/6—56 6—61/blank 6—61/blank 7-5/7-6 7-5/7-6 7-9/7-10 7-9/7-10 7-13/7-14 thru 7-19/7-20 7-13/7-14 thru 7-19/7-20 8-7/8—-8 8-7/8-8 9-3/9-4 9-3/9—4 A-1/A-2 A—-1/A-2 A-5/blank A-5/A-6 J-1/J-2 J-1/J-2 J—-2.1/blank Index—1/Index—2 thru Index—5/blank Index—1/Index—2 thru Index—5/Index—6 Reader’'s Comments/Mailer Reader's Comments/Mailer PDP-11 MACRO-11 Language Reference Manual AA-V027A-TC March 1983 This document describes how to use the MACRO-11 relocatable assembler to develop PDP-11 assembly language programs. Although no prior knowledge of MACRO-11 is required, the user should be familiar with the PDP-11 processor addressing modes and instruction set. This manual presents detailed descriptions of MACRO-11’s features, including source and command string control of assembly and listing functions, directives for conditional assembly and program sectioning, and user-defined and system macro libraries. The chapters on operating procedures previously were found in two separate manuals (the PDP-11 MACRO-11 Language Reference Manual and the IAS/RSX MACRO-11 Reference Manual). This manual should be used with a system-specific user’s guide as well as a Linker or a Task Builder manual. This manual supersedes previous editions, AA-5075B-TC, published 1980, AA-5075A-TC, published 1977, and DEC-11-OIMRA-B-D, published 1976. This manual contains Update Notice 1, AD-V027A-T1. Operating System: IAS Version 2 MICRO/RSX Version 1 MICRO/RSTS Version 1 VAX/VMS Version 4 RSTS/E Version 8 RSX-11M Version 4 RSX-11M-PLUS Version 2 RT—11 Version 5 Software: MACRO-11 Version 5.2 To order additional documents from within DIGITAL, contact the Software Distribution Center, Northboro, Massachusetts 01532. To order additional documents from outside DIGITAL, refer to the instructions at the back of this document. digital equipment corporation - maynard, massachusetts First Printing, August 1977 Revised, January 1980 Updated, December 1981 Revised, March 1983 Updated, May 1984 The information in this document is subject to change without notice and should not be construed as a commitment by Digital Equipment Corporation. Digital Equipment Corporation assumes no responsibility for any errors that may appear in this document. The software described in this document is furnished under a license and may be used or copied only in accordance with the terms of such license. No responsibility is assumed for the use or reliability of software on equipment that is not supplied by DIGITAL or its affiliated companies. © Digital Equipment Corporation 1977, 1980, 1981, 1983, 1984. All Rights Reserved. Printed in U.S.A. A postage-paid READER’'S COMMENTS form is included on the last page of this document. Your comments will assist us in preparing future documentation. The following are trademarks of Digital Equipment Corporation: DEC dlijgliltiallj§ MASSBUS RT-11 DECmate PDP UNIBUS DECsystem—10 DECSYSTEM-20 P/OS Professional VAX VMS DECUS DECwriter DIBOL Rainbow RSTS RSX VT Work Processor M32300 | I T T B BB WN - NN .MACRO Directive .ENDM Directive .MEXIT Directive MACRO Definition Formatting MACROS ARGUMENTS IN MACRO DEFINITIONS AND MACRO NN NN NNNN CALLING | N Macro Nesting Special Characters in Macro Arguments Passing Numeric Arguments as Symbols Number of Arguments in Macro Calls T T Creating Local Symbols Automatically I Arguments Keyword of Macro Arguments MACRO ATTRIBUTE DIRECTIVES: .NARG, Concatenation .NCHR, AND [ |] W N * » e » * Y U ® SN L dadd +NTYPE .NARG Directive .NCHR Directive .NTYPE Directive .ERROR AND .PRINT DIRECTIVES INDEFINITE REPEAT BLOCK DIRECTIVES: .IRP AND ] N L] & & - dd IV CHAPTER OPERATING BLOCK DIRECTIVE: .REPT, .ENDR LIBRARY DIRECTIVE: .MCALL DELETION DIRECTIVE: .MDELETE PROCEDURES IAS/RSX~-11M/RSX~-11M-PLUS <o PART .IRP Directive .IRPC Directive REPEAT L] N WO~ « IRPC MACRO MACRO RSX-11M/RSX-11M-PLUS OPERATING OPERATING PROCEDURES PROCEDURES Initiating MACRO-11] Under RSX-11M/ RSX-11M-PLUS Method 1 - Direct MACRO-11 Call Method 2 - Single Assembly Method 3 - Install, Remove On Exit Method 4 - Using Run Immediately, the and Indirect Command WN b » s s ¢ W N B * L * & o s e O GO O s ® & s s 5 o ¢ CO OO0 0O 00 00 00 00 C0 ¢ N WNDNNNN R Processor Default File Specifications MCR Command String Format DCL Operating Procedures MACRO-11 Command String Examples IAS MACRO-11 Initiating OPERATING PROCEDURES MACRO-11 Under IAS IAS Command String IAS Indirect Command Files IAS Command String Examples CROSS-REFERENCE PROCESSOR (CREF) IAS/RSX-11M/RSX-11M-PLUS FILE SPECIFICATION MACRO-11 ERROR MESSAGES UNDER IAS/RSX-11M/ | b B b . ] W MACRO-11 - RSTS/RT-11 VWY RSX-11M-PLUS CHAPTER =00 SO D W e s & s 8 s » LJ * * - ] * B Wwwwwwww L] NN NN CALLS B MACROS DEFINING et ~J MACRO DIRECTIVES CHAPTER OPERATING UNDER RSTS RT-11 Through RSTS RSX Through RSTS PROCEDURES 9.2 INITIATING MACRO-11 UNDER RT-11 RT-11 COMMAND STRING FILE SPECIFICATION OPTIONS CROSS-REFERENCE (CREF) TABLE GENERATION OPTION 9.3 9.4 9.5 9.5.1 9.5.2 Obtaining a Cross-Reference Table Handling Cross-Reference Table Files 9.5.3 APPENDIX APPENDIX MACRO-11 A MACRO-11 A.l ASCII A.2 RADIX-50 A.3 DEC B Error Messages CHARACTER CHARACTER RT-11 SETS SET CHARACTER MULTINATIONAL MACRO-11 Under SET CHARACTER ASSEMBLY LANGUAGE SET AND ASSEMBLER DIRECTIVES SPECIAL CHARACTERS B.2 B.3 SUMMARY OF ADDRESS MODE ASSEMBLER DIRECTIVES SYNTAX C PERMANENT (PST) SYMBOL OP MACRO-11 APPENDIX D ERROR MESSAGES APPENDIX E SAMPLE CODING CODES STANDARD 7T T LINE DIRECTIVES FORMAT COMMENTS N w b W N . . $ L4 * » . |] L] @ @ Device Registers Purpose Hardware Registers Registers Priority Symbols & 8 General Processor & 5 STANDARDS Registers = & s s WN) e & b s WWWWWWN - NAMING s L L L4 * » . * * L L] L4 » » - L] . . . L] L J BBBBDWWWWWWWWWWWWN - Mmoo EEE @@ c.1 C.2 TABLE Symbol Examples Local Symbols Global Symbols Macro Names General Symbols PROGRAM MODULES The The Module Module Preface Module Example Modularity Calling Conventions (Inter-Module/ & D ® b s @ Intra-Module) s s T s s NNT o Indication Routines FORMAT Common Code Code Flow Exits with Interrupts in System State INSTRUCTION Inhibited USAGE Forbidden & 5.2, CODE Program SN & Version Exiting Success/Failure Module Checking Instructions Conditional Branches PROGRAM SOURCE FILES vi R I T T N I JUuUines BB WWNDNDNNNDND - APPENDIX B.1l PDP-11 VERSION NUMBER STANDARD Displaying the Version Identifier Use of the Version Number in the Program ALLOCATING VIRTUAL MEMORY APPENDIX GENERAL HINTS AND SPACE-SAVING GUIDELINES MACRO DEFINITIONS AND EXPANSIONS OPERATIONAL TECHNIQUES WRITING POSITION-INDEPENDENT CODE APPENDIX INTRODUCTION TO POSITION-INDEPENDENT CODE EXAMPLES SAMPLE ASSEMBLY AND CROSS-REFERENCE LISTING APPENDIX o N * OBSOLETE DIRECTIVES AND SYNTAX OBSOLETE COMMAND LINE OPTION o = N = WN o R & o e . CHANGES =-- ALL VERSIONS OF MACRO-1l1l V5.2 Update Changes » RELEASE NOTES (R R AND OPTIONS LINE - - COMMAND ) < APPENDIX SYNTAX, OBSOLETE MACRO-11 DIRECTIVES, APPENDIX V5.1 Changes CHANGES -- MACRO-11/RSX VERSION ONLY CHANGES -- MACRO-11/RT VERSION ONLY FIGURE AW W |J T B I WK - N FIGURES Assembly Listing Showing Local Symbol Block Sample Assembly Results Example of Line Printer Assembly Listing Example of Teleprinter Assembly Listing Listing Produced with Listing Control NI O | I N B R O WNHHJOMUBT®» Directives Assembly Listing Table of Contents Example of .ENABL and .DSABL Directives Example of .BLKB and .BLKW Directives Example of .SAVE and .RESTORE Directives Example of .NARG Directive Example of .NCHR Directive Example of .NTYPE Directive QO oo I | N b Definition Example of in Macro .IRP and .IRPC Directives Sample CREF Listing Example of Position-Dependent Code Example of Position-Independent Code TABLES TABLE Special Characters Used Legal Version 5.2, in MACRO-11 Legal Separating Characters Legal Argument Delimiters May 1984 Unary Operators vii b N =N U SOyt W W (=) Legal Binary Addressing Operators Modes Symbols Used in Chapter 5 Directives in Chapter 6 Symbolic Arguments of Listing Control Directives Symbolic Arguments of Function Control W WY I T N N D HWNOHEBWNDHFI M | OwUvid (o) W o) We ) Directives Symbolic Arguments of .PSECT Directive Program Section Default Values Legal Condition Tests Assembly Directives Subconditional File Assembly Specification MACRO-11 File DCL Command DCL Parameter for Block Directives Default Values Specification Switches Qualifiers Qualifiers Default File Specification Values File Specification Options /C Option Arguments Old and New Directives viii and 6-48 Conditional Syntax 6-54 6-57 8-4 8-6 8-8 8-13 9-3 9-4 9-6 I-1 CHAPTER 1 THE MACRO-11 ASSEMBLER MACRO-11 provides the following features: l. Source and command string control of assembly functioné 2. Device and filename specifications for input and output files 3. Error listing on command output device 4. Alphabetized, 5. Relocatable object modules 6. Global symbols for linking object modules 7. Conditional assembly directives 8. Program sectioning directives 9. User-defined macros and macro libraries 10. Comprehensive system macro library 11. Extensive symbol formatted cross-reference listing of symbols functions. source and command table string optional listing; control of 1listing MACRO-11 assembles one or more source files containing MACRO-11 statements into a single relocatable binary object file. The output y file and a file containing the . object of MACRO-11 consists of a binar table of contents, the assembly listing, and the symbol table. An optional cross-reference listing of symbols and macros is available. A sample assembly listing is provided in Appendix H. 1.1 ASSEMBLY PASS 1 During pass 1, MACRO-11 locates and reads all required macros from libraries, builds symbol tables and program section tables for the program, and performs a rudimentary assembly of each source statement. In the first step of assembly pass 1, MACRO-11 initializes all the impure data areas (areas containing both code and data) that will be These areas include all used internally for the assembly process. dynamic storage and buffer areas used as file storage regions. Version 5.2, May 1984 1-1 THE MACRO-11 ASSEMBLER MACRO-11 into files proper then syntax, files are been passed MACRO-11 input of calls a system subroutine which transfers a command memory. This command 1line contains the specifications of to be used during assembly. After scanning the command line in now to the If assembly, command no a input MACRO-11 line initializes determine initiates file. command MACRO-11 opened and if the valid specified output line. routine which file retrieves open, as opens starts is the next is the input assembling the output file source case lines at the from the end of described program version program linking assembly above. 1, and are output object MACRO-11 information number, section the pass Such modules. program the as global to the After reopens the the object 1in symbol directory file writing out to the (GSD) be GSD the them output module object the MACRO-11 first determines the length of the instructions, then assembles according to length as one word, two words, or three words. At have beginning specified statements. all for These specifications file source files. line files name, the for each used later for a in given section, MACRO-11 scans through the symbol tables to find all global symbols that are bound to that particular program section. MACRO-11 then writes out GSD records to the object file for these the symbols. 1.2 This ASSEMBLY process PASS is done for each program section. 2 On pass 2 MACRO-11 writes the object records to the output file while generating both the assembly listing and the symbol table listing for the program. A cross-reference listing may also be generated. Basically, assembly assembly pass 1, MACRO-l1-detected assembly the final together for pass 2 consists of except that all the same source errors steps performed 1in statements containing are flagged with an error code as the file is created. The object file that is created as consequence of pass 2 contains all the object records, 1listing with linking the relocation object records file. that hold the information necessary The information in the object file, when passed to the Task Builder or Linker, enables the global symbols 1in the object modules to be associated with absolute or virtual memory addresses, thereby forming an The and executable user may body wish description. system manual (see of to code. become This Section familiar 1information 8.3 in the with is the macro presented Preface). object in the file format applicable SOURCE PROGRAM FORMAT The legal characters for defining labels are: A @ through through Z 9 (Period) . (Dollar Sign) $ NOTE and ($) By convention, the dollar sign 1in wuse for reserved are (.) period software system DIGITAL defining Therefore symbols. should not be used MACRO-11 source these in defining characters labels in programs. however, only the first six characters are A label may be any length; significant and, therefore, must be unique among all the labels in the source program. if listing the An error first code six (M) is generated the 1in assembly characters in two or more labels are the same. redefined within the source be A symbol used as a label must not 1label with a multiple a redefined, is symbol the If program. in definition results, causing MACRO-11 to generate an error code (M) 1in the source any statement Furthermore, the assembly 1listing. program which references a multi-defined label generates an error code (D) in the assembly listing. 2.2.2 Operator Field The operator field specifies the action performed. be to It may consist of an instruction mnemonic (op code), an assembler directive, Chapters 6 and 7 describe these three types of or a macro call. operators. When the operator is an instruction mnemonic, a machine instruction is generated and MACRO-11 evaluates the addresses of the operands which follow. When the operator is a directive MACRO-11 performs certain control actions or processing operations during the assembly of the inserts source program. When the operator is a macro call, MACRO-11 the code generated by the macro expansion. field have no Leading and trailing spaces or tabs in the operator such characters serve only to separate the operator significance; field from the preceding and following fields. An operator character*, as 1is MOVE@A,B * by a space, tab, or any non-RAD50 ;The space terminates the operator MOV. MOV A,B MOV terminated in the following examples: A,B ;The tab terminates the operator MOV, ;The @ character terminates the operator MOV. Appendix A.2 contains a table of Radix-5# characters. 2-3 SOURCE Although second the MACRO-11 2.2.3 When statements statement coding Operand the field by the is above the PROGRAM are FORMAT all equivalent recommended form is MACRO-11 directives respectively. operand should it the conforms to Field operator may function, conventions. an instruction mnemonic contains program variables that are operator. The operand field may Operands Multiple in because and macro calls, as (op to be also described code), the operand evaluated/manipulated supply in arguments Chapters 6 to and 7, be expressions or symbols, depending on the operator. expressions used in the operand field of a MACRO-11 statement must be separated by a comma; multiple symbols similarly used may be delimited by any legal separator (a comma, tab, and/or space). An statement Section When operator by an operator MACRO-11 as shown in as contains shown in an to following by 1is not, the (see associated operands are statement: MACRO-11 symbols, of each MACRO-11 directive (Chapter 7) to issuing the is terminated by a semicolon when the field comment. For example, in the following statement: is type and number of MOV A,B operands ;Comment tab between MOV and A terminates beginning of the operand field; and B; and a beginning of semicolon terminates the comment field. operand is field Comment comment contains a are normally required in field a LABEL: The it .WORD directive SYM1,SYM2 description the operand 2.2.4 if statement: directive. the the code, following when the operator field macro call, associated operands a ALPHA the determine followed op the field; implicit hand, the .MACRO The an RO ,A+2 (R1) On the other directive or Refer by field expressions, MOV as preceded treated 6.3.2). the always be 1is terminated by field the a operator field and defines comma separates the operands A the operand field and When no comment field the end of the source defines follows, the the line. Field field normally begins in column 33 and extends through the optional and may contain any 7-bit characters except null, RUBOUT, carriage-return, 1line-feed, vertical-tab or form-feed. All other characters appearing in the comment field, even special characters end of ASCII or reserved then the 1line. 8-bit DEC for This field is Multinational use in MACRO-11, in the assembly May 1984 included are text. Version 5.2, checked listing 2-4 as only they for ASCII appear in legality the and source CHAPTER 3 SYMBOLS AND EXPRESSIONS This chapter describes the components of MACRO-11 instructions: character set, the conventions observed in constructing symbols, the use of numbers, operators, terms and expressions. 3.1 The the and CHARACTER SET following characters are legal in MACRO-11 source programs: 1. The letters A through Z. Both upper- and lower—-case letters are acceptable, although, upon input, lower-case letters are converted to upper-case (see Section 6.2.1, .ENABL LC). 2. Characters in the DEC Multinational 3. The 4, The characters . characters are 5. character set (MCS). A chart showing the MCS is located in Appendix A, with a list of directives that support the MCS. Specific support for the MCS is included with the description of each directive. digits @ through 9. (period) Corporation system The characters listed special Table Special Designation : Colon 3 Double Equal Double sign (dollar sign). These as Digital Equipment i 3-1 in MACRO-11 Function colon sign Label terminator. Label terminator; label as Direct macro == §$ in Table 3-1. Characters Used Character = and reserved for wuse program symbols. equal a defines global assignment operator keyword the 1label. and indicator. Direct assignment defines the symbol as operator; a global symbol. (continued Version 5.2, May 1984 3-1 on next page) SYMBOLS AND EXPRESSIONS Table 3-1 Characters Special Character Designation =2 Equal sign Used in MACRO-11 Function colon Direct assignment operator; macro keyword indicator; causes an the ==: Double sign equal colon error (M) in attempt value of 1is made # Percent sign assignment defines symbol; the symbol as a causes error Register operator; global (M) in an attempt is made the wvalue of the term indicator. Tab Item or field terminator. Space Item or field terminator. Number sign Immediate if to change symbol. Direct listing if to change symbol. % the listing ~~ expression indicator. @ At ( Left ) Right . Period Current location ’ Comma Operand field separator. : Semicolon Comment field indicator. Left Initial argument < > + sign parenthesis parenthesis angle Deferred Initial register Terminal register bracket indicator. Right Terminal angle argument indicator. indicator. indicator. counter. or expression or Y bracket expression indicator. Plus Arithmetic addition sign or - addressing Minus sign autoincrement Arithmetic operator or operator indicator. subtraction autodecrement indicator. * Asterisk Arithmetic multiplication operator. / Slash Arithmetic division (continued on operator. next page) SYMBOLS AND EXPRESSIONS Table 3-1 (Cont.) Special Characters Used in MACRO-11 Character Designation Function & Ampersand Logical AND operator. ! Exclamation point Logical inclusive OR operator. " Double quote Double ASCII character indicator. (continued Version 5.2, May 1984 3-2.1 on next page) SYMBOLS AND EXPRESSIONS The % character may be used with expression to The accumulator registers used in floating-point instructions <can defined in a similar manner. For example, with the definition be specify a register. CLR is in CLR the 1legal term or statement function to the statement %4 and clears In contrast, the contents the CLR the any example, $3+1 equivalent clears For of register 4. statement 4 contents of virtual memory location 4. ACP=%0 the statement MULF (R@) ,ACO multiplies the contents of floating-point accumulator the floating-point number addressed by R@. 3.5 register AC# by LOCAL SYMBOLS Local symbols are specially formatted symbols used as labels within a block of coding that has been delimited as a local symbol block. Local symbols are of the form n$, where n is a decimal integer from 1 to 65535, inclusive. Examples of local symbols are: 13 27$ 59$ 1948$ A local 1. symbol block is delimited in one of three ways: The range of a local symbol block usually consists of those statements between two normally-constructed symbolic labels (see Figure 3-1). Note that a statement of the form: ALPHA=EXPRESSION is a direct assignment statement (see Section 3.3) not create a label and thus does not delimit the local 2. 3. symbol but does range of a block. The range of a local symbol block is normally terminated upon encountering a .PSECT, .CSECT, .ASECT, or .RESTORE directive in the source program (see Figure 3-1). The range of a 1local symbol block directives, as follows: 1is delimited MACRO-11 Starting Version 5.2, delimiter: May 1984 .ENABL 3-11 LSB (see Section 6.2.1) through . SYMBOLS AND EXPRESSIONS Ending delimiter: .ENABL LSB or one of the Symbolic following: label (see Section 2.2.1) .PSECT (see Section 6.7.1) .CSECT (see Section 6.7.2) .ASECT (see Section 6.7.2) .RESTORE (see Section 6.7.4) encountered Section Local symbols provide branch instructions after a .DSABL LSB (see 6.2.1). a convenient means of generating and other such references within 1labels for local symbol blocks. Using local symbols reduces the possibility of symbols with multiple definitions appearing within a user program. 1In addition, the use of local symbols differentiates entry-point labels from local labels, since 1local symbols cannot be referenced from outside their respective local symbol blocks. Thus, local symbols of the same name can appear in other 1local symbol blocks without conflict. Local symbols do not appear in cross-reference 1listings and require 1less symbol table space than other types of symbols. Their wuse is recommended. When defining local symbols, use the range from 1$ to 299998 first. Local symbols within the range 30A008$ through 65535$, inclusive, can be generated automatically as a feature of MACRO-11. Such local symbols are wuseful in the expansion of macros during assembly (see Section 7.3.5). Be sure to avoid multiple definitions of local symbols within the same local symbol block. For example, if the local symbol 10$ is defined two or more times within the same 1local symbol block, each symbol represents a different address value. Such a multi-defined symbol causes an error code (P) to be generated For examples of local symbols and in a source program, see the symbol assembly 1 it # Simrle illustration 3 i by label 4 blocks as they appear ;- of locasl swumbolsi the second block is delimited XCTFAS. S 6 000000 012700 XCTPRG: MOV $IMPURERO iPoint to 7 000004 0000006 005020 1s¢ CLR (RO)+ iClear a 8 000006 CMP ROs#IMPURT tTest if at tor BNE is tlterate +1Fall in if to not rerform XCTPAS: MOV $IMPPASYRO tFoint 1% CLR CMP (RO>+ RO #IMPFPAT iClear the ares tTest if at tor BNE 1% iIterate RTS PC iReturn 020027 listing. Figure 3-1. 2 the local in imrure ares word of ares 0000006 ? 000012 001374 12 000014 012700 13 14 000020 000022 %? 15 0000286 16 000030 0000006 005020 020027 0000006 001374 000207 Figure 3-1 Assembly Listing Showing to rass of if rass storage oOf initialization ares ares not so Local Symbol BRlock ADDRESSING MODES 5.3 AUTOINCREMENT MODE Format: (ER )+ The contents of the register (ER) are incremented immediately being used as the address of the operand (see Note below). Examples CLR (RO)+ ;Each CLR (R4)+ ;the CLR (R2)+ ;contained in the specified ;register and increments ;that register's contents ;by instruction clears word at the address two. NOTE Certain special instruction/address mode combinations, which are rarely or never used, do not operate the same on all PDP-11 processors, as described below. In the autoincrement mode, both the JMP and JSR instructions autoincrement the register before its use on the PDP-11/40 but not on the PDP-11/45 or 11/10. In double operand instructions having the addressing form Rn, (Rn)+ or Rn,-(Rn), where the source and destination registers are the same, the source operand 1is evaluated as the autoincremented or autodecremented value, but the destination register, at the time it is used, still contains the originally intended effective address. In the following example, as executed on the PDP-11/40, Register R@ originally contains 1008(8): MOV RO, (RA)+ ;The ;to MOV RA,- (RO) ;The ;to The use avoided, with the quantity 180 location quantity 102 location is moved 108. is moved 100. of these forms should be since they are not compatible entire family of PDP-11 processors. An error code (Z) 1is printed in the assembly 1listing with each instruction which 1is not compatible among all members of the PDP-11 family. Version 5.2, May 1984 5-3 after ADDRESSING 5.4 MODES AUTOINCREMENT DEFERRED MODE Format: @ (ER)+ The register (ER) The contents pointer. contains of the a pointer register to are the address incremented of the after operand. being used as used as Example: CLR @(R3)+ ;The contents of register 3 point ;to the address of a word to ;cleared before the contents ;register are incremented by 5.5 be of the two. AUTODECREMENT MODE Format: - (ER) The contents the address of of the the register operand (ER) (see are Note decremented in Section before being 5.3). Examples: CLR CLR CLR - (RO) ;Decrement - (R3) - (R2) ;fied register (@, 3, or 2) ;before using its contents ;as the address of the word the contents of the speci- by two to be ;cleared. 5.6 AUTODECREMENT DEFERRED MODE Format: @- (ER) The contents a pointer to of the register (ER) are decremented the address of the operand. before being Example: CLR @-(R2) ;Decrement the contents of ;register 2 by two before ;using its contents as a pointer ;to the address ;cleared. of the word to be used as GENERAL ASSEMBLER DIRECTIVES |.TITLE | .TITLE Directive. 6.1.2 Format: .TITLE string string where represents: identifier of one or more Radix-50 characters. An character An identifier of one or more 8-bit DEC Multinational Any MCS character must be preceded by six (MCS) characters. set Radix—-50 characters. Appendix A.2 contains a table of Radix-5# contains a Appendix characters. A.3 table of MCS characters. The .TITLE directive assigns a name to the object module. The name first six non-blank Radix-50 characters followed by the is assigned optional characters from the MCS. MACRO-11 ignores all spaces and/or up to the first non-space/non-tab character following the .TITLE tabs characters Radix-56 six Any characters beyond the first directive. are evaluated for MCS legality. The name of an object module (specified in the appears in the 1load map produced at link time. module name which the Librarian will recognize. .TITLE directive) This is also the If the .TITLE directive is not specified, MACRO-11 assigns the default If more than one .TITLE directive to the object module. .MAIN. name .TITLE directive 1last the program, source the in specified is encountered during assembly pass 1 establishes the name for the entire object module. If the .TITLE directive is specified without an object module name, or if the first non-space/non-tab character in the object module name is not Radix-58 character, the directive is flagged with an error code (A) in 6.1.3 the assembly listing. [SBTTL] .SBTTL Directive Format: .SBTTL string where: string Version 5.2, represents an identifier of one or 7-bit ASCII or 8-bit DEC Multinational May 1984 6-15 more printable characters. GENERAL ASSEMBLER DIRECTIVES The .SBTTL directive immediately 1is preceding the wused to produce assembly a 1listing table and following the .SBTTL directive on the second line each page 1in the listing. The subheading in the until altered example, by the the subsequent Conditional be printed as text in the program. For assemblies the assembly sequence the of the header of text will be listed assemblies second 1line listing. During contents text Conditional to .SBTTL directive of print directive: .SBTTL causes a to pass number, 1, the a in table page the of header contents number, and of the containing the text assembly the 1line accompanying each assembly listing. The listing of the table of contents is suppressed whenever an .NLIST TOC directive is encountered in the source program (see Table 6-2). An example of a table of contents listing is shown in Figure 6-4. -SBTTL directive MTTEMT - TABRLE OF is RT-11 MULTI-TTY for the SE MACRO EMT V05.00 Saturday 08-Jan-83 10:00 CONTENTS 50- 1 51~ 1 +MTRCTO - Reset 92~ i +MTOUT - Sindle character outrut EMT +MTATCH - Attach to S4- 1 +MTOTCH ~ Detach from SO 56~ 57~ 1 1 1 +MTFPRNT +MTSTAT MTYTIN - -~ Print message EMT - Return multi-terminsl Sinsle character inrut 9859 60~ 1 1 1 MTTGET TTRSET MTTPUT 62~ i MTRSET 63~ 1 ESCAPE Figure 6.1.4 printed 6-4 -~ -~ - CTRL/0 EMT terminal a3 EMT terminal EMT sustem status Get a8 character from the ring Reset terminal status bits Sindgle character output buffer Stor SEGUENQE and detasch TEST all terminals EMT attached to a3 .Job SUBROUTINE Assembly Listing Table of Contents |.IDENT| LIDENT Directive Format: .IDENT where: /string/ string represents a string of six or fewer Radix-50 characters which establish the program identification or version number. This string is included ‘in the global symbol directory of the object module and is printed in the 1link map 6-16 and librarian listing. GENERAL ASSEMBLER DIRECTIVES / / represent delimiting characters. These delimiters may other than the characters, printing any paired be the or (<), equal sign (=), the left angle bracket (;), as long as the delimiting character is semicolon Note not contained within the text string itself (see If the delimiting characters do Section 6.3.4). in is character delimiting not match, or if an illegal L.IDENT directive is flagged with an error the used, code (A) in the assembly listing. .TITLE In addition to the name assigned to the object module with the directive (see Section 6.1.3), the .IDENT directive allows the user to label the object module with the program version number. An example of the .IDENT .IDENT directive is shown below: /V01.00/ is converted to Radix-50 representation and The character string This symbol directory of the object module. global the in included character string also appears in the link map produced at 1link time and the Librarian directory listings. When more than one .IDENT directive is encountered in a given program, the 1last such directive encountered establishes the character string which forms part of the object module identification. The in a program. The RT-11 linker allows only one .IDENT string linker uses the first .IDENT directive encountered during the first pass to establish the character string that will be identified with all of the object modules. in The RSX-11M task builder allows an .IDENT string for each module the program. The TASK Builder uses the first .IDENT directive in each module to establish the character string that will be identified with Like the RT-11 Linker, the RSX-11M Task Builder uses the that module. JIDENT directives encountered on the first pass. |.PAGE| JPAGE Directive/Page Ejection 6.1.5 Format: « PAGE a perform to The .PAGE directive is used within the source program This directive takes no page eject at desired points in the listing. top of the next page when the arguments and causes a skip to It also causes the page number to be incremented and the encountered. line sequence counter to be cleared. appear in the listing. The .PAGE directive does not When used within a macro definition, the .PAGE directive 1is 1ignored during the assembly of the macro definition. Rather, the page eject In this case, operation is performed as the macro itself is expanded. the page number is also incremented. 6-17 GENERAL ASSEMBLER DIRECTIVES Page ejection 1. is accomplished in three other ways: After reaching a count of 58 lines in the 1listing, MACRO-11 automatically performs a page eject to skip over page perforations on 1line printer paper and to formulate 2. teleprinter changed. output A is page eject encountered. into pages. performed If the when The a form-feed page number form-feed character 1is not character is appears within macro definition, a page eject occurs during the assembly the macro definition, but not during the expansion of macro itself. A page eject resulting from the use of 3. form-feed character causes the page number to and the line sequence counter to be cleared. be incremented A a new page eject is performed file. In this case line sequence count is 6.1.6 a of the the .REM Directive/Begin when the page reset. Remark encountering number is incremented source and the .REM Lines Format: .REM where: comment-~character comment-character represents a 7-bit ASCII Multinational character end of the comment character reoccurs. The .REM directive allows a programmer to insert into a MACRO-11 source program without having lines with the comment character (;). The text delimiting characters 1is treated as comments. any number of lines. «TITLE Remark .REM All the to be For & text found. Any CLR 8-bit that block block marks when of DEC the the comments to precede the comment between the specified The comments may span example: example that comment a or resides lines until character may here is interpreted another ampersand be in used place of PC by MACRO-11 character the is ampersand.& « END 6.2 FUNCTION The following DIRECTIVES function invoke or to assembly process 5.2, 1984 the Version inhibit May directives certain MACRO-11 are included functions itself, 6-18 in and a source operations program to incidental GENERAL ASSEMBLER DIRECTIVES [(ENABL] | .DSABL| 6.2.1 .ENABL and .DSABL Directives Formats: . ENABL arg .DSABL arg where: arg represents one arguments defined or more of in Table 6-3. symbolic optional the Specifying any argument in an .ENABL/.DSABL directive other than those listed in Table 6-3 causes that directive to be flagged with an error code (A) in the assembly listing. Table 6-3 Symbolic Arqguments of Function Control Directives Argument Default ABS Disable AMA Disable Function absolute Enabling this function produces convert this (as format output to required Formatted Binary by the Absolute in output Loader), use the FLX utility. To format. FILES-11 binary relative Enabling this function causes all addresses (address mode 67) to be assembled (address mode 37). as absolute addresses the during useful is function This debugging phase of program development. CDR Disable source causes function this Enabling from 73 to the end of the line, to columns be treated as a comment. use FPT Enable Disable common in card columns 73-840. numbers CRF most The this feature is to permit sequence of the inhibits function Disabling this specified in the command string. Enabling this This generation of cross-reference output. if meaning has only function is generation output cross-reference point function truncation; causes floating- disabling this function causes floating-point rounding. LC Enable Disabling this function causes MACRO-11 ASCII all convert before processing it. input (continued to on to upper-—-case next page) GENERAL ASSEMBLER DIRECTIVES Table 6-3 (Cont.) Symbolic Arguments of Function Control Argument Default Function An example of directives, program, LCM Disable Directives is the as shown .ENABL LC and .DSABL typically used in Figure in a LC source 6-5. This argument, if enabled, causes the MACRO-11 <conditional assembly directives .IF IDN and .IF DIF to be alphabetically case sensitive. By default, these directives are not case sensitive. LSB Disable This argument disabling of permits the a local enabling or symbol block. Although a local symbol block established by encountering a 1is new normally symbolic label, a .PSECT directive or a .RESTORE directive 1in the source program, an .ENARL LSB directive establishes a new local symbol block which is not terminated until (1) another (2) .ENABL another directive or encountered LSB is encountered, symbolic label, .RESTORE following directive a paired or .PSECT is .DSABL LSB directive. The basic regard function to instances program followed program of .PSECTS this 1is directive 1limited with those where it is desirable to leave a section temporarily to store data, by a return to the original section. This temporary dismissal of the current program section accompl ished through the .SAVE directives (see Sections 6.7.3 Attempts to to define 1local may and and also be .RESTORE 6.7.4). symbols in an alternate program section are flagged with an error code (P) in the assembly listing. MCL Disable This to argument, search all if enabled, known macro definition that symbols appearing in MACRO-11 1is unknown symbol By default, for a matches any undefined the opcode field of a disabled. in MACRO-11 libraries statement. option causes macro If the MACRO-11 opcode this finds field, an it either declares a (U) undefined symbol error, or declares the symbol an external symbol, depending on the .ENABL/.DSABL option PNC Enable setting Disabling output this of GBL (described function until an encountered within LJ(ENABL the same inhibits PNC 5.2, May 1984 binary statement is module. (continued Version below). on next page) GENERAL ASSEMBLER DIRECTIVES If an expression following the .WORD directive contains a null it is interpreted as a zero, .=500 value, | :Stores the values @, 5, and @ in ' 5, «WORD in the following example: as shown ;location 500, ;respectively. A statement with a blank operator field 502, (one that and 504, contains a symbol other than a macro call, an instruction mnemonic, a MACRO-11 directive, or a semicolon) is interpreted during assembly as an implicit .WORD directive, as shown in the example below: .=440 LABEL: 100,LABEL ;Stores the value 100 in location 4490 ;and the value 440 in location 442. NOTE You should not use this technique to generate .WORD directives because it may not be included in future PDP-11 assemblers. 6.3.3 ASCII Conversion Characters The single quote (') and the double quote (") characters are unary Used in in any MACRO-11 expression. that can appear operators MACRO-11 expressions, these characters cause a 16-bit expression value to be generated. When the single quote is used, MACRO-11 takes the next character in the expression and converts it from its 7-bit ASCII or 8-bit DEC The high-order byte Multinational value to a 16-bit expression value. of the resulting expression value 1is always zero (#). The 16-bit value is then used as an absolute term within the expression. For example, the statement: MOV moves the #'A,R0O following 16-bit expression value into register 0: [00000000|01000001| t;mBinary Value of ASCII A Thus the expression 'A results The single quote carriage-return, (') character must not be followed by null, RUBOUT, line-feed, or form-feed character; it is, an error code (A) Version 5.2, in a value of 101(8). May 1984 is generated in the assembly listing. 6-25 a if GENERAL ASSEMBLER DIRECTIVES When the in the double quote is expression and used, MACRO-11 takes :onverts them to a the next two 16-bit binary characters expression value from their 7-bit ASCII or 8-bit DEC Multinational values. This 16-bit wvalue is then used as an absolute term within the expression. For example, the statement: MOV moves the #"AB,R@ following 16-bit expression value into register 9: |01000010|91000001| t‘-k----v----B'J*".r'xary Value of ASCII A Binary Value of ASCII Thus the expression The double must not be quote "AB (") results character, followed by form-feed character; assembly listing. a if LASCII a like value the of it is, is an error 041101(8). single carriage-return, The ASCII character set Multinational character set 6.3.4 in B quote null, code (') RUBOUT, (A) is character, line-feed, generated 1listed 1in Appendix A.l. listed in Appendix A.3. is in The or the DEC [-Asci] Directive Format: .ASCII where: /string string 1s l/.../string a string of n/ printable 7-bit Multinational characters. line-feed, RUBOUT, and all characters, cause The flagged with MACRO-11 / / of from the represent an end error the delimiting code (A) of the the or 8-bit vertical-tab, non-printable and used in an form-feed scan detecting character ASCII carriage-return an error code (I) if carriage-return and characters end except The other matching DEC null, ASCII form-feed, .ASCII string. characters are because 1line, these preventing delimiter at the string. characters. These delimiters may be any paired printing characters, other than the equal sign (=), the left angle bracket (<), or the semicolon (;) (see Note at end of section), as long as the delimiting character is not contained within the text string itself. If the delimiting characters do not match, or if an illegal delimiting character is used, the code (A) in Version 5.2, May 1984 ASCII directive is flagged the assembly listing. 6-26 with an error GENERAL ASSEMBLER DIRECTIVES The .ASCII directive translates character strings into their 7-bit ASCII or 8-bit DEC Multinational equivalents and stores them in the object module. A non-printing character can be expressed only by Each set 1its equivalent octal value within angle brackets. enclosing For example, of angle brackets so used represents a single character. in the following statement: <15>/ABC/<A+2>/DEF/<K5><4> LASCII represent the wvalues of the expressions <15>, <A+2>, <5>, and <4> expression must reduce to bracketed Each characters. non-printing eight bits of absolute data or less. in the characters Angle brackets can be embedded between delimiting but angle brackets so used do not take on their character string, For characters. for non-printing usual significance as delimiters example, the statement: .ASCII /ABC<expression>DEF/ contains a single ASCII character string, and performs no evaluation This use of the angle brackets of the embedded, bracketed expression. is shown in the third example of the .ASCII .ASCII directive below: ;Stores the binary representation /HELLO/ ;of the letters HELLO in ;consecutive .ASCII /ABC/<15><12>/DEF/ ;Stores the binary representation ‘ ;of the characters A,B,C,carriage sreturn,line feed,D,E,F in eight ;consecutive LASCII bytes. ;Stores the binary representation /A<15>B/ ;of the characters A, <, 1, 5, >, ;and B in six consecutive bytes. NOTE The semicolon (;) and equal sign (=) can be wused as delimiting characters in the string, but care must be exercised in so doing because of their significance as a comment indicator and assignment operator, respectively, as illustrated in the examples below: .ASCII ;ABC;/DEF/ ;Stores the binary ;representation of :the characters ;A, B, ¢, ;F in six D, E, and ;consecutive bytes; ;not recommended ;practice. Version 5.2, five bytes. May 1984 6-27 GENERAL ASSEMBLER DIRECTIVES .ASCII /ABC/;DEF; ;Stores the binary ;representations of ;the characters A, ;B, and C in ;consecutive ;the ;E, three bytes; characters F, and streated ; as D, are a ;comment. .ASCII /ABC/=DEF= ;Stores the binary ;representation ;the characters ;B, C, D, E, ;F in six ;consecutive ;not of A, and bytes; recommended ;practice. An equal sign is treated as an assignment operator when it appears as the first character in the ASCII string, as illustrated by the following example: .ASCII =DEF= ;The direct ;assignment ;operation ; cASCII=DEF is ;performed, and ;syntax ;1s error generated a (Q) upon ;encountering the ;second = sign. 6.3.5 .ASCIZ |.AsCIZ] Directive Format: .ASCIZ | where: /string string 1/.../string n/ 1is a string of printable 7-bit ASCII or 8-bit DEC Multinational characters. The vertical-tab, null, line-feed, RUBOUT, and all other non-printable ASCII characters, except carriage-return and form-feed, cause The an error code (I) if carriage-return and flagged scan the Version 5.2, May of with the matching 1984 an error line, code used in an form-feed (A) preventing delimiter. 6-28 .ASCIZ string. characters are because they MACRO-11 from end the detecting GENERAL ASSEMBLER DIRECTIVES Table 6-6 (Cont.) Legal Condition Tests for Conditional Assembly Directives Conditions Positive Complement IDN Arguments DIF Assemble Block If: Two 7-bit ASCII or 8-bit DEC Arguments are (or different). macro-type arguments directives are not alphabetically case sensitive by default. The user may enable these directives to be case sensitive by wusing the . ENABL option (. ENABL Multinational IDN/.IF DIF identical The .IF conditional LCM) . NOTE A macro-type argument (which is a form of symbolic argument), as shown below, is enclosed within angle brackets or denoted with an (as described wup-arrow construction in Section 7.3). <A,B,C> ~/124/ An example of a conditional .IF EQ ALPHA+l assembly directive ;Assemble block follows: if ALPHA+1=0 - » « ENDC The two operators & and ! have special meaning conditions, in that they are allowed in grouping & Logical AND operator ! Logical For example, .IF DF inclusive OR operator the conditional SYM1l & within DF and NDF symbolic arguments. assembly statement: SYM2 »* L « ENDC results and in the assembly of the conditional block if the SYM2 are both defined. Version 5.2, May 1984 6-55 | symbols S¥YM1 GENERAL ASSEMBLER DIRECTIVES Nested conditional Conditional Conditional directives take the form: Iy Assembly Directive Assembly Directive » « ENDC « ENDC For example, the .IF DF SyYM1 .IF DF SYM2 following conditional directives: - . ENDC . ENDC can govern outermost nested Each whether conditional conditional directive. An block MACRO-11 permits levels. Any is 1is is assembly flagged a with to occur. within block with nesting an the deeper the program be example level above, of if evaluation the of occurs. terminated with an J.ENDC encountered outside a an error code (0) the assembly depth of 16(10) conditional assembly that error In no must directive statement flagged is unsatisfied, statements LENDC assembly listing. depth assembly condition attempts code (0) to in in exceed the this assembly conditional nesting level listing. IFF [IFT] 6.9.2 Subconditional Assembly Block Directives | AFTF) Formats: iy .IFF .IFT . IFTF Subconditional blocks to directives may l. The assembly of the block 2. The 3. be placed within conditional assembly indicate: of an tests alternate false. body of code when assembly of a non-contiguous body of conditional assembly block, depending upon conditional test in entering the block. The unconditional assembly conditional assembly block. of a body of the code the condition within result of code within the the a GENERAL ASSEMBLER DIRECTIVES 6.10.2 | | .INCLUDE L.INCLUDE Directive Format: .INCLUDE where: string string represents a delimited string specification of a macro source that file. 1is the file The .INCLUDE directive is used to insert a source file within the source file currently being used. When this directive is encountered, Iis file source current the an implicit .PAGE directive is issued, stacked, and the source file specified by the directive is read into memory. When the end of the specified source file 1is reached, an implicit .PAGE directive is issued, the original source file is popped from the stack, and assembly resumes at the 1line following the directive. A source file can also be inserted within a source file that has already been specified by the .INCLUDE directive. In this case the original source file and the first source file specified by the .INCLUDE directive are stacked and the second specified source When the end of the second source file is read into memory. 1is file reached, the first specified source file is popped from the stack and assembly resumes at the line following the directive, and when the end of the first specified source file is reached, the original source file is popped from the stack and assembly of that file is started again at the line following the .INCLUDE directive. An implicit .PAGE directive precedes and follows each included source file. The maximum nesting level of source files specified by the .INCLUDE directive |is five. If any information is omitted from the source file argument, default values are assumed. The default file specification for MACRO-11/RT-11 is DK:.MAC, and for other systems it is SY:.MAC. The ,INCLUDE directive is used as follows: . INCLUDE /DR3:[1,2]MACROS/ . INCLUDE ?DK: SYSDEF? . INCLUDE \CURRENT.MAC\ ;File MACROS.MAC NOTE If you are operating using MACRO-11] with system, an RT-11 the device driver for the specified device that the .INCLUDE file resides on must already be loaded, either explicitly with the KMON LOAD command, or implicitly by reference to the device on the original MACRO-11 command line. Version 5.2, May 1984 6-61 g, MACRO DIRECTIVES Macro definition arguments (dummy) and macro call arguments (real) normally maintain a strict positional relationship. That is, the first real argument in a macro call corresponds with the first dummy argument in a macro definition. Only the use of keyword arguments in a macro call can override this correspondence (see Section 7.3.6). For example, call the following macro definition and contain multiple .MACRO REN its arguments: associated macro A,B,C - - » REN ALPHA,BETA,<C1l,C2> Arguments which themselves contain separating enclosed in paired angle brackets. For example, REN causes the <MOV entire MOV characters must the macro call: be X,¥>,#44 ,WEV expression X, Y to‘replace all occurrences of the symbol A in Real arguments strings and are within treated a as the macro definition. macro <call are considered to be character a single entity during the macro expansion. The up-arrow (") construction allows angle brackets to be passed as part of the argument. This construction, for example, could have been used in the above macro call, as follows: REN causing ~/<MOV X,Y>/,#44,WEV the entire character string <MOV X,¥> to be passed as an argument. Because of the use of the up-arrow () shown above, care must be taken when passing an argument beginning with a unary operator ("0, °D, "B, "R, “F ...). These arguments must be enclosed in angle brackets (as shown below) or MACRO-11 will read the character following the up-arrow as REN The a delimiter. <°0 following 411>,X,Y macro REN call: #44 ,WEV~/MOV X,Y/ contains only two arguments (#44 up-arrow is a unary operator preceded by an argument and (see WEV"/MOV X,Y/), Section 3.1.3) because the and it is not separator. As shown in the examples above, spaces can be used within bracketed argument constructions to increase the legibility of such expressions. When 8-bit DEC Multinational character set (MCS) characters are used in argument strings, they must be enclosed in angle brackets (<>) or the argument delimiter following are legal (/) must be preceded by an up-arrow uses of the MCS characters <This string can contain MCS characters> “/This Version 5.2, string can May 1984 contain MCS characters/ 7-5 in (7). The the argument string: MACRO 7.3.1 Macro Nesting Macro to DIRECTIVES nesting occurs another. dynamic memory To an pass macros, o where The depth used by argument enclose the of the source containing the expansion nesting program legal argument of one allowed macro depends being the macro delimiters definition brackets, as shown in the coding sequence below. angle brackets for each 1level of nesting is definition, not in the macro call. .MACRO LEVEL1 LEVEL2 <DUM1> LEVEL2 <DUM2> the a call amount of assembled. argument in includes upon to nested within angle This extra set of required in the macro DUM1,DUM?2 . ENDM .MACRO LEVEL2 DUM3 DUM3 ADD $10,40 MOV RO, (R1)+ e . ENDM A call to the LEVEL1 LEVEL1 causes the <MOV following MOV When macro, shown below, X,R@>,<MOV macro for example: R2,R0@> expansion to occur: X, R0 ADD $10,R0 MOV R@, (R1)+ MOV R2, R0 ADD #10,RP MOV RO, (R1)+ macro as — definitions are called until the outer example, in the following .MACRO LV1 A,B LV2 C nested, macro coding: the has 1inner been definition called and <cannot expanded. be For - - .MACRO o L » . ENDM . ENDM the been LV2 macro cannot expanded. definition expanded. cannot be called Likewise, be called and any and expanded macro expanded until defined until the LVl within LV2 the has macro has LV2 macro also been MACRO DIRECTIVES This automatic generation is invoked on each call of a macro whose definition contains a dummy argument preceded by the question mark (?) character, as shown in the macro definition below: .MACRO ALPHA, A,?B TST A BEQ B ADD #5,A ;:Contains dummy argument B preceded by ;jquestion mark. B: . ENDM real A local symbol is created automatically by MACRO-11 only when a 1is either null or missing, as shown in argument of the macro call If the real argument is specified in the macro call, Example 1 below. however, MACRO-11 inhibits the generation of a local symbol and normal (Examples 1 argument replacement occurs, as shown in Example 2 below. and 2 are both expansions of the Alpha macro defined above.) Create a Local Symbol EXAMPLE 1: ALPHA R1 TST R1 30000$ BEQ for the Missing Argument: ;Second argument is missing. ;Local symbol is created. #5,R1 ADD 30000S: Do Not Create a Local Symbol: EXAMPLE 2: ALPHA R2,XYZ TST R2 BEQ ADD XYZ ;Second argument XYZ ;Normal is specified. argument replacement occurs. #5,R2 XYZ: Automatically created local symbols are restricted to the first 16(10) arguments of a macro definition. Automatically created local symbols resulting from the expansion of a as described above, do not establish a local symbhol block in macro, their own right. local for automatic earmarked arguments several When a macro has symbol generation, substituting a specific label for one such argument argument its constructs MACRO-11] because assembly errors risks Therefore, the the point of macro invocation. at 1list substitution appearance of a label, the .(ENABL LSB directive, or the .PSECT create a new local symbol will expansion macro the 1in directive, The new local symbol block could leave local symbol references block. in the previous block and their symbol definitions in the new one, a later Furthermore, causing error codes in the assembly 1listing. in the new block may symbols 1local creates that expansion macro error duplicate one of the symbols in question, causing an additional code (P) in the assembly listing. MACRO 7.3.6 DIRECTIVES Keyword Arguments Format: name=string where: The name represents the dummy string represents the real keyword argument unless delimited Macros may be of a call. macro argument may contain with, in When and/or a keyword the dummy the or not the dummy argument fails, the entire argument positional real argument. A DEC Multinational enclosed keyword list of argument. real the in angle argument a macro A may be list of a is may the 1 ; 3 4 ; Define ;: list 5 ; 6 7 8 appears in the can real string that used argument becomes matches be a anywhere part also call the a real specified name, keyword. treated in of be but, 1in the as keyword the in this If the argument ordering anywhere case, does in not macro 9 10 . ENDM having TEST keywords in dummy CONTRL=1,BLOCK,ADDRES=TEMP CONTRL BLOCK ADDRES 12 : ; H 15 16 17 18 19 400000 Now invoke several times TEST A,B,C gRneA0a8 QPOBRAAG .WORD A goaRaz 900004 @a0eeaG QP00QBAG .WORD .WORD C 00006 @ag040 TEST .WORD ADDRES=20,BLOCK=30,CONTRL=40 40 00010 @00030 000020 . WORD «WORD 30 20 200006 gO0B12 B 20 21 Popola TEST BLOCK=5 000014 Q00001 .WORD 1 gAPB16 000020 QOOAOAS QPOO0BAG .WORD «.WORD 5 TEMP Version 5.2, May 1984 affect argument 11 14 of the ME .MACRO « WORD .WORD . WORD 13 a next arguments dummy positional specified list the arguments. .LIST 2 arguments. defined with specification is set and macro of keyword with, (<>). argument ordering separators was specified definition keyword argument positional character brackets argument 7.3. called argument whether if embedded specified match The argument. in the dummy argument list of a macro becomes the default real argument at argument however, symbolic Section argument appears specified string call, for not described defined When a keyword definition, the macro as argument, 7-10 MACRO DIRECTIVES NARG CONOGUADMUHUNM +TITLE _LC ME + of Examrle the + NARG R WE W +ENABL LIST +MACRO NULL +NARG NUM SYM +IF EQ +MEXIT +IFF SYM +REFPT NOP +ENDM NUM +ENDC +ENDM NULL 000000 + NARG +IF EQ 000000 SYM SYM +MEXIT « IFF +REFT NOF +ENDM +ENDC 2 000000 NULL 0000046 +NARG +IF EQ +MEXIT . IFF +REFT 000000 0002490 NOF +ENDM NOF 000002 000004 000006 000010 000012 000240 000240 000240 000240 000240 000001 SYM SYM b NOF NOP NOFP NOF NOF +ENDC «END 000001 24 Figure 7-1 Example of .NARG Directive | .NCHR]| .NCHR Directive 7.4.2 Format: [label:] where: label symbol .NCHR symbol,<string> represents an optional statement label. represents any legal symbol. represents any legal separator This symbol is the in characters of number the to equated not 1is symbol If a specified character string. the .NCHR directive is flagged with an specified, error code (A) in the assembly listing. and/or tab). 7-13 (comma, space, MACRO <{string> represents DIRECTIVES a string of printable 8-bit DEC Multinational character string contains (comma, space, and/or tab) 7-bit ASCII characters. or If the a legal separator the whole string must be enclosed within angle brackets (<>) or be delimited wusing the wup-arrow (") construction, explained 1in Section 7.3. If the delimiting characters do not match or if the ending delimiter cannot be detected because of in a syntactical error the character string (thus prematurely terminating its evaluation), the .NCHR directive is flagged with an error code (A) in the assembly listing. The .NCHR directive, is used to determine string. This arguments, An example of which can appear anywhere in a MACRO-11 the number of characters in a specified directive is useful in calculating the length the .NCHR directive is 1 shown in +TITLE NCHR +ENABL +LIST LC ME Figure program, character of macro 7-2. 2 3 4 5 é it $ 7 ;- 8 9 10 Illustrate +MACRO STRING + NCHR directive MESSAG $$$,MESSAG +WORD $%8 12 13 14 +ASCII +EVEN /MESSAG/ STRING <Hello> +ENDM N 000000 MSG1¢ 000005 +« NCHR $$%$,)Hello 000000 000002 000003 00000% 110 14% «WORD +ASCII $$¢ /Hello/ 000004 000008 154 154 000006 157 +EVEN 17 i8 000001 Figure JNTYPE NCHR i1 15 16 7.4.3 the 7-2 +END Example of .NCHR Directive |-.NTYPE] Directive Format: [label:] where: label symbol .NTYPE symbol ,aexp represents represents equated following error 5.2, May 1984 code optional any to specified, Version an legal the 6-bit statement label. symbol. This addressing expression (aexp). If a the .NTYPE directive is (A) in 7-14 the assembly symbol mode symbol flagged listing. is of the 1is not an with MACRO DIRECTIVES represents ’ and/or tab). any legal separator represents any legal address expression, aexp opcode. an with code (A) error listing. space, (comma, as used If no argument is specified, an assembly the 1in appear will The .NTYPE directive is used to determine the addressing mode ofonlya specified macro argument. Hence, the .NTYPE directive can appear within a macro definition; if it appears elsewhere, it is flagged with an error code (0) in the assembly listing. An example of the use of an .NTYPE directive in a macro definition shown |is in Figure 7-3. 1 2 3 4 b & it 8 i +TITLE NTYPE +ENABL +LIST LC ME i Illustrate the NTYPE directive 7 9 +MACRO 10 11 +IF EQG 12 13 SAVE +NTYPE $$$370 MOV ARG~ (SP) iSave in redgister wmode MOV $ARG» - (SP) $Save in non-redister wmode SAVE +NTYPE R1 $$$:R1 MOV R1s-(SP) $Save in redgister mode MOV $R1,»~-(SP) $Save in non-register wmode SAVE +NTYPE TEMP $$$»TEMP MOV TEMFP»-(SP) iSave in redgister mode MOV $TEMP,-(SP) iSave in rnon-redister mode +WORD 0 +IFF 14 1% +ENDC +ENDM 14 17 18 19 000000 000000 000001 010146 +IF EQ ARG $$%,ARG $3%%870 +IFF +ENDC 20 21 000002 000002 22 000067 000006 000000 2% 000001 Figure 7-3 For additional $%$%%70 s IFF 012746 23 0000086 24 +IF EQ +ENDC TEMP: +END Example of .NTYPE Directive in Macro Definition information Chapter 5 and Appendix B.2. concerning 7-15 addressing modes, refer to MACRO 7.5 <ERROR AND DIRECTIVES [.ERROR] .PRINT DIRECTIVES Format: [label:] where: . ERROR label expr [expr] represents an optional statement label. represents an optional expression whose output when during -~ the the represents beginning the directive. DEC .ERROR directive assembly. denotes text ;text of message The text Multinational the text value is encountered string. associated can is with the be 7-bit ASCII characters. .ERROR or 8-bit The .ERROR directive is used to output messages to the 1listing file during assembly pass 2. A common use of this directive is to alert the user to a rejected or erroneous macro call or to the existence of an 1llegal set of conditions in a conditional assembly. If the listing file is not specified, the .ERROR messages are output to the command Upon output encountering MACRO-11 For an outputs a .ERROR single directive line An 2. The sequence number 3. The value of the current 4. The value of the expression, 5. The source error example, the causes A code iInvalid Seq. Loc. Exp. No. No. Value 512 005642 0QP@A76 Version 5.2, in May the 1984 of the .ERROR location containing following line in a source program, (P) line a anywhere containing: l. «.ERROR P device. if the directive statement counter one is .FERROR specified directive. directive: macro following argument form to be output to the listing file: Text .ERROR 7-16 A ;iInvalid macro argument MACRO DIRECTIVES [.PRINT] The .PRINT directive is identical in function to the .ERROR directive, except that it is not flagged with the error code (P). 7.6 .IRP AND .IRPC INDEFINITE REPEAT BLOCK DIRECTIVES: An indefinite repeat block is similar to a macro definition with only At each expansion of the indefinite repeat range, one dummy argument. real this dummy argument is replaced with successive elements of a the repeat directive and its associated range Since 1list. argument of macro type this the source program, are coded in-line within expansion does not require calling the macro by name, and definition macros previously as required in the expansion of the conventional described this in chapter. An indefinite repeat block can appear either within or outside another The rules macro definition, indefinite repeat block, or repeat block. for specifying indefinite repeat block arguments are the same specifying macro arguments (see Section 7.3). as .IRP] 7.6.1 JIRP Directive Format: .IRP sym,<argument list> [label:] » (range of indefinite repeat block) » . ENDM where: label represents an optional statement label. NOTE Although it is legal for a label to appear .IRPC and .REPT. this practice is directive, .IRP an on case .of the in discouraged, especially nested macro definitions, because invalid labels or Jlabels constructed with the the cause will character concatenation may This macro directive to be ignored. the of termination improper in result macro definition. This NOTE also Version 5.2, May 1984 for 7-17 applies to MACRO sym represents DIRECTIVES a successive dummy real argument that If no dummy .IRP directive 1is flagged in the assembly listing. represents and/or {argument list> replaced with from within the angle argument is specified, the brackets. ’ is arguments any legal with an separator error code (comma, (2) space, tab). represents a 1list of real arguments enclosed within angle brackets that is to be used in the expansion of the indefinite repeat range. A real argument 8-bit may DEC consist arguments must space, (comma, are range specified, represents of one Multinational the or more be separated and/or tab). by no taken. action block of 7-bit ASCII characters; any legal no real If is code to be separator arguments repeated for each occurrence of a real argument list. The range may contain other definitions, repeat ranges and/or the . ENDM directive (see indicates the Section end or multiple once in the macro MEXIT 7.1.3). of the indefinite a dummy repeat block range. The real .IRP directive is used arguments specified process occurs during the to replace in an argument expansion of an argument string. with This indefinite successive replacement repeat block range. An example 7.6.2 of the use of the .IRP directive is shown in Figure JIRPC Directive 7-4. lRPC | Format: [label:] .IRPC sym,<string> » (range of indefinite repeat block) » . ENDM where: label sym represents an in 7.6.1). Section represents successive a optional dummy real statement argument 5.2, May 1984 7-18 is (see Note replaced with arguments from within the angle dummy argument is specified, the brackets. If no +IRPC directive is flagged in the assembly listing. Version that label with an error code (A) MACRO DIRECTIVES separator legal any represents tab). ’ space, (comma, and/or 7-bit ASCII or 8-bit DEC represents a list of within angle enclosed characters, Multinational the of expansion the 1in used brackets, to be angle the Although range. repeat indefinite <string> brackets contains the required only when are their characters, separating recommended legibility. for represents the block of code to be range string 1is wuse repeated once of a character in the list. repeat definitions, macro The range may contain MEXIT directive (see Section the and/or ranges occurrence each for 7.1.3). indicates the end of the indefinite . ENDM repeat block range. character single permit to 1is available J.IRPC directive The On each iteration of substitution, rather than argument substitution. the indefinite repeat range, dummy the argument successive characters in the specified string. is replaced with IRPTST +LIST ME i Illustrate the .IRP and +IRPC directives ; by creating a rair of RADSO tables ;w REGS: 000000 000000 000002 000004 000006 000010 000012 000014 000016 12 13 000020 14 15 000020 000022 000024 000026 000030 000032 000034 000036 062170 074500 072770 072720 072650 072600 072530 072460 17 Figure « IRF +RADSO +ENDIR »RADSO +RADSO «RADSO +RADSO +RADSO +RADSO +RADSO +RADSO 073110 073040 072770 072720 072650 072600 072530 072460 + IRPC +RADSO +ENDR +RADSO «RADSO +RADSO +RADSO +RADSO +RADSO +RADSO +RADSO 000001 +END REGS2: 16 Version 5.2, +TITLE it - P ONOSNOU S - An example of the use of the .IRPC directive is shown in Figure 7-4. 7-4 May 1984 Example of REG»<PCs»SFyRSsR4,R3IsR2,R1+RO> /REG/ /PC/ /SP/ /R3S /R4/ /R3/ /R2/ /RY/ /RO/ NUM»<76543210> /R‘NUM/ /R7/ /Ré&/ /RS/ /R4/ /R3/ /R2/ /R1/ /RO/ .IRP and 7-19 .IRPC Directives MACRO 7.7 REPEAT BLOCK DIRECTIVE: DIRECTIVES .REPT, |.ENDR] .ENDR Format: [label:] (range .REPT of exp repeat block) . ENDR where: label exp represents an in 7.6.1). Section represents controls to be any the repeat expression 1is statement assembly range is . ENDM the or an value of code When equal assembled. absolute block may of to value, the code to repeated. (A) code repeat blocks, .MEXIT directive the end of the be macro is the zero If error contain Note This block than not an the program. 1less is with the the indicates not flagged block indefinite and/or times (see this .REPT in listing. represents repeat 1is block label expression. of within value the statement legal number assembled expression (8), optional the The definitions, other (see repeat blocks Section 7.1.3). repeat block range. or « ENDR The .REPT directive number of times, in 7.8 MACRO LIBRARY is used to duplicate a line with other source DIRECTIVE: block of code, a certain code. [.MCALL] .MCALL Format: .MCALL where: argl,arg?2,...argn arqgl, represent the arg2,... definitions required argn program. The separator (comma, symbolic names 7-20 in must space, names of the assembly of be separated and/or tab). by the the any macro source legal IAS/RSX-11M/RSX-11M-PLUS OPERATING PROCEDURES Table 8-2 (Cont.) MACRO-11 File Specification Switches Switch /ML (Cont.) Function beginning with the 1last user macro file specified, continuing in reverse order with each such file specified, and terminating, if necessary, with a search of the system macro library file. If a required macro definition is not found upon completion of the search, an error code (U) results in the assembly 1listing. This means that a user macro library file must be specified in the command line or by using the MACRO-11 .LIBRARY directive (see Section 6.10.1) prior to the source file(s) that wuse macros defined in the library file. MACRO-11 does not pre-scan the command line for macro libraries; when a new source file is needed, it parses the next input file specification. If that file specification contains the /ML switch, it is appended to the front of the library file list. As a result, a user macro library file must be specified in the command 1line prior to the source files which require it, in order to resolve macro definitions. /SP Spool /NOSP Do /CR: [arg] grg?uce a cross-reference not listing output spool output. (default value). listing (see Section Switches for the object file are 1limited to /EN and /DS; when specified, they apply throughout the entire command string. Switch options for the listing file are limited to /LI, /NL, /SP, /CR, and /NOSP. Switches for input files are limited to /ML, /EN, and /DS; the option /ML applies only to the file immediately preceding the option so specified, whereas the /EN and /DS options, as noted above, are also applicable to subsequent files in the command string. Multiple occurrences of the same switch following a file specification must be avoided, because the accompanying values of a subsequent like switch specification override any previously-specified values. If two such switch wvalues are desired, they can be specified in the form shown below: /LI:SRC:MEB IAS/RSX-11M/RSX-11M-PLUS OPERATING PROCEDURES DCL Operating Procedures 8.1.4 RSX-11M/RSX-11M-PLUS indicates its readiness to accept a command by In response to the prompt, enter the prompting with the DCL prompt. command string in one of the formats shown below: >MACRO[/qualifiers] FILE? filespec[/qualifier[s]][,filespec[/qualifier(s]]...] or [DCL]>MACRO[/qualifiers] filespec[/qualifier(s]][,filespec[/qualifier[s]]...] where: qualifiers affect string command entire the either filespec the or qualifiers) (command a See Table 8-3 for (parameter qualifiers). qualifiers and command the of description Table 8-4 for a description of the parameter qualifiers. filespec is the Section standard file specification shown You use the comma (,) to separate file specifications. concatenates all the files and then performs the assembly. Table DCL Command MACRO-11 8-3 Qualifiers Qualifier /[NO]JCROSS REFERENCE Function Suppresses or generates a cross-reference 1listing (see Section 8.3). When the cross-reference 1is generated, a listing file 1is also generated, whether or not the /LIST qualifier 1is present 1in the command string. /NOCROSS REFERENCE the default. Overrides /DISABLE: (arg,arg...) /ENABLE: (arg,arg...) program. When more than one argument is entered, arguments must be enclosed in parentheses and separated Dby assembler the is /DISABLE:arg /ENABLE:arg .DISABLE directives or 1in the . ENABLE source commas. You can specify any of the following arguments with the /DISABLE or /ENABLE qualifier. Argument ABSOLUTE Enabling this function relative addresses 67) to be addresses assembhled as (address mode (continued Version 5.2, May 1984 1in 8.4. 8-8 causes (address on all mode absolute 37). next page) RSTS/RT-11 OPERATING PROCEDURES the represent the ASCII source (input) files contaid ningmacro upplie user-s the Or m MACRO-11 source progra y as many srcl, src2,... library files to be assembled. srcn as six source files. You can specif wuses one The following command string calls for an assembly that file object an produce to library MACRO system the plus file source 1line the to y directl goes 1listing The BINF.OBRJ and a 1listing. printer. *DK:BINF.OBJ,LP:=DK:SRC.MAC The system does not All output file specifications are optional. string® contains a command the wunless file output an produce specification for that file. by The system determines the file type of an output file specification of number the by ed determin as string, command the in its position file, you must commas in the string. For example, to omit the object begin the command string with a comma. The following command produces a listing, including cross-reference tables, but not binary object files. * LP:/C=(source file specification) Notice that you need not include a comma after the final specification in the command string. output file Table 9-1 lists the default values for each file specification. Table 9-1 Default File Specification Values Default Default Device File Default File Name File Type Object DK: Must specify . OBJ Listing Same as for object Must specify .LST Cref DK: Must specify . TMP First source DK: Must specify .MAC Same as for preceding Must specify .MAC System device SY: SYSMAC . SML Must specify .MLB file Additional source System MACRO source file Library DK: User MACRO Version 5.2, if first file, otherwise same as Library preceding May 1984 source 9-3 for file RSTS/RT-11 OPERATING PROCEDURES NOTE symbol table the system file called WRK.TMP to provide extended Some assemblies need more space than available memory can contain. occurs this When creates automatically space. table symbol a temporary wo rk The default device for WRK.TMP 1is DK. system to assign a the cause To the enter different device, following command: WF ,ASSIGN dev: is dev where: file-structur ed the that device ho 1d will WRK. TMP. 9.4 FILE SPECIFICATION OPTIONS At assembly time you may need to appearing in the source override You programs. certain may MACRO also directives need to direct You MACRO-11 on the handling of certain files during assembly. satisfy these needs by using the switches described in Table 9-2. Table can 9-2 File Specification Options Usage Option /L:arg /N:arg Listing control switches; function arguments of the . LIST and .NLIST the to name and (see program source the 1in specified directives This switch overrides the arguments 6.1.1). Section of the directives entire /E:arg /D:arg these options accept ASCII switch values (arg) which are equivalent in assembly remains and in effect for the process. Function control switches; these options accept ASCII function switch values (arg) which are equivale nt in and name to the arguments of the specified directives This 6.2.1). Section and of the directives entire assembly .ENABL and .DSABL (see program source the 1in switch overrides the arguments the e ffect for 1in remains process. (continued on next page) APPENDIX MACRO-11 A.l ASCII CHARACTER A CHARACTER SETS SET Even 7-Bit Parity Bit Octal Code Character 2 oo NUL Null, tape 1 gal SOH Start of STX of message, CONTROL/A. Start of text; also EOA, end of ETX address, CONTROL/B. End of text; also EOM, end of EOT message, CONTROL/C. End of transmission (END); 1 ) 1 332 A3 go4 ) ags ENQ ) 1 1 g6 aa7 310 ACK BEL BS Remarks feed, ) g1l1 HT 912 LF also SOM, start shuts off TWX machines, CONTROL/D. Enquiry (ENORY) ; also WRU, CONTROL/E. Acknowledge; also RU, CONTROL/F. Rings the bell. CONTROL/G. Backspace; also FEOQ, effector. Y] CONTROL/SHIFT/P. heading; format backspaces some machines, CONTROL/H. Horizontal tab. CONTROL/I. Line feed or advances Line space 1 p13 VT 4] P14 FF Form CR (PAGE). Carriage g15 Feed line; 1 ) @16 SO to to (new line); line, duplicated by CONTROL/J. Vertical tab (VTAB). CONTROL/K. 1 paper top of CONTROL/L. return to duplicated Shift out; red. CONTROL/N. next next page beginning of by CONTROL/M, changes ribbon color a17 SI Shift in; changes black. CONTROL/O. ribbon 1 G20 DLE Data escape. CONTROL/P (DC#). ] 221 DC1 Device control 1; turns link transmitter (X ON). ) 1 A22 P23 DC2 DC3 Device control n24 DC4 or AUX control OFF) . May 1984 punch (TAPE, ON) . Device A-1 3; (READER) (X OFF). Device control CONTROL/0Q turns on. auxiliary Version 5.2, 2; on, to CONTROL/R auxiliary transmitter @ (READER) color to 4; off. off, turns turns CONTROL/S punch or CONTROL/T (AUX MACRO-11 CHARACTER Even 7-Bit Parity Bit Octal Code Character 1 A25 NAK SETS Remarks Negative ERROR. 1 P26 SYN acknowledge; also ERR, CONTROL/U. Synchronous file (SYNC) . CONTROL/V. ETB End 230 CAN LEM, logical CONTROL/W. Cancel (CANCL). 231 B32 EM SUB End of medium. CONTROL/Y. Substitute. CONTROL/Z. P33 ESC Escape. A34 FS File @35 GS Group @36 @37 RS us Record separator. CONTROL/SHIFT/N. Unit separator. CONTROL/SHIFT/O. p4agQ SP Space. transmission end block; of CONTROL/SHIFT/K. separator. CONTROL/SHIFT/L. separator. CONTROL/SHIFT/M. k. = 1 GO NN 18) = = i WRHRN = w 192 ] ot o) = R 106 SRR 145 111 110 HIZIOMDMBOQOWIPDED IOV I A o WO = (o)) et 104 also medium. CONTROL/X. e R SW e S R S R I I~ R S S N SR S T YR S YR 191 182 103 R of N @27 = > T S S S 0} Accent acute or apostrophe. MACRO-11 Single Char. or First CHARACTER SETS Char. Second Third Character Character v 104600 \'2 PB1560 \' PA0026 W X Y 107700 113000 116100 W X Y @01630 001700 01750 W X Y a00027 P00030 PAg031 . Unused 127400 132500 135600 . Unused 1) 2149 002210 . Unused P00034 000835 1 2 3 4 140700 144000 147100 152200 1 2 3 4 dp2330 02400 302450 382520 1 2 3 4 paaa37 P3040 geaa41 2eea42 5 6 155309 160400 Ae2570 @32640 163500 166600 171760 5 6 7 8 9 AAGA43 2AQ044 7 8 o 5 6 7 8 9 yA S @ 121200 124300 Z $ P02020 Pa2070 PB2260 ge2710 pe2760 AP3030 Z $ ) Po0032 PP0033 PP0036 d00045 dPB046 a00n4a7 MACRO-11 CHARACTER SETS A.3 DEC MULTINATIONAL b, | b, | b, | b, of o] o] o] o]l oo | 1| pjo Jo bfo o by o by of CHARACTER SET fo fo Jo Jo Jo Jo of v 1| |1 vt ol of 1| 00101102103 ofnNuLiDLElSP| O fo fo |11 of o Jr 1t 1| 1| |1 |1 Tolo 1| of 1| of o {1 1 1| [ |1 |1 |1 1111 1| o o 1| o] 1] 1 o 1| of 1 (04]05[06|07(08]09]10] 11|12} 13| 14} 15 |@ | P "l Q]| of |1 oo DCS 1f0soH|pCci] ' | 1| A| a pui1l " | 2| B|R|b|r 3| C| 4| A | - a *|A| N| 4| a | Al O] al| o "IA|l O] al o AlO]| al e oo |1 ]o]| 2 fsx|pczl 0 0 1 1 3 JETX 13(33‘ S| ¢ o| 1|0 | o 4 Jeoripcal $| D| T| o 1o | 1|5 )ENQINAK| % | 5| E| U| e | u |NEL| MW]| ol 1| 6 JACK|SYN| & | 6 | F| V| f | v |ssa|spra 7 JBEL|ETB g | w |ESA|EPA| § ClE]| ¢ | c |HTS o] E| Q| e| 1]|Y]|i]|y|um ol "|E|JU| é| u J|lz]|j alo | E|U| el u E|U| 1] 0| 1 0 1 1 1 o] o|o]| 1 oflo |t 1 1o o|10}LF|suB| 1| 8}fBsfcan] 71 « |9l * 1|1 |1a]vrlese] +| 11 |o f12Fr|Fs| , 11 lo 1] o 1|13 cr|las] 1|1 |0 |14)so]|Rrs 1 | 1|1 {1 |15st|us| ;| K| positions 1] s STS| £ d | t |IND|ccH -] /| | z |vrs ¥ ¢ AlOo| a]| e | Z|O| 2] ¢ k]| { |pp|csi] e| a | |pu|sr v | T 10U 1| a =|M|[1|m]| } |nri|osc v | T Y| 1]y ss2 | PM I > | N| ~ | n ?] —1] 0] o i o [DEL|ss3|arc ASCII ASCII Add’l DEC Supplemental Control Graphic Character Control Graphic Set Set Set Set are | T DEC Multinational Character Set reserved ¢ ]| 1] | <|L| - Empty W]| ¢ | * | 8| H| X | h | x 9lur|em| 1ol G| puz|l for future B8] i - standardizations g Version 5.2, May 1984 APPENDIX J RELEASE NOTES to MACRO-11 been made This appendix explains the changes that have The new features mentioned are fully the last version release. since documented in chapters one through nine of this manual. J.l J.1l.1 CHANGES -- ALL VERSIONS OF MACRO-11 V5.2 Update Changes Multinational for the 8-bit DEC now provides support MACRO-11 (MCS). A chart showing the MCS is located in Appendix character set A, specific For MCS. the support directives The following information, consult the description of each directive. Section Macro .IF +.1IF .IFF DIF IDN .IFF .IFF 6.3.4 $.3.5 7.5 6.9.1 directive directive directive directive .ASCII .ASCIZ .ERROR .IF 6.9.2 directive DIF IDN 7.6.1 7e6.2 7.4.2 7.5 6.1.6 6.1.3 6.1.2 directive directive directive .PRINT directive directive « REM .SBTTL directive .TITLE directive . IRP .IRPC .NCHR Further information on the 8-bit DEC Multinational located in character sections: 2.2.4 6.3.3 7.3 7.3.6 Version 5.2, support Comment field ASCII conversion characters Arguments in macro definitions and macro calls Keyword arguments May 1984 J=-1 set |is RELEASE NOTES J.1.2 V5.1 1. Changes The opcode, CALLR permanent addr symbol (Call-Return), table (PST). the JMP addr opcode. The CALLR complement the CALL addr opcode JSR PC,addr The previous for range has This addr -- been opcode added is opcode which to the equivalent added equivalent to is opcode. to was to the version of MACRO-11 used a range of 64$% to 127$ automatic 1local symbol generation. MACRO-11 now uses a of Most 300P0S to 655358 assembler when generating generated listing upper/lowercase, This change was of MACRO-11 code. Lines the L.TITLE directive readability . SBTTL or local symbols. text made is now in to increase of code that include are not converted the the to uppercase. Lines the of code table .NLIST are that of include contents statement is encountered. the of .SBTTL directive an in effect You may assembly at the specify time the TOC argument printed. to The is printed at the end of directive is in effect. with the SYM argument to symbol table if the .NLIST -NLIST directive table All from page being The assembler the include the statistics assembly following the table of listing day of information file has information: additional the number of virtual work file reads e Total number of virtual work file writes e Maximum amount e Size physical e Operating of running @ Total e MACRO-11] system under elapsed and command PSECT synopsis the symbol table, maximum that number record MACRO-11 128. bytes. with being used (in freespace (in words that to at words and and the the include end the pages) pages) assembler is time is includes has to from line expression that memory environment assembly The The memory directive appears updated Total virtual a 1lines week. e of in if an assembly, even You may specify the prevent the symbol that been listed even .SBTTL contents printed. headers of prevent the .NLIST the are listing, been of printed the relocatable changed. can in psect produce The was the listing file, after attributes, terms maximum increased 1in a size from complex of an 42. .OBJ bytes RELEASE NOTES Do not compare .0BJ files that have been created by different code of MACRO-11 when verifying whether your versions Changes that have been made for this generation is correct. invalidate a will above) (mentioned version of MACRO-11 Verify code .0OBJ output. direct comparison of assembler generation by linking or taskbuilding the .OBJ files involved and then comparing the .SAV or the .TSK image files. NOTE Because the .0OBRJ files produced by this new version are different, users of the PAT (object of MACRO-11 file patch utility) are warned that checksums must be recomputed on any object patches assembled with this new version of MACRO-11. 18. The default for the LC argument has been changed from LC 11. .ENABL The following 1. 2. 12. to .DSABL LC. .ENABL/.DSABL options have been added: .ENABL LCM/.DSABL LCM .ENABL MCL/.DSABL MCL The following directives have been added to MACRO-1ll. new directives are documented in this manual. 1. .CROSS 2. 3. 4, 5. 6. 7. INCLUDE J.LIBRARY .MDELETE .NOCROSS .REM WEAK Version 5.2, May 1984 J-2.1 These e e, gy INDEX A error, 3-10, 3-13, 5-10, 6-15, 6-25, 6-26, 6-28, 6-29, 6-32, 6-33, 6-47, 6-38, 6-56, 6-40, 6-42, 6-44, 7-2, 7-12 to 7-14, 7-16, 7-17, 7-20 Autoincrement indicator, Autoincrement mode, 5-1, B-2, G-1 6-19 Absolute expression, 3-17 Absolute mode, 5-1, 5-7, B-2, G-2, G-4 Absolute module, 6-42 Absolute program section, 6-42 to 6-45, B-4. See also .ASECT directive Base level, E-14 BCC instruction, E-13 BCS instruction, E-14 BEQ instruction, H-2 BGE instruction, E-13 BGT instruction, E-14 BHI instruction, E-14 BHIS instruction, E-13 BIC instruction, E-13 Addition operator, 3-2, 3-5, Address boundaries, 6-39 Blank line, 2-1 BLE instruction, Absolute address, D-2 Absolute binary output, ADD instruction, E-12, G-3, Addressing modes, Apostrophe, G-4 H-2 B-1 ASCII character set, A-1 conversion characters, 6-23 to 6-26 .ASCII directive, 6-1, 6-21, 6-26 to 6-28, 6-36, B-3 .ASCIZ directive, 6-1, 6-28, 6-36, B-4 .ASECT directive, 3-14, 6-2, 3-11, 6-44 to Assembler directives. symbol table version Assembly error. listing pass 1, 6-16, D-3 pass 2, number, 3-13, 6-47, B-4 See Permanent 1-1, 1-2, 6-12, 6-15, 6-49, 8-14, 8-12, 6-21, 7-15, 6-12, Autodecrement mode, B-1, B-2, G-1 5-1, 5-4, Autoincrement deferred mode, B-2, Version 5.2, E-14 6-2, 6-36 .BLKW directive, 3-14, 6-2, 6-36, 6-38, 6-48, B-4, D-3 BLO instruction, E-13 BLOS instruction, E-13 BLT instruction, E-13, H-2 BNE instruction, E-106, G-3, H-2 BR instruction, E-108, E-11, G-3 Branch instruction addressing, 5-9, D-2 use of, E-13 ,BYTE directive, 6-2, 6-23, B-4, D-4 C bit, E-9 CALL instruction, D-3 Assignment operator. See Direct assignment operator Assignment statement. See Direct assignment statement Autodecrement deferred mode, 5-1, 5-5, B-2, G-1 Autodecrement indicator, 3-2 5-4, 3-5, 3-16 6-36, 5-4 See A error symbols, 4-1 1-2, Binary operator, 3-4, .BLKB directive, 3-14, to 6-38, B-4, D-3 5-1 3-2 5-3, G-1 May 1984 5-1, H-2 E-8 Calling convention, Character set ASCII, A-1 to A-3 DEC Multinational, A-6 legal, 3-1 to 3-3 Radix-5#, A-5, A-6 CLR instruction, G-3, G-3, CMP instruction, E-13, H-2 Coding standard, E-1 Comment, E-1, H-2 E-5 delimiter, 3-2, B-1, E-12 field, 2-1, 2-4, 2-5, E-1 Commercial instruction set, Common exit, E-11 C-3 Complex relocatable expression, Index~1 3-18 INDEX Complex relocation, Concatenation B-1, 4-1, indicator, G-4 DIV 3-3, Division B-3. Conditional 6-56, immediate, 6-51 ASCII 3-2, B-1 to D-4 6-56 Conditional B-4, 7-16, assembly block, assembly directive, 7-3, B-5 Conditional 6-49 Copyright statement, E-5 .CROSS directive, 6-2, 6-22, B-4, 5-19, 8§-18, .CSECT 8-8, 9-2, listing, 8-9, 9-3, directive, 6-2, Current 6-44 to 6-47, location 3-2, 3-12 to 3-14, 6-11, 6-36 to 6-44, B-5, B-7, to 3-13, 9-6, B-4 2-2, 3-17, 6-38, 6-43 D-2, 3-5, B-1 indicator, argument, error, 7-2, 7-11, 7-17 6-40 instruction, 5-9, D-4 .ENABL directive, 6-2, 6-19 to 6-21, 8-5, 8-8, 9-4, B-4, 3-12, counter, Dummy EMT 8-14, 8-16 9-5 to 9-7 3-11, 3-2, character .DSABL directive, 6-2, 6-19 to 6-21, 8-6, 8-8, 9-4, B-4, D-1 E C-5 Cross-reference H-2 operator, Double assembly, 7-8, instruction, 5-8, D-1, D-4, F-2 6-2, 6-48, B"4' .ENDC directive, 6-2, 6-12, 6-53 to 6-56, 6-59, 7-3, B-4 .ENDM directive, 6-13, 6-21, 7-2, to D-3 D-2, .END directive, D-3, H-2 7-3, 7-6 7-17 to to 7-8, 7-14, 7-11, 7-19, B-4, B-8, F-3 .ENDR directive, 7-19, 7-2¢, B-5, B-8 D error, Entry 2-3 sharing, 6-45 storage, storage DEC point symbol, .FRROR directive, Data 6-2 directives, Multinational set, strings, 6-25 to 6-27 Comment field, Directive 3-2, External External 7-1¢ 6-28 « ERROR, 7-16 .IF, 6-55 .IFF, See .IRP, 7-18 .IRPC, .NCHR, See 4-15 «.TITLE, 6-15 See also .ERROR directive addressing 3-3, 6-17, symbol See May 6-37 Function control Switches, Function 1984 instructions, control, E-13 2-5 reference, 3-8, 3-16, 3-13, D-4 illegal, D-3 B-1 3-13, B*S B-5 Formatted binary, 6-19 FORTRAN, 6-47, E-15, G-2 Permanent table 5.2, 3-9, 3-9, 6“35' 6-35, Forward E-2 3-2, 6”2’ 6-2, 6-19, 6-19 Format B-8 B-3 truncation, directive, Forbidden assignment Directives. Version B-5, to B-1 indicator, 6—-32 Floating-point FLX, indicator, 3-2, B-1 Delimiting characters, 3-6 3-2, also processor, 3-14, 6”34' 6“35’ C“4 Floating-point rounding, 45-19, .FLT4 3-1, See directives, B-5. directive Floating-point radix, 3-14 register definitions, 3-10, 6-21 operator, 3-17 .FLT2 Default statement, 6'38} 6-19 Default Direct 6-29, 6-52. terminator, Floating—-point 56-29, B-3 to Device register, D-4 symbol 6-35 .FLTz direCtive, Deferred B-5, D-5 evaluation of, 3-16 indicator, immediate, Floating-point directive 6-18 «.SBTTL, 6-2, symbeol, FILES-11, 7-19 7-13 .PRINT. to for Field IF D-1 B-1 expression, Global 2-4 6-26 .ASCIZ, directive, Expression characters, support LASCII, .REM, 7-5, .EVEN Expression, character conversion messages, B-5 6-23 A-6 Argument ASCII Error 6-52 7-16, Index-2 3"9' switches. function directive, See control 6-18 INDEX Global expression evaluation, 3-17 label, 6-51 reference, 6-21, Global Global F-4, G-4 Global symbol, 1-2, 3-7, B-5, D-2, D-3, E-4 Global symbol definition, 2-2, 3-1, 3-2, 3-8, 6-51. See also E-4 Hardware register, terminator, 3-2, B-1 JMP instruction, JSR instruction, 5-3, 5-3, E-13 E-9 L .GLOBL directive Global symbol directory, 1-2 .GLOBL directive, 3-7, 6-2, 6-51, B-5, Item 6-51, error, 2-1 Label field, 2-1 E-2 .LIMIT directive, I error, 6-28, 6-30 IAS, 6-48, 7-21, 8-14 to 8-17, 8-19 to 8-22, G-1 .IDENT directive, 6-2, 6-16, B-5, D-2, E-5, E-7, E-15, H-1 .IF directive, 6-2, 6-12, 6-53 to 6-59, 7-3, 7-8, B-5, D-1, D-2 6-58, 6-58, 6-2, 6-556 to 6-2, 6-56 to B-5 - .IFTF directive, 6-2, 6-56, 6-57, B-5 .IIF directive, D-1, 6-2, 6-59, B-6, D=2 Illegal characters, Illegal forward Immediate 3-3, D-2, reference, D-3 D-3 G-2, 2-4, 6-39, printer listing format, 6-5, 6-6, 6-12. See also Listing control Linker, 1-2, 2-2, 6-17, 6-43, 6-47, 6-51, F-4, G-1, G-4 Linking, 4-1, 6-40 .LIST directive, 6-3, 6-9 to 6-14, 6-21, 8-6, 8-11, 9-4, B-6, D-1 Listing control, 6-4 to 6-14. See also .LIST directive, .NLIST directive Listing control switches. See Switches, listing control Listing level count, 6-9, 6-10, 6-12, B-6, B-7 Local symbol, 3-11, 3-12, 7-8, 7-9, D-4, E-4, F-2 6-20, D-4, F-2 Location counter. See 5-6, B-2, location counter Location counter control, .PAGE directive, /-61 .WORD directive, 2-1, 5-1, Local mode, 5-1, 5-5, 5-1, symbol block, 3-11, 3-12, Current 6-34 to 6-36 Logical AND operator, 3-2, 3-5, B-1 6-55, 6-25 Index deferred mode, B-2, G-2, G-4 B-5 E-1 indicator, Logical inclusive OR operator, 3-2, 3-5, 6-55 +INCLUDE directive, 6-2, 6-61, 9-8, B-6, C-6 Indefinite repeat block. See Repeat block, indefinite Index 6-3, 6-54, expression G-4 Implicit 2-3 assembly, 3-2, B-1 Immediate mode, Implicit E-1 conditional 6-59 Immediate Line format, 8-13, B-5 +IFT directive, 2-3, terminator, 3-1, B-1 .LIBRARY directive, 6-2, 9-9, B-6, C-6 Line .IFF directive, to multiple definition, Logical OR operator, B-1 5-5, 5-7, M B-2, error, 2-3, 3-1, 3-2, 3-8 Macro Initial argument indicator, 3-2, B-1 Initial expression indicator, 3-2 Initial register indicator, 3-2, B-1 Instruction set commercial, C-3 pPDP-11, C-1 Interrupts, E-12 .IRP directive, 7-19, B-6, Version 5.2, 7-2, B-6, B-7, E-6, F-2 directive, 7-1, 7-2, 7-4. also .MACRO directive expansion, 7-17 to D-2 May 1984 argument, 7-7, 7-14, 7-15, B-3 argument concatenation, 7-11 attribute directive, 7-12 definition, 6-33, 7-1 to 7-13, 7-15, 7-17, 7-18, 7-20, B-4, Index-3 7-7, 7-9, D-4, F-2 7-1, 7-3, 7-11, 7-5 7-17, See to B-7, INDEX Micro (Cont.) expansion listing, 6-9, 6-12 keyword argument, 7-4, 7-10 keyword name, indicator, 7-1, nesting, 7-2, 7-2, 7-4, 7-3, D-4, 7-6, 7-20, B-1, directive, B-7, E-4 Number 7-17 of operator, B-6. Numeric 7-14, See .NARG indicator, B-1 6-33 temporary, See 6-22, 7-12, arguments. directive Numeric argument Numeric control 7-11, 6-3, C-6 .NTYPE directive, B-7, D-2 3-1 numeric argument, 7-7 redefinition, F-3 symbol, 3-6 Macro call, 7-1, 7-4 to 7-12, « NOCROSS 6-36, B-3 directive, 6-34 also .MCALL directive call argument, 7-4 Macro Macro call +MACRO to argument, 6-13, 6-21, 7-9, 7-11, 9-6, D-1, Macro numeric directive, 7-10¢, 3-3 7-1 8“6' F-3 library directive. O Errflf, 6“4@, 7"12' B-7 Operand field, Macro symbol table, 3-6, 3-7 MACRO-11 character set. See Operand field Character set, .MCALL directive, 8-15, D-4, 9-5 F-1 to to Operation legal 7-20, 9-6, 8-6, 7-21, B”?, 6"42' 6“47' F”l, F-2 conservation, F-1 Operator field, Overlay, 6-42, 6-44 P 6-20, 7-16 6-44, E-8, F-1 checking routine, E-9 Module preface, Monitor error, console Permanent E-5 routine, c-3, 8-1, 3-13, 3-14, 6“37' 6"58' D”l, E“lBy G“z t0 G“Q' H”Z MOVB instruction, H-2 Multinational character set. See DEC Multinational character set Multiple Multiple Multiple definition. expression, label, 2-2 Multiple symbol, See 2-4 M error . PRINT directive, Processor counter Program development Program module, E-5 Program section directive. 3-2, 6-2, directive, 7-8, 6-48, 7-12, 7-13, 7-13, 5-1, E-2, G-4 definition, 3-10 system, 8-14 See identifier, standard, 6-3, 7-9, program E-1 3-12, 6-20, 9-6, 3-14, 6-41 B-7, to D-1, H-2 B-7, Q conditional May error, 6-29, 6-34, 6-38 directive, 6-55, 6-58, 7-3 .NLIST directive, 6-3, 6-9 o-14, 6-15, 6-21, 8-5, 8-13, 9-4, B-7, D-1 5.2, to | 7-12, D-2 Version D-2, D=2 directive, Nested G-1 B-7 counter, .PSECT directive, .NARG to E-2 Program 3-15 E-2 7-17, priority, Version standard, code, Program B-1 Naming C-1 G-4 Programming B-7, table, .PSECT directive Program section name, 6-41 Program section table, 1-1 Program version number. See 2-4 operator, symbol 3-6, 3-7 Position-independent 8-2 instruction, .NCHR 2“4 6-4 number, 6-17 Patch, E-15 Modularity, error, 2*3’ header, Module N 2-1, Page .MEXIT directive, 7-20, B-7 3-5, B-1 E-1 . PACKED directive, 6”3, 6”31' 6-37, B-7, C-7 .PAGE directive, 6-3, 6“17' 6”61' 7-4, B-7 Memory Multiplication field, E-1 3-2, B-5, C-7 MOV 2-1, 2-4, separator, 6“38' F-3 .MDELETE directive, allocation, 7”4’ 7“21 Object module name, 1-2 nDDD dif&ctive, 6”3' 6”37’ See .MCALL directive 6“57' 6“56' 7”15' 1984 to 8-11, R error, 3-10 .RAD5@ directive, B~-8, H-2 Index-4 6-3, 6-29, o INDEX w 6-34, 6-32, 3-15, Radix control, Single ASCII character indicator, 3-3, B-1, B-3 Source line format, 2-5 Source line terminator, B-1 Special characters, 3-1 to 3-3, B-8 temporary, 6-31, 6-33, B-3 .RADIX directive, 3-15, 6-3, B-5, D-1 B-8, 6-32, B-3, 6-41, 6-3¢, 3-5, Radix-50, 7-7 Stack pointer, E-2 definition, 3-10 B-8 character set, A-4 temporary operator, 6-31 Read-only access, 6-41 Read/write access, 6-41 Register conventions, E-9 Subconditional 6-59 Subtraction 3-10, default, definitions, Statement format, 2-1 SUB instruction, E-13 B-2, G-2, 5-2, Register mode, 5-1, 5-2, B-2, G-1 Relative deferred mode, 5-1, 5-8, Relative G-4 mode, G-2, B-2, 5-1, 5-7, G-4 5-8, Relocatable expression, 3-17 Relocatable module, 6-43 Relocatable program section, to 6-47, B-4 Relocation, 4-1, Relocation bias, 4-1, 6-43 2-2, 6-43 6-18, 6-3, .REM directive, 3-17, 7-2, 7-17, 3-18, 7-20, D-3 9-1 to RSX-11M-PLUS, 8-1 to 8-13, 8-22, G-1 rRT-11, 6-17, 6-41, 9-1 to 9-9 RT-11 run-time 6-5¢, B-8, 6-3, C-7, .SBTTL directive, B-8, 6-43, system, .SAVE directive, 7-21, 5.2, May 1984 contents, B-8 huilder. 6-24 See 6-12, 6-16, Linker Teleprinter listing format, 6-7, 6-13. See also Listing control Temporary numeric control. See Numeric control, temporary Temporary radix control. See Radix control, temporary Temporary Radix-50 operator, 6-31 Term, definition of, 3-15 6-20, 6-4, Terminal argument indicator, 3-2, expression indicator, 6-15, indicator, 3-2, Terminating directive. See .END directive Thrashing, F-1 .TITLE directive, 6-3, 6-4, 6-13, 6-15, 6-21, B-8, D-2, E-5, E-7, E-16, H-1 TST 6-49, register B-1 TRAP 9-1 H-2 Separating characters, Sequence number, 6-19 Version 8-19 D=3 6-3, 3-15, of 3-2 G-1 to directive T error, Terminal H-2 9-9 F-3, 1-2, 6-41 B-1 RSX run-time system, 9-1, 9-2 RSX-11M, 6-17, 6-41, 6-48, 7-21, 8-1 to 8-13, 8-19 to 8-22, E-12, .MCALL Table Terminal D-3 .RETURN directive, F-1 Task B-8, Reserved symbols, 2-3, 3-1, 3-7 .RESTORE directive, 3-11, 3-14, 6-3, 6-208, 6-49, B-8, C-7, RSTS, Symbol table, 1-1, Symbolic argument, also B-6 B-8, 8-7, 6-44 block B-4, listing control, 8-6, 9-4 Symbol name syntax, E-3 F-4 System macro library, 1-1, 7-20, 8-4, 8-14, 9-3, 9-5. See directive. See .REPT directive indefinite, 7-3, 7-17 to 7-28, .REPT directive, 3-5, SYsLIB, C-7 Repeat 3-2, to Success/failure indicator, E-9 Switches file specification, 8-6 function control, 8-6, 9-4 6-21 G-1 operator, 6-56 B-1 expression, 5-2, B-1 symbol, 3-10, D-4 term indicator, 3-2, B-1 Register deferred mode, 5-1, B-2, assembly, U instruction, 5-9, instruction, E-10, error, 3-8, 7-21, Unary universal, Index-5 3-3, H-2 6-21, 8-15 3-4, 6-32, E-11, 3-15, 8-9, operator, control, 3-3 3-9, 8-7, D-4 3-16, 6-34 3-5, B-1 7-5,7-7 INDEX Unconditional assembly, 6-56 Undefined symbol, 3-8, 6-21, D-4, See also U D-2, error file, 8-20 program, 6-17, B-5 standard, to Universal unary operator. See Unary operator, universal Upper-case ASCII, 6-19 User-defined symbol, 3-6 to 3-8 .WEAK User-defined .WORD directive, symbol table, 2-2, . IDENT E-14 directive, also Version identifier assembler, 6-4 Version 5.2, May 1984 Z error, Index-6 E16. See also directive Implicit 5-3 6-3, 3-13, 6-52, 3-14, B-8,C-7 6-3, .WORD directive PDP-11 MACRO-11 Language Reference Manual AD-V027A-T1 READER’S COMMENTS NOTE: This form is for document comments only. DIGITAL will use comments submitted on this form at the company’s discretion. If you require a written reply and are eligible to receive one under Software Performance Report (SPR) service, submit your comments on an SPR form. Did you find this manual understandable, usable, and well organized? Please make suggestions for improvement. Did you find errors in this manual? If so, specify the error and the page number. Please indicate the type of user/reader that you most nearly represent. — Assembly language programmer — Higher-level language programmer — Occasional programmer (experienced) — User with little programming experience — Student programmer — Other (please specify) Name Date Organization Telephone Street City State Zip Code or Country NI R OSSR WSS NN WS ABRSRMES AT SRR WSS SSRGS NS WORREES. OB SRR ORI e BUSINESS REPLY MAIL FIRST CLASS PERMIT NO.33 MAYNARD MASS. AN OO United States S £V Necessary if Mailed in the e rape No Postage O— o — O 146 MAIN STREET L . TR~ v I MAYNARD, MA 01754 T SSG/ML PUBLICATIONS, MLO5-5/E45 DIGITAL EQUIPMENT CORPORATION e POSTAGE WILL BE PAID BY ADDRESSEE JeESREG SEWRES seeedeosis RN WWmREARE NI GGG weweewss GREMONSS SNMIDWEE dekdess 0 SNBSS 0 coaemss e Cut Along Dotted Line e e SKOMGNSNR dRGReG s Seseens Do Not Tear — Fold Here
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies