Trailing-Edge
-
PDP-10 Archives
-
BB-R775E-BM
-
documentation/macro.doc
There are 25 other files named macro.doc in the archive. Click here to see a list.
COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1973,1986. ALL RIGHTS RESERVED.
THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND 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. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY
TRANSFERRED.
THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
CORPORATION.
DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
MACRO 53B(1245) contains the following maintenance edits.
1153 MFB 5-Sep-80 (QAR 3465)
Fix assignment of: external "operator" assignment
( X=B##+<N=N+1>-2 ) to generate correct code.
1154 MFB 5-Sep-80
Fix phase errors in literals caused by finding Polish
in universal files.
1155 MFB 10-Sep-79
Set inter-psect reference bit on in IO if switching from
macro to symbol at EVAS3.
1156 MFB 17-Sep-80
Make sure a macro definition is an absolute value.
1157 MFB 27-Sep-80 SPR 10-28746
Fix "?MCREPP EXPRESSION PARSING PROBLEM" involving
^! (the exclusive or operator) while expanding macros.
1160 MFB 28-Sep-80
Get rid of extra <CR><LF> due to XLIST inside a macro under
SALL (refer to edit 1150).
1161 MFB 9-Oct-79 SPR 10-28753
Allow MACRO to write out Polish blocks (block type 11)
that are more than 18 words long.
1162 MFB 24-Oct-79 (SPR 10-28820)
If the maximum number of arguments for a macro definition
is exceeded, give an error message.
1163 MFB 1-Nov-79 SPR 20-13664
Fix bad code generated by Bshift of a relocatable.
1164 MFB 1-Nov-79
Fix bad Polish generated by X=<<FOO##+2>B8+17>
1165 MFB 25-Jan-80 SPR 10-28821
Allow name: .LOW. to imply the global psect (i.e. .PSECT .LOW.)
1166 MFB 31-Jan-80 SPR 10-28979
Fix bad store operator for Polish expression in literal
that is inside phased code.
1167 MFB 21-Feb-80
Edit 1151 broke more than one lit in the last program
of a PRGENDed file.
1170 MFB 7-Mar-80
Reset EXTPNT in STMNT9 in case MACRO cleared it while
trying to parse the rest of the line. Fixes writing a
blank symbol name out in a Polish block.
1171 MFB 7-Mar-80 SPR 20-14030
Fix phase errors generated by macro call inside a literal
with created symbol argument missing.
1172 MFB 14-Mar-80 SPR 10-29346
Do not generate V errors for forward reference of store
address for .LINK psuedo-op.
1173 MFB 24-Mar-80
Allow KS10 as argument to .DIRECTIVE pseudo-op.
1174 MFB 2-May-80
Fix bug with external symbol becoming relocatable after
specifying .NODDT for that symbol.
1175 MFB 5-Jun-80
Make "E" errors only apply to line where error occured
and not the next binary producing line as well.
1176 MFB 5-Jun-80
Reset CTIBUF if TOPS20 version and only an input file
was specified. (fixes loop at end of pass 1).
1177 MFB 10-Jun-80 SPR 10-29621
If in remark, do not change "}","|","{" to strange control char.
1200 MFB 16-Jul-80 SPR 10-29754
Assemble statements like: "HRLI (HRRZ ,(15))" correctly.
Broken by edit 1113.
1201 PY 4-Sep-80 SPR 10-29907
Flag error when symbol is referenced as external in universal
file but local in program.
1202 PY 30-Sep-80
Change revision history, starting with version 53B. Add
date of edit, author's initials, and 10- or 20- to SPR
number. Also change history to lower case.
1203 PY 1-Oct-80 SPR 10-30018
Remove edit 653, as it is possible to generate UNV files
with synonyms that do not have VARF set.
1204 PY 2-Oct-80 SPR 10-29908, 10-30021
Test for inter-PSECT references involving special pointers
with additive fixups that will not go Polish. These consist
of LEFT,,0 where LEFT is non-zero.
1205 PY 3-Oct-80 SPR 10-30043
If processing the END statement, and the start address label
has the same name as a macro, do not incorrectly set the
inter-PSECT reference bit. Broken by Edit 1155.
1206 PY 14-Oct-80 SPR 10-30104
MCROBL message is printed instead of MCROQE error, prefix
is printed as garbage.
1207 PY 16-Oct-80 SPR 10-30103
Fix skewed listing when BYTE or SIXBIT psuedo-ops are used
in Psected programs.
1210 PY 5-Nov-80 SPR 20-15019
Do not clobber the size of an ARRAY during pass 1 if the array
is being made INTERNAL.
1211 PY 4-Feb-81 SPR 10-30309
Remove code which does not allow semicolons or CRLFs in some
failing conditionals.
1212 PY 11-Feb-81 SPR 20-15625
Fix handling of constants to give Q error in more cases
of integer overflow. Also fix code so that floating point
numbers will not get erroneous Q errors when the part before
the decimal point is too large to fit in an integer.
1213 PY 17-Feb-81
Fix edit 1204 so that special pointers with zero fixups will
always be copied. The only fixup that should not be copied
is one which has a non-zero right half. This is because it
is legal to say SKIPE ABC where ABC is a special pointer with
a zero addition and this case will not go Polish.
1214 PY 24-Mar-81 SPR 10-30814
An incorrect feature test flag could allow KL symbols
to be defined without KI symbols being defined.
1215 PY 27-Apr-81
If a fullword expression containing an external is in
angle brackets it will go polish on pass 2. Therefore,
do not fold it if it is in a literal in pass 1.
1216 PY 1-Sep-81
Make DEFINE A(B,,C) take a more severe error, so that
the universal file writer will not be confused by a bad
definition.
1217 EGM/PY 27-Jan-81 SPR 20-17083
Change the way negation is done to fix cases such as
<-.> and negation of relocatables in general.
1220 EGM 3-Feb-82 10-31828
Eliminate large number of causes of ?Ill mem refs for address 777777.
Convert fake Polish relocations back to listing flags at proper points.
1221 EGM 3-Feb-82
Flag cases of bad Polish fixup chains with E errors.
1222 EGM 3-Feb-82
Add code to report pass 1 only Polish as a new type of undefined
variable, which is declared as external at the end of pass 2.
1223 EGM 4-Feb-82
Eliminate longstanding bogus E error for BYTE (18) EXT##.
1224 EGM 4-Feb-82
Allow use of Variables/VAR with PSECTs. Broken by edit 602.
1225 EGM 4-Feb-82
Prevent Polish data on temporary stack from being destroyed during
complex expression evaluation.
1226 EGM 15-Feb-82
Alter type 2 .REL block symbol codes for partially defined globals to
eliminate confusion at LINK time. Right half deferred = 24 (same),
left half deferred = 30 (new), both halves deferred = 34 (new).
Also eliminate extra bit (04) in second symbol bits for 60/50, 60/70
pairs, to conform to documentation. Requires LINK edit 1330.
1227 EGM 17-Feb-82
Eliminate bad .REL files for left half Polish in OPDEFs and assignments
that are not enclosed in angle brackets. Also correct edit 767 to catch
relocatable left halves with Polish right halves.
1230 PY 16-Feb-82
Allow expressions of the form A=B##,,0 in UNIVERSAL files.
This edit supercedes edit 1201.
1231 EGM 18-Feb-82
Eliminate spurious listing header to TTY:, and wrong elapsed times
during PRGEND processing (edit 1141). Also cleanup edit 1146.
1232 PY 17-Jun-82
Allow assignments or opdefs before .COMMON statements.
1233 PY 12-Jul-82
Fix typo in edit 1222.
1234 EGM 28-Sep-82 SPR:10-32977
Finish up job started by 1113/1147 treating OPDEFs at all levels
in a consistent manner. Re-instate useful deviation from documented
behavior that essentially causes entry into an angle-bracketed
expression to revert to opcode field processing to allow
processing Opcodes/OPDEFs as operators and not symbols.
1235 PY 30-Sep-82 SPR 20-18269
Allow PSECT origins to be greater than 18 bits.
1236 PY 8-Dec-82 SPR 10-33238
Add G-floating instructions, XMOVEI, and XHLLI.
1237 PY 26-Apr-83 SPR 10-33691
Fix typo in edit 1236
1240 PY 10-May-83
Fix external in END statement. Broken by edit 1234.
1241 PY 27-May-83 SPR 20-19194
Dont increment count twice for psect indices when counting
for long polish blocks.
1242 PY 3-Aug-83 SPR 20-19096
Fix problem with CREFing psected programs. Don't use
DEFCRS when updating a symbol, since the cref code turns
it off.
1243 HD 22-Feb-85 SPR 10-35085
IOWD constant,external will go polish on pass 2, therefore don't
fold it in if it is in a litteral, during pass 1.
1244 HD 13-Nov-85 SPR 20-20963
Flag LOC value greater than 18 bits as an error.
1245 HD 13-Jun-86
New corporate copywrite notice.