[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