[Info-vax] Calling standards, was: Re: Byte range locking - was Re: Oracle

Craig A. Berry craigberry at nospam.mac.com
Wed Nov 23 19:42:35 EST 2016


On 11/23/16 12:59 PM, Bob Koehler wrote:
> In article <e9m017F7ab9U1 at mid.individual.net>, Bill Gunshannon <bill.gunshannon at gmail.com> writes:
>>
>> As I said, I don't have a manual handy.  I am aware that the VAX
>> had descriptors, but I would be extremely surprised if the .ASCIZ
>> and .PRINT weren't still there again, primarily for backwards
>> compatibility.
>
>    VAX macro has an .ASCIZ directive.  Never had any use for it, even
>    after we started doing C.  Can't seem to find a .PRINT directive, but
>    I haven't done an exhaustive search.

30 seconds with a search engine reveals that .PRINT, .WARNING, and
.ERROR in VAX MACRO are assembly-time directives that print the comment,
i.e., everything after the semicolon. As far as I can see, the strings
are always constants of known length and the only thing that could crash
is assembling your program, not running it. I've never really been a
MACRO person but I think I've usually seen people use LIB$PUT_OUTPUT for
printing, and of course that is a descriptor-based interface.

I don't recall whether there are any native interfaces that use .ASCIZ
but there are certainly MACRO programs that use it. And when coding in
assembler, surely null-terminated strings are the least of your worries
as far as accessing memory that doesn't belong to you. Which makes all
the dumping on C kind of silly considering a third of VMS is written in
a far more dangerous language. Dunno about BLISS. Maybe it's two thirds.




More information about the Info-vax mailing list