[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference turris::languages

Title:Languages
Notice:Speaking In Tongues
Moderator:TLE::TOKLAS::FELDMAN
Created:Sat Jan 25 1986
Last Modified:Wed May 21 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:394
Total number of notes:2683

178.0. "Macro Entry Restriction" by BEING::POSTPISCHIL (Always mount a scratch monkey.) Wed Apr 13 1988 16:10

    I'd like to solicit opinions on the behavior of the .ENTRY statement in
    Macro.
    
    Current behavior is to generate an error when R0 or R1 are included in
    the entry mask.  The VAX hardware supports R0 and R1 in the entry mask.
    The VMS procedure-calling standard and condition-handling facility
    require that R0 and R1 are never saved in the entry mask.
    
    The Macro assembler enforces the VMS standard and prohibits users from
    assembling routines which include R0 and R1.  A suggestion is to make
    this only a warning, not an error, and even to permit the warning to be
    disabled with a switch.
    
    What do you think?
    
    
    				-- edp
T.RTitleUserPersonal
Name
DateLines
178.1Move to TLE::MACROTOKLAS::FELDMANPDS, our next successWed Apr 13 1988 19:163
    Doesn't this question belong in the TLE::MACRO notes file?
    
       Gary
178.2My opinionSMURF::JMARTINJoseph A. Martin, ULTRIX kernelThu Apr 14 1988 11:1014
re .1
I disagree.  This is a good place to get a wide range of opinion, to test
the waters, so to speak.  I, for one, have some interest in this question
but not enough to wade through the MACRO file to follow it.

re .0
Some members of the ULTRIX group are studying the feasibility of porting
MACRO to ULTRIX.  For some purposes, we are beginning to need more than
the bang-the-rocks-together capabilities provided by as(1).  We (ULTRIX)
would not appreciate having an arbitrary (to us) software convention
enforced by a general purpose tool like an assembler.  As it happens, we
don't save those registers either.  Are there other similar "features"
in MACRO?
\Joe
178.3A port of MACRO to Ultrix has been doneCOOKIE::DOUCETTEChuck Doucette, Database A/D @CXOThu Apr 14 1988 13:2051
	It appears that a port of MACRO to Ultrix has already been done
	as a note from the Ultrix conference shows (below the FF).
	I hope UEG isn't contemplating getting rid of "as".
	It may not do macros; but, it does offer speed, simplicity,
	and an easy way to output debugging information for high-level
	languages. Ultrix compilers depend on it for those reasons.

	Chuck

           <<< THEBAY::DISK$VMSUSER3:[NOTES$LIBRARY]ULTRIX.NOTE;3 >>>
================================================================================
Note 1593.10                    MACRO for Ultrix?                       10 of 10
WINERY::THOMAS "The Code Warrior"                    34 lines  23-MAR-1988 23:41
                 -< Hello world (for a Ultrix native Macro32) >-
--------------------------------------------------------------------------------

    Rummmaging around the Internet tonight (anonymous ftp), I happened on
    a MACRO32 compatible (more or less) assembler for BSD 4.[23]/Ultrix.
    It includes support for .MACRO, .IRP, .IF, etc, etc.
    
    I've built it and it seems to do a reasonable job of assembling code.
    I'll try to bang on it some more this week to see how robust it is.
    But if you have to have copy to play with for yourself, drop me some
    mail and I'll tell you where to get a copy.  And don't give it to
    customers!! 
    
    And finally, a not exactly elegant "Hell World" program but it does
    work and is all in Macro.  
    
    Cheers,
    matt

	mask  = 0			; declare a constant
 
	.psect x, exe			; the following is executable code
	.align	word			; ensure alignment
	.globl	_printf			; delcare _printf as being global
_main::					; global label _main
	.word	mask			; register save mask
 
	.psect x, noexe			; the following is data
	.align 1			; align on 2 raised to integer boundary
17$:					; data label
	.asciz	"hello world\n"		; null terminated string
 
	.psect x, exe			; back to executable code
	pushl	#17$			; push address of data
	calls	#1,_printf		; call printf with 1 argument
	ret				; finished
 

178.4Towards accuracy in I/ODENTON::AMARTINAlan H. MartinFri Apr 15 1988 09:537
Re .3:

>>    And finally, a not exactly elegant "Hell World" program but it does
>>    work and is all in Macro.  

He can say that again.
				/AHM
178.5BEING::POSTPISCHILAlways mount a scratch monkey.Fri Apr 15 1988 15:0213
    Re .1:
    
    Probably, but I figured there wasn't one because 1.0 contained a list
    which did not include Macro.  Times have changed; I should have checked
    EASYNET_CONFERENCES. 
    
    I still think assemblers, being so intimately connected with the
    machine, should be pure (free of operating system dependencies), but
    the mail I received in response to my mail about the QAR response has
    mollified me somewhat, so we can let this topic settle down.
    
    
    				-- edp
178.6Nothing ever goes away--except PDP-10s :-(SMURF::JMARTINJoseph A. Martin, ULTRIX kernelTue Apr 19 1988 10:345
re .3
No one is contemplating the demise of as(1).  Our local MACRO porter is
nearly done and says it was easy.  I'll point him to the ULTRIX note, just
in case.  Thanks.
\Joe