🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: net.micro.atari
Article #1706

Re: ERROR MESSAGES AND HIPPO-C

#1706
From: oconnor
Date: Sat, 07 Dec 1985 03:58
51 lines
2170 bytes

The "out of registers" error is a result of poor compiler design.
When generating subroutine calls the Hippo C compiler generates code that
moves each argument into a data register before moving it onto the
stack.  Unfortunately it does not reuse the data register, so that when you
have a call with more arguments than available registers the compiler will
halt with the error "out of registers".  Of the 8 data registers in the
68K only six can be used this way (a Hippo issue, not hardware).  So a call to
the VDI routine "v_ellpie()" which has 7 arguments will not compile (even
though it is "supported" by Hippo).

	For example, if a  program contained the following subroutine call:

	v_ellpie( handle, x, y, xradius, yradius, begang, endang ) ;

where all the arguments are automatic variables contained in "main",
the Hippo compiler generates the following assembly language:

	move.w	-200(a6),d2
	ext.l	d2
	move.w	-198(a6),d3
	ext.l	d3
	move.w	-196(a6),d4
	ext.l	d4
	move.w	-194(a6),d5
	ext.l	d5
	move.w	-192(a6),d6
	ext.l	d6
	move.w	-190(a6),d7
	
whereupon it would halt with the "out of registers" error message.  If there
were enough registers, it would have continued with:

	ext.l	d7
	move.w	-188(a6),d8
	ext.l	d8
	move.l	d2,-(sp)
	move.l	d3,-(sp)
	move.l	d4,-(sp)
	move.l	d5,-(sp)
	move.l	d6,-(sp)
	move.l	d7,-(sp)
	move.l	d8,-(sp)
	jsr	_v_ellpie

	Because of this and their copy-protection I do not recommend this
compiler to anyone.
			Mike O'Connor
			oconnor@umd5.arpa
			oconnor@umd5.UUCP
Technical Details
Message-ID: <809@umd5.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!watmath!clyde!bonnie!akgua!gatech!seismo!umcp-cs!cvl!umd5!oconnor
References: <8512061148.AA25696@ucbvax.berkeley.edu>

Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/5/84; site umd5.UUCP
Path: arc1-ca.pugleaf.net!utzoo!watmath!clyde!bonnie!akgua!gatech!seismo!umcp-cs!cvl!umd5!oconnor
From: oconnor@umd5.UUCP
Newsgroups: net.micro.atari
Subject: Re: ERROR MESSAGES AND HIPPO-C
Message-ID: <809@umd5.UUCP>
Date: Fri, 6-Dec-85 22:58:37 EST
Article-I.D.: umd5.809
Posted: Fri Dec  6 22:58:37 1985
Date-Received: Sun, 8-Dec-85 03:25:12 EST
References: <8512061148.AA25696@ucbvax.berkeley.edu>
Reply-To: oconnor@umd5.UUCP (Mike oconnor)
Organization: U of Md, CSC, College Park, Md
Lines: 51