[Simh] Macro-11 Macro library question (RT11 running in SimH PDP11)
Will Senn
will.senn at gmail.com
Fri Feb 5 16:05:21 EST 2016
I got it working :).
However, It doesn't look like macro files can be listed - from the
system utilities manual:
The .MACRO directive produces the entries in the library directory
(macro names). LIBR does not maintain a directory listing file for macro
libraries; you can print the ASCII input file to list the macros in the
library.
I did a bunch more reading and figured out that the issue was around
inconsistent/improper use of the leading dot. Interestingly, no
diagnostic I could find was helpful in tracking this down. Y'alls tips
and hints were much more useful.
So, here's how it went down (don't use a leading dot for user-defined
macros, but if you do use them, use them everywhere):
.type et2.mac
.TITLE ETTYIN
.MCALL .TTYOUT,TIN
START: MOV #BUFFER,R1
CLR R2
INLOOP: TIN (R1)+
INC R2
CMPB #12,R0
BNE INLOOP
MOV #BUFFER,R1
OUTLOOP:.TTYOUT (R1)+
DEC R2
BEQ START
BR OUTLOOP
BUFFER: .BLKW 64.
.END START
.
.type tin.mac
.MACRO TIN CHAR
EMT ^O340
BCS .-2.
.IF NB <CHAR>
.IF DIF <CHAR>,R0
MOVB R0,CHAR
.ENDC
.ENDC
.ENDM
.lib/mac/c tin tin
.macro et2/list/cross+tin.mlb/lib
.link et2
.run et2
THIS IS A TEST
THIS IS A TEST
^C
.
I really appreciate y'alls assistance.
Thanks,
Will
On 2/5/16 12:19 PM, Timothe Litt wrote:
> Try the obvious:
>
> lib/mac/list tin.mlb
>
> I don't remember exactly, but I think there's a /detail or /names or
> /list=names that will list the macro names in the library.
>
> That will at least determine if MAC *should* find the macro.
>
> On 05-Feb-16 13:05, Will Senn wrote:
>>
>> On 2/5/16 10:20 AM, Paul Koning wrote:
>>>> On Feb 5, 2016, at 10:48 AM, Will Senn <will.senn at gmail.com> wrote:
>>>>
>>>> All,
>>>>
>>>> A couple of questions:
>>>>
>>>> ...
>>>> lib/mac/c tin tin
>>>> macro et2/list/cross+tin.mlb/lib
>>>> ?MACRO-E-Errors detected: 2
>>>> DK:ET2,DK:ET2/C=DK:ET2,DK:TIN.SML
>>> Try putting the macro library earlier in the command line. I believe
>>> MACRO processes command arguments as it encounters them, so here
>>> you're asking it to assemble ET2 before you've given it the macro
>>> library it needs to understand the .MCALL.
>>>
>>> paul
>>>
>> I tried the command with the filespecs switched with the same result:
>> .macro tin.MLB/lib+et2/list/cross
>> ?MACRO-E-Errors detected: 2
>> DK:TIN,DK:ET2/C=DK:TIN.MLB/M,DK:ET2
>>
>> And then I ran it via run macro:
>> .run macro
>> *ET2.OBJ,ET2.LST,ET2.LST=TIN.MLB/M,ET2
>> ?MACRO-E-Errors detected: 2
>> ET2.OBJ,ET2.LST,ET2.LST=TIN.MLB/M,ET2
>> *
>>
>> And then I edited the macro file to include a LIBRARY directive:
>> .TITLE ETTYIN
>> .LIBRARY /TIN.MLB/
>> .MCALL .TTYOUT,.TIN
>>
>> START: MOV #BUFFER,R1
>> CLR R2
>> INLOOP: .TIN (R1)+
>> INC R2
>> CMPB #12,R0
>> BNE INLOOP
>> MOV #BUFFER,R1
>> OUTLOOP:.TTYOUT (R1)+
>> DEC R2
>> BEQ START
>> BR OUTLOOP
>> BUFFER: .BLKW 64.
>> .END START
>>
>> and recompiled:
>> .macro et2/list/cross
>> ?MACRO-E-Errors detected: 2
>> DK:ET2,DK:ET2/C=DK:ET2
>>
>> It looks to me like it is finding the file, but not "seeing" the macro
>> definition?
>>
>> Thanks,
>>
>> Will
>>
>> _______________________________________________
>> Simh mailing list
>> Simh at trailing-edge.com
>> http://mailman.trailing-edge.com/mailman/listinfo/simh
>
>
>
> _______________________________________________
> Simh mailing list
> Simh at trailing-edge.com
> http://mailman.trailing-edge.com/mailman/listinfo/simh
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.trailing-edge.com/pipermail/simh/attachments/20160205/2be238e0/attachment.html>
More information about the Simh
mailing list