[comp.os.vms] macro

tada@athena.mit.edu (Michael Zehr) (04/05/88)

I have a C prgram which has one very small part which needs to be *real*
fast.  The obvious solution seems to be to code it in assembler, but the 
problem is that i don't think reading through the friendly orange manual
is the best way to learn assembler for a VAX.  Does anyone have suggestions
for a good tutorial?  (I've done some assembler for micro's, and have 
studied varieties of assembly languages in school, so i'm familiar with
most of the concepts, but i haven't done any programming in assembly on a
real machine.)

Thanks in advance for any help.
-------
michael j zehr
"My opinions are my own ... as is my spelling."

jayz@cullsj.UUCP (Jay Zorzy) (04/05/88)

From article <4331@bloom-beacon.MIT.EDU>, by tada@athena.mit.edu (Michael Zehr):
> 
> I have a C prgram which has one very small part which needs to be *real*
> fast.  The obvious solution seems to be to code it in assembler, but the 
> problem is that i don't think reading through the friendly orange manual
> is the best way to learn assembler for a VAX.  Does anyone have suggestions
> for a good tutorial?  

I would recommend "Computer Programming and Architecture: The VAX-11" by
Henry M. Levy and Richard H. Eckhouse, Jr. (Digital Press).  You can 
probably find it at your nearest DEC Bookstore for around twenty bucks.

Jay Zorzy
Cullinet Software
San Jose, CA

jeh@crash.cts.com (Jamie Hanrahan) (04/07/88)

In article <280@cullsj.UUCP> jayz@cullsj.UUCP (Jay Zorzy) writes:
>From article <4331@bloom-beacon.MIT.EDU>, by tada@athena.mit.edu (Michael Zehr):
>> 
>> I have a C prgram which has one very small part which needs to be *real*
>> fast.  The obvious solution seems to be to code it in assembler, but the 
>> problem is that i don't think reading through the friendly orange manual
>> is the best way to learn assembler for a VAX.  Does anyone have suggestions
>> for a good tutorial?  
>
>I would recommend "Computer Programming and Architecture: The VAX-11" by
>Henry M. Levy and Richard H. Eckhouse, Jr. (Digital Press).  You can 
>probably find it at your nearest DEC Bookstore for around twenty bucks.
>
>Jay Zorzy
>Cullinet Software
>San Jose, CA

There's also a VAX Macro (or Macro-32, if you prefer) textbook by Sara Baase
of San Diego State Univ.  Both of these are quite old, but are perfectly
applicable to current (and future) VMS systems.  

Both of these books are quite good.  Neither is really intended to be a 
self-teaching tutorial, but if you're comfortable with other assembler
languages and with C you shouldn't have much trouble picking up what you
need to know.  You should also be prepared to peruse your VAX C documentation,
and possibly the other VAX documentation on the VAX Procedure Calling Standard,
to get a grip on C's argument-passing conventions.  

On the other hand... unless you can come up with a spiffy way to implement
your routine in Macro, something that takes good advantage of the VAX 
instruction set and which isn't seen by the C compiler, I doubt you'll see
huge improvements.  The infamous Sieve of Er., coded in Macro, runs in about
2/3 the time as the C version... better, but not tremendously so.