Path: utzoo!mnetor!uunet!littlei!omepd!bobdi From: bobdi@omepd (Bob Dietrich) Newsgroups: comp.arch Subject: Re: 80960 Register windows Message-ID: <3407@omepd> Date: 22 Apr 88 18:27:32 GMT References: <3358@omepd> <29454@linus.UUCP> <3392@omepd> <385@bacchus.DEC.COM> Reply-To: bobdi@omepd.UUCP (Bob Dietrich) Organization: Intel Corp., Hillsboro, Oregon Lines: 28 Keywords: 80960, RISC, embedded control In article <385@bacchus.DEC.COM> alverson@decwrl.UUCP (Robert Alverson) writes: >After hearing about the 80960 for the last few days, I still have a few >questions: > >1. How are parameters passed into procedures? In Berkeley's RISC, this > was accomplished with overlapping windows. What I have read seems to > imply that the 80960 windows do not overlap. How about procedure > return values? > ... >Bob In the 80960 C compiler, parameters are typically passed in up to 12 (G0-G11) of the global registers. If a function has more than 12 registers worth of parameters, the calling function allocates a parameter block on the stack and passes a pointer to it in G14. Note that some parameters may take more than one register, such as doubles and aggregates up to four 32-bit words in size. Return values are placed in G0-G3, depending on size. If a structure or aggregate is to be returned, the caller places a pointer to the return space in G13. Bob Dietrich Intel Corporation, Hillsboro, Oregon (503) 696-4400 or 2092(messages x4188,2111) usenet: tektronix!ogcvax!omepd!bobdi or tektronix!psu-cs!omepd!bobdi or ihnp4!verdix!omepd!bobdi