Path: chuka.playstation.co.uk!news From: "John Blackburne" Newsgroups: scee.yaroze.programming.codewarrior,scea.yaroze.programming.codewarrior Subject: Re: GTE asm with CodeWarrior Date: Tue, 26 Jan 1999 22:04:10 +0000 Organization: PlayStation Net Yaroze (SCEE) Lines: 61 Message-ID: <78le37$gpd8@chuka.playstation.co.uk> References: <78dk65$nd41@chuka.playstation.co.uk> <36AAF8E8.E85886FB@hinge.mistral.co.uk> <78f5ll$nd46@chuka.playstation.co.uk> <36AB8574.82169D5F@hinge.mistral.co.uk> NNTP-Posting-Host: th-pm00-04.ndirect.co.uk Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Newsreader: Microsoft Outlook Express Macintosh Edition - 4.5 (0410) Xref: chuka.playstation.co.uk scee.yaroze.programming.codewarrior:440 scea.yaroze.programming.codewarrior:383 (Sean Kennedy) wrote: > That does not mean that the Yaroze system can be used for Assembler programming. It can. Details follow. > Hah, nothing in the "documentation" says anything See pages 81 - 87 of the PDF file "C Compiler Reference MIPS", from the CodeWarrior CD. > but I noticed a > few Metrowerks examples and .h files that contained defintions that > allowed GTE / GPU optimizations in assembler. There's that too: ASM.H is the interesting one as it lets you refer to R3000 registers by standard names. > Wait a minute here. The assembler will ony make sense to those that know > what its true register designation defintions do and are documented. MIPS assembly, including register and calling conventions, e.g. which registers variables are passed in, is fully & publicly documented. You can find the info online and in bookstores. The CodeWarrior Docs give some references. The CodeWarrior docs do not include this info, rather they describe MetroWerks implimentation of MIPS assembly. Together with the public docs it tells you everything you need to know to be able to program in assembler on Yaroze. > Nice motives, just stick to what you know you can do with supporting > documentation. I plan to. > Assembler is a very powerful developer tool if you know EXACTLY what you > are doing at ALL Times. I do (mostly). > This example is a clear case of someone who got a > code snippet, and tried using it without proper file/library support in > the compiler. > However, if Sony had released an assembler fragment to allow "lets say" > Force feedback control as part of the GetPadBuf() routine, to allow an > output. Called PutPadBuf( *padFF_Info ) and there was good documentation > support. Then Yes Metrowerks CW for Net Yaroze can compile the assembler > source, and it would work. But it is easier to maintain these hooks in > Library Upkeep in the file: LIBPS.A > > Assembler is like digging a post hole with a teaspoon. > Keep in mind, you have control over EVERY Little Piece of Dirt. For most coding it's better to work in a high level language such as C: going to assembler provides little benefit if most of the work is done by libraries, or if the code is non-critical. But there are many occasions where you will see significant gains after re-coding in assembler. And even if you always code in C a good understanding of the processor and its assembly language can help you write much better code, on the Yaroze as much as any other processor. John