From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 9630 invoked from network); 4 Mar 2023 15:55:11 -0000 Received: from 9front.inri.net (168.235.81.73) by inbox.vuxu.org with ESMTPUTF8; 4 Mar 2023 15:55:11 -0000 Received: from duke.felloff.net ([216.126.196.34]) by 9front; Sat Mar 4 10:54:03 -0500 2023 Message-ID: Date: Sat, 04 Mar 2023 16:53:53 +0100 From: cinap_lenrek@felloff.net To: 9front@9front.org In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit List-ID: <9front.9front.org> List-Help: X-Glyph: ➈ X-Bullshit: RESTful just-in-time ORM over YAML extension-aware hosting descriptor deep-learning layer Subject: Re: [9front] Re: [PATCH] game boy advance header target for 5l Reply-To: 9front@9front.org Precedence: bulk > In porting a more complicated rom, I realized that plan9 specific > init code is unavoidable anyway due to needing to setup R12: > MOVW $setR12(SB), R12 /* load the SB */ It is not plan9 specific really. It is just an address bias value for accessing the data section; generated by the linker. The idea is that you want to keep the offsets small becuse small offsets are more likely be encodable directly into a single instruction, while larger ones need multiple instructions. Also note this is a RISC thing; where you have usually a large number of general purpose registers. For 386 code, there is no such thing. -- cinap