I was looking for a page on non-standard architectures, and this showed up:
- The VAX is like a 32-bit PDP. It’s the next machine in PDP evolution. People enjoyed coding for the VAX with its nice flat memory and uniform pointers of all types. People liked it so much that the term “VAXocentric” referred to sloppy coding by those who got too comfortable with the architecture and who didn’t bother to learn how other computers differed.
- The assembly for x86-64 looks externally similar to VAX, and people originally believed VAX would outlast Intel. This proved incorrect, as the “attack of the micros” destroyed the mainframe and minicomputer markets.
- Datatype sizes:
- char — 8
- short — 16
- int — 32
- long — 32
- Programs run faster with data aligned properly, but there is no strict alignment requirement, unlike previous architectures such as the IBM 360, PDP-11, Interdata 8/32 etc. Size and alignment attributes are logically independent. The VAX-11 C compiler aligns all the basic data types on address boundaries which are multiples of the size of each type.
- Other facts: the VAX C compiler doesn’t guarantee left-to-right evaluation of function arguments. Chars are signed by default. The PDP was OK with division by zero and returned the dividend, but VAX causes an unmaskable trap.
- Bell Labs wrote an interesting report about porting programs from the PDP to VAX, and some of their recommendations were adopted by ANSI C."
Proper capitalization of name
The 'Summary' document in the distro calls it 'UNIX/32V'. I suppose I should move/rename it, but the spelling switched from 'UNIX' to 'Unix' around V7, but since this post-dated V7, it would be sort of confusing to use the spelling as in the doc. Let me think about it... 02:13, 20 June 2022 (CEST)