[Simh] Macro-11 Macro library question (RT11 running in SimH PDP11)

Timothe Litt litt at ieee.org
Fri Feb 5 16:41:45 EST 2016


Too many loose ends to declare victory.

The RT-11 librarian doesn't have a list command for macros; they were
second class citizens.  It's available on other DEC OS's librians, so I
must have crossed a memory.

Names with a '.'  or '$' are reserved to DEC.  But I don't think this
should impact how the search is conducted.  I'm pretty sure I had
private libraries with .foo names (legal, as I was in DEC :-)

In .FOO, '.' is part of the symbol name.

See
http://bitsavers.informatik.uni-stuttgart.de/www.computer.museum.uq.edu.au/RT-11/AA-5075A-TC%20PDP-11%20MACRO-11%20Language%20Reference%20Manual.pdf 
Page 3-6; also chapter 7, section 7.8.

http://bitsavers.trailing-edge.com/pdf/dec/pdp11/rt11/v5.6_Aug91/AA-PDU0A-TC_RT-11_Commands_Manual_Aug91.pdf

describes the DCL:
e.g. EXECUTE MYLIB/LIBRARY+C.MAC/LIST/OBJECT

I don't suppose that you got it trouble for explicitly specifying .MLB? 
That would be strange.  But DCL for RT11 came after I stopped using RT11.

You didn't provide the .LST file, which is where the real error should
turn up.
Also,  .list MD, MC and ME will often shed some light on these sorts of
issues.  (Of these, ME is the only one not defaulted on)



On 05-Feb-16 16:05, Will Senn wrote:
> 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
>
>
>
> _______________________________________________
> 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/37cc55d3/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4994 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://mailman.trailing-edge.com/pipermail/simh/attachments/20160205/37cc55d3/attachment-0001.bin>


More information about the Simh mailing list