[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