[Info-vax] iomacs.mlb

GC cornelius at eisner.decus.org.INVALID
Wed Jan 30 06:56:27 EST 2019


GC <cornelius at eisner.decus.org.invalid> wrote:
> Tempted to think this is "print word", but I won't jump to
[...]

-27F in southeast Minnesota - great time to do some Macro!

Here are a couple of ideas for macro code.  Tested - once.

 .psect  i__data,quad,noexe,wrt

p_f_bufsiz=8*128 ; Multiple of 4 needed for alignment

 .macro print_literal a1,f1,f2,f3,?tmp,?tmpx
 .save_psect
 .psect i__data
 .align quad
tmp:
 .ascid \a1\
 .restore_psect
 pushal tmp
 calls #1,lib$put_output
 blbs r0,tmpx
  $exit_s
tmpx:
 .endm

 .macro print_fao lit,a1,a2,a3,a4,a5,a6,a7,a8,a9,?tmpa,?tmpb,?tmpw,?tmpx
 .save_psect
 .psect i__data
 .align quad
tmpa:
 .long p_f_bufsiz
 .address tmpa+8
 ;.blkb p_f_bufsiz
 .align quad
tmpb:
 .ascid \lit\
 .restore_psect
 subl #p_f_bufsiz,sp
 movl sp,tmpa+4
 movl tmpb,tmpa
 movw #p_f_bufsiz,tmpa
 $fao_s tmpb,tmpa,tmpa,a1,a2,a3,a4,a5,a6,a7,a8,a9
 blbc r0,tmpw
  pushal tmpa
  calls #1,lib$put_output
  blbs r0,tmpx
tmpw:
  $exit_s
tmpx:
 addl #p_f_bufsiz,sp
 .endm

Sorry, Brian, no variable length strings in this one - stuck
with what I knew.

No backslashes allowed in literal string arg in either -
forgot the magic incantation for .asci<whatever> to allow
arbitrary characters.

More info to come later.

George




More information about the Info-vax mailing list