Port-vax archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: VAX architectural critiques - Re: VAX RPB (Restart Parameter Block)



On 07/02/13 1:34 AM, Matt Thomas wrote:

On Feb 6, 2013, at 6:25 PM, Toby Thain wrote:

Least-significant-bit instructions would have seemed useful at the time to implement a 
Pascal-ish *Boolean* (*not* a C "boolean" test - C hadn't dominated the 
semantics of everything yet).

You are looking through a unix-tinted looking glass which is incorrect.
Remember the VAX was designed to implement VMS and VMS uses the least
significant bit to indicate success / failure on return status, and that
is what the BLB[CS] instruction was designed for.

I'm specifically *not* looking through Unix tinted glasses (perhaps you missed the "not" in what I wrote) - Since as I said, such an instruction does not have the semantics of a C logical value (but could of course be generated by a C optimiser in other circumstances).

Without contradicting in any way your good point about convenient VMS APIs, the VAX instruction set and data types were certainly designed, also, with language translators/compilers in mind. ISA support for "single bit" operations does partly speak to that (as do, in more obvious ways, many other instructions).

--Toby


Home | Main Index | Thread Index | Old Index