LAFOLLETTE@temple.CSNET.UUCP (04/28/87)
We have encountered some peculiar behaviour with the VMS MACRO assembler, and would be curious to know whether anybody on the list can explain it. If the following MACRO program is saved in the file TRY.MAR, the assembler bombs with an access violation (see below). This is an assembly time problem, not a run time problem. .macro sum a=r0, b=r2 movl a, b .endm .entry go,0 sum r3, r4 $exit_s .end go However, any of the following changes will allow it to assemble without problems: 1) Changing the name of the macro from sum to ssum. Indeed, any three character macro name seems to cause the problem and any four character name seems to work ok. 2) Removing the default values from the macro definition line makes it work ok. 3) (Twilight zone effect) Renaming the source file to any name of nine characters or longer makes it work ok. For instance, if the source file is named MMM.MAR, it bombs. If it is named TRYTRYTR.MAR it bombs. If it is named TRYTRYTRY.MAR it works fine. We will SPR this thing, but we are most curious as to what is going on, and would appreciate any insight any of you might have. For reference, this behaviour was observed on a VAX 780, and several microVAX-II's, all running VMS version 4.4. $ mac try %SYSTEM-F-ACCVIO, access violation, reason mask=01, virtual address=F0500006, PC=0000CAF5, PSL=03C00008 Improperly handled condition, image exit forced. Signal arguments Stack contents Number = 00000005 00006BFC Name = 0000000C 0004F042 00000001 00000001 F0500006 000001C5 0000CAF5 0004F055 03C00008 00009249 0004F052 00000000 00000000 21C00000 Register dump R0 = 00000004 R1 = 00008056 R2 = 00000004 R3 = 0004F03F R4 = 00006BFC R5 = F0500002 R6 = 0004F042 R7 = 00008056 R8 = 00000004 R9 = 0004DC46 R10= 00000020 R11= 000077A8 AP = 7FF48110 FP = 7FF480D0 SP = 7FF4814C PC = 0000CAF5 PSL= 03C00008 Paul LaFollette LAFOLLETTE@TEMPLE.CSNET David Weiner WEINER@TEMPLE.CSNET Robert Stafford STAFFORD@TEMPLE.CSNET Dept. of Computer and Information Science Temple University Philadelphia, Pa. 19119