[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