Google
 

Trailing-Edge - PDP-10 Archives - dec-10-omona-u-mc9 - mcn2.rnd
There are no other files named mcn2.rnd in the archive.
.;7-APR-77-GR
\\
.LM0;.RM70;.F;.J;.FLAG CAP;.SP1;.TS5
^^MACTEN.DOC\\ -- ^CHANGES FROM ^V1 TO ^V2(25)
.BR
^FEBRUARY 1977
.FG30
^COPYRIGHT (^C) 1975,1977
.BR
^DIGITAL ^EQUIPMENT ^CORPORATION, ^MAYNARD, ^MASS.
.B 2
^THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE INCLUSION
OF THE ABOVE COPYRIGHT NOTICE. ^THIS SOFTWARE, OR ANY OTHER
COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE
TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO
AGREES TO THESE LICENSE TERMS. ^TITLE TO AND OWNERSHIP OF THE
SOFTWARE SHALL AT ALL TIMES REMAIN IN ^^DEC\\.
.B 1
^THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY ^DIGITAL
^EQUIPMENT ^CORPORATION.
.B 1
^^DEC\\ ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY ^^DEC\\.
.T <MCN2.DOC
.PG
^^MACTEN.DOC\\ -- ^CHANGES FROM ^V1 TO ^V2(25)
.BR
^FEBRUARY 1977
.B3
1.0##<SUMMARY
.B1
^THIS RELEASE CREATES VERSION 2 BASED ON ^^C.MAC\\.
^THIS ^^UNIVERSAL\\ PARAMETER FILE CONTAINS THOSE DEFINITIONS
FROM ^^C.MAC\\ WHICH ARE INDEPENDENT OF
THE MONITOR CALL INTERFACE. ^MOST OF THESE ARE MACRO DEFINITIONS.
^THE PRINCIPLE CHANGES INTRODUCE NEW MACROS TO CONTROL LISTING
FORMATS, TO DEFINE AND REFERENCE BYTES MNEMONICALLY, AND TO DEFINE
AND REFERENCE FLAGS MNEMONICALLY.
.B1
^THIS VERSION WHEN COMBINED WITH ^^UUOSYM\\ TO PRODUCE
^^C.MAC\\ IS UPWARD COMPATIBLE WITH PREVIOUS VERSIONS AND
COMPLETELY SUPERSEDES THEM.
.B1
^^MACTEN.MAC\\ IS DOCUMENTED IN THE LISTING.
.B1
^NOTE THAT ^^MACTEN.MAC\\ AND ^^C.MAC\\ ARE USED TO COMPILE MANY PROGRAMS
ON THE RELEASE TAPE. ^NONE OF THESE CHANGES AFFECT THE
RESULTING ^^.REL\\ OR .<EXE FILES, BUT OTHER SOFTWARE
DISTRIBUTED THIS MONTH AND IN FUTURE MONTHS DEPENDS UPON
THIS VERSION TO ASSEMBLE.
.B2
1.1	^PURPOSE OF ^^MACTEN.MAC\\
.B1
^^MACTEN.MAC\\ IS DESIGNED TO FORM A CONSISTENT AND CONVENIENT
DEFINITION OF MACROS AND SYMBOLS WHICH OCCUR FREQUENTLY
IN THE DEVELOPMENT OF ANY PROGRAM ON THE ^^DEC\\SYSTEM-10. ^THIS
FILE EXCLUDES ANYTHING WHICH IS A FUNCTION OF THE MONITOR CALL
INTERFACE SO IT CAN BE USED BY ANY PROGRAM INCLUDING THOSE WHICH
DO NOT CALL THE MONITOR, SUCH AS THE MONITOR ITSELF AND VARIOUS
BOOTSTRAPS. ^IT IS DEFINED FOR USE ONLY AS A ^^UNIVERSAL\\
PARAMETER FILE AND IS MOST CONVENIENTLY USED IN THE FORM OF THE
^^MACTEN.UNV\\ FILE. ^A TABLE OF CONTENTS GIVES THE GENERAL
LAYOUT OF THE INFORMATION. ^THE DEFINITION OF A PARTICULAR
SYMBOL CAN BEST BE FOUND FROM THE CREF LISTING OF ^^MACTEN\\.
^ALL SYMBOLS ARE ^^ASUPPRESS\\ED SO THAT UNREFERENCED DEFINITIONS
ARE DELETED.
.B1
<MACTEN ALSO INCLUDES MACROS AND DEFINITIONS FORMERLY FOUND IN <MODUNV.
.B3
2.0##<EXTERNAL <CHANGES
.B1
^NONE.
.B3
3.0##^^KNOWN BUGS AND DEFICIENCIES\\
.B1
^NONE.
.B3
4.0##<INSTALLTION <INSTRUCTIONS
.B1
^NONE.
.B3
5.0##<INTERNAL <CHANGES
.B1
^EDIT _#
.B1.LM7.TS7.I-7
25	^MERGE <MODUNV INTO <MACTEN FOR <INITIA.
.B3.LM0.TS5
6.0##<SUGGESTIONS
.B1
^NONE.
.B3
[^END OF <MCN2.DOC]
.B1
[<MCN1.DOC IS APPENDED AS AN INTEGRAL PART OF <MCN2.DOC]
.T <MCN1.DOC
.PG
^^MACTEN.DOC\\ -- CHANGES FROM ^^C.MAC\\ ^V7 TO ^V1
.BR
^JANUARY 1975
.B3
1.0	^^SUMMARY\\
.B1
^THIS RELEASE CREATES VERSION 1 BASED ON ^^C.MAC\\ VERSION 7.
^THIS ^^UNIVERSAL\\ PARAMETER FILE CONTAINS THOSE DEFINITIONS
FROM ^^C.MAC\\ WHICH ARE INDEPENDENT OF
THE MONITOR CALL INTERFACE. ^MOST OF THESE ARE MACRO DEFINITIONS.
^THE PRINCIPLE CHANGES INTRODUCE NEW MACROS TO CONTROL LISTING
FORMATS, TO DEFINE AND REFERENCE BYTES MNEMONICALLY, AND TO DEFINE
AND REFERENCE FLAGS MNEMONICALLY.
.B1
^THIS VERSION WHEN COMBINED WITH ^^UUOSYM\\ TO PRODUCE
^^C.MAC\\ IS UPWARD COMPATIBLE WITH PREVIOUS VERSIONS AND
COMPLETELY SUPERSEDES THEM. ^ALL ^^SPR\\'S RECEIVED ON ^C
THROUGH ^OCTOBER, 1974, (10-14,209) HAVE BEEN INCORPORATED.
^THIS FILE HAS NO ^^DATE\\-75 DEPENDENCIES. ^IT REQUIRES
^^MACRO-10\\ VERSION 50 TO ASSEMBLE MANY OF THE MACROS.
.B1
^^MACTEN.MAC\\ IS DOCUMENTED IN THE LISTING.
.B1
^NOTE THAT ^^MACTEN.MAC\\ AND ^^C.MAC\\ ARE USED TO COMPILE MANY PROGRAMS
ON THE RELEASE TAPE. ^NONE OF THESE CHANGES AFFECT THE
RESULTING ^^.REL\\ OR SAVE FILES, BUT OTHER SOFTWARE
DISTRIBUTED THIS MONTH AND IN FUTURE MONTHS DEPENDS UPON
THIS VERSION TO ASSEMBLE.
.SKIP 1
1.1##^PURPOSE OF <MACTEN.MAC
.B1
^^MACTEN.MAC\\ IS DESIGNED TO FORM A CONSISTENT AND CONVENIENT
DEFINITION OF MACROS AND SYMBOLS WHICH OCCUR FREQUENTLY
IN THE DEVELOPMENT OF ANY PROGRAM ON THE ^^DEC\\SYSTEM-10. ^THIS
FILE EXCLUDES ANYTHING WHICH IS A FUNCTION OF THE MONITOR CALL
INTERFACE SO IT CAN BE USED BY ANY PROGRAM INCLUDING THOSE WHICH
DO NOT CALL THE MONITOR, SUCH AS THE MONITOR ITSELF AND VARIOUS
BOOTSTRAPS. ^IT IS DEFINED FOR USE ONLY AS A ^^UNIVERSAL\\
PARAMETER FILE AND IS MOST CONVENIENTLY USED IN THE FORM OF THE
^^MACTEN.UNV\\ FILE. ^A TABLE OF CONTENTS GIVES THE GENERAL
LAYOUT OF THE INFORMATION. ^THE DEFINITION OF A PARTICULAR
SYMBOL CAN BEST BE FOUND FROM THE CREF LISTING OF ^^MACTEN\\.
^ALL SYMBOLS ARE ^^ASUPPRESS\\ED SO THAT UNREFERENCED DEFINITIONS
ARE DELETED.
.B3
2.0	^^CHANGES\\
.B1
^EDIT _#
.B1.LM7.TS7.I-7
1	^CREATE THIS FILE FROM ^^C.MAC\\ VERSION 7(163).
.B1.I-7
2	^CLEAN UP AND CORRECT ANY BUGS INTRODUCED IN THE ORIGINAL
CREATION.
.B1.I-7
3	(^^SPR\\ 10-14,209) ^WITHIN THE MACRO ^^JUMPPT\\,
REMOVE THE TESTS FOR THE ^^PDP\\-6 IF IT HAS THE SAME JUMP
ADDRESS AS THE ^^KA\\-10.
.B1.I-7
4	^MASK OUT THE VALUE IN THE MACRO ^^INSVL.\\
.B1.I-7
5	(^^SPR\\ 10-14,209) ^ADD SYMBOLS WHICH GIVE THE UNIT OF
STORAGE ALLOCATION ON THE VARIOUS PROCESSORS. ^THE DEFINITIONS ARE:
.B1.LM12.TS27.NF.NJ
^^.SUAP6==_^D1024	;PDP-6
_.SUAKA==_^D1024	;KA-10
_.SUAKI==_^D512	;KI-10
_.SUAKL==_^D512	;KL-10\\
.B1.LM7.F.J.TS7.I-7
6	^ADD TWO MACROS WHICH ALLOW NESTING OF LISTING CONTROLS
TO TURN ON AND OFF THE LISTINGS. ^THIS ALLOWS MACROS TO
TURN OFF AND THEN RESTORE THE LISTING STATUS. ^THE MACRO CALLS
ARE:
.B1.LM12.TS27.NF.NJ
^^LSTOF.	;TURN OFF LISTING AND CREF
LSTOF.##X	;TURN OFF JUST LISTING
LSTON.	;RESTORE LIST AND CREF IF TOP LEVEL\\
.B1.LM7.F.J.TS7
^IN ADDITION, THE SYMBOL ^^LSTIN.\\ CONTAINS THE RECURSION
COUNT. ^IF IT IS INITIALIZED TO MINUS INFINITY, ALL LISTINGS ARE
FORCED ON.
.B1.I-7
7	^ADD DEFINITIONS OF THE FORMAT OF THE STANDARD PROGRAM
VERSION PATTERN AS USED IN ^^.JBVER\\ (137). ^THE
SYMBOLS ARE:
.B1.LM12.TS27.NF.NJ
^^VR.WHO	;WHO LAST EDITTED
VR.VER	;MAJOR DEC VERSION
VR.MIN	;MINOR DEC VERSION
VR.EDT	;EDIT LEVEL\\
.B1.LM7.F.J.TS7
^ALSO DEFINE A MACRO ^^VRSN.\\ WHICH FORMATS THE
STANDARD VERSION PATTERN. ^THIS MACRO TAKES A SINGLE ARGUMENT.
^THIS ARGUMENT IS 1-3 CHARACTERS AND IS THE PREFIX OF THE
SYMBOLS WHICH DEFINE THE VALUES TO GO INTO THE VERSION BYTES.
^FOR EXAMPLE, ^^MACTEN\\ DEFINES ^^MACWHO=0, MACVER=1,
MACMIN=0\\, AND ^^MACEDT=17\\. ^THEN, TO FORMAT ITS VERSION,
IT SIMPLY INVOKES "^^VRSN.#MAC\\" WHICH EXPANDS AS 000100,,000017.
.B1.I-7
10	^DEFINE A MACRO ^^SHOW.\\ WHICH TAKES A SINGLE SYMBOL.
^IT CAUSES THE VALUE OF THIS SYMBOL TO BE LISTED. ^THIS IS
USEFUL, FOR EXAMPLE, TO SHOW THE VALUE OF SYMBOLS DEFINED
ONLY IN PASS 1.
.B1.I-7
11	^THE PROPOSED ^DIGITAL CODING STANDARD FOR
ASSEMBLY LANGUAGE PROGRAMS SPECIFIES THAT THE ENTIRETY OF ANY
ROUTINE APPEAR ON ONE SOURCE PAGE. ^NORMALLY, ROUTINES SHOULD
BE SHORT. ^HOWEVER, FREQUENTLY LONG SEQUENCES OF LINEAR CODE
APPEAR. ^THEREFORE, IT IS CONVENIENT TO BREAK THE LISTING
IN NATURAL PLACES, FOR EXAMPLE BETWEEN "SENTENCES". ^WHEN THIS
IS DONE, A NOTE SHOULD BE INCLUDED INDICATING A CONTINUATION.
^THE MACRO ^^CONT.\\ HAS BEEN DEFINED TO ACCOMPLISH THIS. ^IT
SHOULD BE INSERTED INSTEAD OF THE NORMAL BLANK LINE WHENEVER A
PAGE OVERFLOW WANTS TO BE FORCED. ^NO BLANKS
SHOULD PRECEED OR FOLLOW IT. ^IT WILL BREAK THE PAGE AND INCLUDE
APPROPRIATE COMMENTS.
.PG.I-7
12	^IT IS USEFUL TO SEPARATE THE DEFINITION OF VARIOUS
BYTES AND FIELDS FROM THE CODE WHICH REFERENCES THEM. ^IN ORDER
TO AID THIS, THREE MACROS HAVE BEEN DEFINED TO HANDLE THIS
GOAL CONVENIENTLY AND EFFICIENTLY.
^THE MACRO ^^DEFST.\\ TAKES THREE ARGUMENTS. ^THE FIRST IS
THE NAME OF THE FIELD TO BE DEFINED. ^THE SECOND IS THE
WORD LOCATION OF THIS FIELD. ^THE THIRD IS A MASK OF
THE BYTE WITHIN THE WORD SPECIFIED BY THE SECOND ARGUMENT.
^THIS FORMS A COMPLETE DEFINITION OF THE BYTE. ^THE MACRO
^^LOAD.\\ TAKES TWO ARGUMENTS. ^THE FIRST IS AN
ACCUMULATOR, THE SECOND IS THE FIELD NAME DEFINED BY
^^DEFST.\\ ^IT LOADS THE FIELD INTO THE SPECIFIED ACCUMULATOR
BY A ^^MOVE, HRRZ, HLRZ,\\ OR ^^LDB\\ AS APPROPRIATE.
^^STOR.\\ IS IDENTICAL TO ^^LOAD.\\ EXCEPT THAT THE
ACCUMULATOR IS STORED INTO THE FIELD BY A ^^MOVEM, HRRM, HRLM,\\ OR ^^DPB\\.
^^ZERO.\\ IS IDENTICAL TO BOTH OF THESE EXCEPT THAT THE FIELD
IS ZEROED. ^THE FIRST ARGUMENT IS IGNORED. ^THIS CAN NOT
BE DONE TO BYTES, ONLY TO HALF AND FULL WORDS.
.B1.I-7
13	^CANCELLED BY EDIT 24.
.B1.I-7
14	^DEFINE THE SYMBOLS ^^LH.ALF, RH.ALF,\\ AND
^^FW.ORD\\ TO BE THE BYTES WHICH ARE THE ENTIRE LEFT HALF,
THE ENTIRE RIGHT HALF, AND THE FULL WORD RESPECTIVELY.
.B1.I-7
15	^DEFINE THE SYMBOL ^^.ZERO5\\ (WHICH HAS VALUE 0) TO
BE A MNEMONIC FOR "LEAVE BITS 13-17 ZERO" BECAUSE THE LOCATION
IS USED IN AN INDIRECT REFERENCE. ^THIS IS PARTICULARLY GOOD
IN TABLES SO THAT FUTURE EDITERS WILL NOT INTRODUCE BUGS BY
TRYING TO USE BITS 13-17.
.B1.I-7
16	^ADD THE MACRO ^^FRAME.\\ WHICH TAKES ONE ARGUMENT
WHICH IS A LIST OF TEMPORARY (TRANSIENT) STORAGE LOCATIONS.
^THIS MACRO IS TO BE INVOKED AT THE START OF A ROUTINE.
^THE TRANSIENT STORAGE IS ALLOCATED ON THE STACK AND IS
RELEASED AUTOMATICALLY WHEN THE ROUTINE RETURNS. ^EACH SYMBOL
IS DEFINED AS A MACRO WHICH AUTOMATICALLY INCLUDES THE STACK
REFERENCE AND A NEGATIVE OFFSET. ^THIS REQUIRES THAT NO
^^PUSH\\ OR ^^POP\\ BE DONE TO THE STACK WHILE REFERENCING
THESE LOCATIONS. ^THIS IS A POOR MAN'S TECHNIQUE
OF ACHIEVING AUTOMATIC STORAGE ALLOCATION IN RECURSIVE
ROUTINES.
.B1.I-7
17	^EXTEND THE FLAG CONCEPT IN EDIT 13 TO ALLOW FLAGS TO
BE DEFINED IN CORE LOCATIONS WITH THE ^^FLAG\\ MACROS.
^THESE CAN BE REFERENCED ONLY BY A NEW SET OF MACROS. ^SINCE THE
INSTRUCTION SET IS NOT AS RICH FOR THIS PURPOSE, NOT ALL
TEST INSTRUCTIONS EXIST. ^IN PARTICULAR, ONLY THE FOLLOWING
MACROS ARE DEFINED. ^NOTE THAT THESE MACROS GENERATE TWO
WORDS, SO THEY CAN NOT BE SKIPPED OVER. ^EACH MACRO TAKES TWO
ARGUMENTS. ^THE FIRST IS THE NAME OF AN ACCUMULATOR
WHICH IS CLOBBERED. ^THE SECOND IS THE NAME OF THE FLAG.
.B1.LM12.NF.NJ.TS27
^^TYNN.	;SKIP IF FLAG ON
TYNE.	;SKIP IF FLAG OFF
TYO.	;TURN FLAG ON
TYZ.	;TURN FLAG OFF
TYC.	;COMPLEMENT FLAG\\
.B1.F.J.LM7.TS7.I-7
20	^MORE OF EDIT 12.
.B1.I-7
21	^ADD MACRO ^^NDS.\\ WHICH IS EXACTLY LIKE ^^ND\\ EXCEPT
THAT IT ALSO SHOWS THE VALUE RESULTING NOMATTER HOW DEFINED.
.B1.I-7
22	^SIMPLIFY THE INTERNAL DEFINITION OF ^^INSVL.\\. ^THERE
IS NO CHANGE OF SPECIFICATION.
.B1.I-7
23	^ADD SUPPORT FOR THE ^^KL-10\\ IN THE MACRO ^^JUMPPT\\.
.B1.I-7
24	^CANCEL MOST OF EDIT 13 UNTIL IT IS BETTER UNDERSTOOD.
.B3.LM0.TS5
3.0	^^KNOWN BUGS AND DEFICIENCIES\\
.B1
^NONE.
.B3
4.0	^^INSTALLATION INSTRUCTIONS\\
.B1
^TO PRODUCE THE UNIVERSAL FILE AND OBTAIN A LISTING,
SIMPLY COMPILE ^^MACTEN.MAC\\ WITH ^^MACRO\\. ^THERE
ARE NO OPTIONS. ^IN PARTICULAR,
.B1.I5
^^.COMPILE MACTEN.MAC/CREF\\
.B1
AND PLACE THE RESULTING ^^MACTEN.UNV\\ ON ERSATZ DEVICE ^^UNV:\\
(OR ON ^^SYS:\\).
.B3
5.0	^^SUGGESTIONS\\
.B1
^NONE.
.B3
[^END OF ^^MCN1.DOC\\]