[Info-vax] VAX Macro to C conversion

Aron Insinga aron.insinga at vmssoftware.com
Fri Jul 12 12:36:29 EDT 2019


On Tuesday, July 9, 2019 at 8:18:14 PM UTC-4, Bill Gunshannon wrote:
> On 7/9/19 3:08 AM, Simon Clubley wrote:
> > On 2019-07-08, Dave Froble wrote:
> >>
> >> Macro-32 is an assembler on the VAX.  On Alpha, itanic, and x86 is is a
> >> compiled language, and not anything you'd want to use on the non-VAX
> >> systems.  Just ask John.  It exists strictly for existing code.
> >>
> > 
> > It's nothing to do with whether it's an assembler or a compiler.
> 
> Both are merely semantics.  Both are programs that take human
> readable input and generate machine runable object code.
> 
> > 
> > It's to do with the fact that assembly language is so low level
> > and error prone even when compared to C.
> 
> The current MACRO-32 compiler can not be low level by any stretch
> of the imagination. I can not believe any VAX instruction would
> map directly and with the same semantics with the instruction set
> of the Alpha or the IA64.  The same would be true for the x86-64.


A single VAX instruction can be compiled into a _sequence_ of instructions for another machine.  A single VAX MACRO ADDL3 instruction might become 4 instructions for a RISC machine: load, load, add, and store.  Of course the sequence gets more complicated depending on the instruction, the addressing modes, etc.


> 
> > 
> >> However, if your target was a VAX, (not available anymore), it might be
> >> a viable choice, or not.
> >>
> > 
> > These days, the only thing anyone uses assembly language for in
> > new code are the small segments which cannot be coded even in C.
> 
> Except maybe in embedded systems I doubt any need for this still
> exists.  And in the embedded world they might write a lot more
> in assembler.  But I doubt it.
> 
> bill




More information about the Info-vax mailing list