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

Johnny Billquist bqt at softjar.se
Fri Feb 5 16:59:19 EST 2016


He provided the listing in the original post.
He had one error on .MCALL line, and one on the .TIN line

U on .MCALL, and UQ on .TIN, if I remember right.

I also find it extremely strange that it would not be possible to start 
a user defined macro with '.', but if it works without, that's a strong 
indication that the dot was the problem.

Or else Will was not actually using a dot, but only something that 
looked like one, or something else funny...?

As for listing the macro expansions in the list file, that can be 
interesting, but if the symbol is considered undefined, you're not going 
to see anything more.

	Johnny

On 2016-02-05 22:41, Timothe Litt wrote:
> 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
>
>
>
> _______________________________________________
> Simh mailing list
> Simh at trailing-edge.com
> http://mailman.trailing-edge.com/mailman/listinfo/simh
>


-- 
Johnny Billquist                  || "I'm on a bus
                                   ||  on a psychedelic trip
email: bqt at softjar.se             ||  Reading murder books
pdp is alive!                     ||  tryin' to stay hip" - B. Idol


More information about the Simh mailing list