--- Ullrich von Bassewitz <uz@musoftware.de> wrote: > On Thu, Jun 21, 2007 at 05:39:22PM -0700, Dan wrote: > > What causes this, by the > > way? I know that register saving may be > interleaved > > with initialization, but why wouldn't the > registers > > always be allocated starting at 0? > > Because they may be allocated in more than one chunk > depending on the > declaration. But why would the allocation be non-contiguous? There aren't any alignment restrictions, are there? > > There are a couple ways to do it. You could make > two > > passes through the function source code (only when > > needed), or you could do it at the assembly level. > The > > two pass method is probably much easier. > > Thanks. I'm still waiting that somebody sends me a > "small patch" that makes a > two pass compiler with intermediate representation > out of cc65 :-) Making cc65 a two-pass compiler _without_ intermediate representation should be easy. Pass 1: Compile and remember some stuff. Suppress output. Pass 2: Compile again. Use the data remembered in pass 1. Same way a two-pass assembler works. Very simple. Dan ___________________________________________________________________________________ You snooze, you lose. Get messages ASAP with AutoCheck in the all-new Yahoo! Mail Beta. http://advision.webevents.yahoo.com/mailbeta/newmail_html.html ---------------------------------------------------------------------- To unsubscribe from the list send mail to majordomo@musoftware.de with the string "unsubscribe cc65" in the body(!) of the mail.Received on Fri Jun 22 13:45:41 2007
This archive was generated by hypermail 2.1.8 : 2007-06-22 13:45:43 CEST