Skip to main content
Home Documents Game Manuals MPW 3.2 Assembler Release Notes 199104
MPW 3.2 Assembler Release Notes 199104

MPW 3.2 Assembler Release Notes 199104

Game Manuals · PDF
FilenameMPW_3.2_Assembler_Release_Notes_199104.pdf
Size0.39 MB
Subsection MPW 3.2 Assembler Release Notes 199104
Downloads0
Enjoying MacTrove? Anonymous downloads are free and unlimited. Create a free account to track favorites, contribute metadata corrections, and join the community chat.
Reader
MPW 3.2 Assembler Release Notes 199104
/
Loading…
OCR / Text contents
030-3626-A MPW 3.2 Assembler Release Notes The following features have been added to the Assembler for version 3.2. • New optimizations. • Longer identifiers. • New parameter and syntax for module directives. • MC68040 support. • "32-Bit Everything" support. • Improved SADE support. • A new macro function : &SYSINMOD New Optimizations The 3.2 Assembler supports optimization of instructions which were previously not opti- mized. The following additional optimizations are available: ADD #<Data>,An [-8 <= data <= -1) =====> SUBQ #-<Data>,An ADDA #<Data>,An [-8 <= data <= -1] =====> SUBQ #-<Data>,An ADDI #<Data>,An [-8 <= data <= -1) =====> SUBQ #-<Data>,An SUB #<Data>,An [-8 <= data <= -1] =====> ADDQ #-<Data>,An SUBA #<Data>,An [-8 <= data <= -1] =====> ADDQ #-<Data>,An SUBI #<Data>,An [-8 <= data <= -1] =====> ADDQ #-<Data>,An The above optimizations only occur when the Assembler understands the operand to be a negative number. Since the Assembler operates on 32-bit arithmetic, the value of the operand must be written as a negative number in order to activate the optimization. Tiris is necessary regardless of the size (B, W, L) of the instruction. Thus, in a byte operation, the operand must specify "-1" instead of "$FF". even though, un-optimized, they would both compile to the same instruction. MPW 3.2 Assembler 1 Copyright Apple Computer, Inc. Release Notes 1990-1991. All rights reserved. ADDI #<Data>,<EA3> [+l <= data <= +8] =====> ADDQ #<Data>,<EA3> SUBI #<Data>,<EA3> [+l <= data <= +8] =====> SUBQ #<Data>,<EA3> ADD.I #<data>,An [-32767 <= data <= +32767] =====> LEA <Data>(An),An Longer Identifiers The Assembler now suppons identifiers of lengths up to 251 characters (this was done primarily to support C++ name mangling). On detecting a name that exceeds this maxi- mum, the Assembler issues the warning: ID longer than maximum length ... truncating to maximum length. New Parameter and Syntax for Module Directives A new parameter, ForceActi ve, exists for the ccxie module and data mcxiule directives. A new syntax has been provided and error checking for conflicting parameters is in effect. ForceActive ForceActive causes a ccxie or data module to be included in the final linked output even if the Linker would otherwise strip that code or data module because there were no refer- ences to it. Syntax For code module directives: Line ::= [label] CodeDir [KeywordList] CodeDir ::= PROC I FUNC I MAIN KeywordList ::=Keyword I KeywordList, Keyword Keyword::= ENTR…

Showing first 3,000 characters of 13,303 total. Open the full document →

mp.ls