[Info-vax] Bliss
Lawrence D'Oliveiro
ldo at nz.invalid
Sat Jul 13 02:30:12 EDT 2024
Slightly more elaborate example, doing some environment enquiries:
module e2 =
begin
global routine bmain =
begin
external routine putnums;
putnums
(
uplit(%ascii'%%bpval = %d, %%bpunit = %d, %%bpaddr = %d, %%upval = %d', 10, 0),
%bpval, %bpunit, %bpaddr, %upval
);
end;
end eludom
C driver:
#include <stdio.h>
extern void BMAIN();
void PUTNUMS
(
const char * fmt,
int bpval,
int bpunit,
int bpaddr,
int upval
)
{
fprintf
(
stdout, fmt,
bpval, bpunit, bpaddr, upval
);
} /*putnums*/
int main(void)
{
BMAIN();
return
0;
} /*main*/
Output:
%bpval = 64, %bpunit = 8, %bpaddr = 64, %upval = 8
Slightly annoying that global names must be uppercased.
Also I wonder if I can get varargs to work ...
More information about the Info-vax
mailing list