Skip to main content
Home Documents Macintosh MPW 3.2 Assembler Release Notes
MPW 3.2 Assembler Release Notes

MPW 3.2 Assembler Release Notes

Macintosh · PDF
FilenameMPW_3.2_Assembler_Release_Notes_199104.pdf
Size0.39 MB
Subsection developer / MPW / MPW_3.2
Downloads0
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 optimized. The following additional optimizations are available: ADD ADDA ADDI #<Data>,An #<Data>,An #<Data>,An [-8 <= data <= -1) [-8 <= data <= -1] [-8 <= data <= -1) =====> =====> =====> SUBQ SUBQ SUBQ #-<Data>,An #-<Data>,An #-<Data>,An SUB SUBA SUBI #<Data>,An #<Data>,An #<Data>,An [-8 <= data <= -1] [-8 <= data <= -1] [-8 <= data <= -1] =====> =====> =====> ADDQ ADDQ ADDQ #-<Data>,An #-<Data>,An #-<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 Release Notes 1 Copyright Apple Computer, Inc. 1990-1991. All rights reserved. ADDI #<Data>,<EA3> SUBI #<Data>,<EA3> ADD.I #<data>,An =====> =====> [+l <= data <= +8] [-32767 <= data <= +32767] =====> [+l <= data <= +8] ADDQ SUBQ #<Data>,<EA3> #<Data>,<EA3> 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 maximum, 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 references to it. Syntax For code module directives: Line ::= [label] CodeDir [KeywordList] CodeDir ::= PROC I FUNC I MAIN KeywordList ::=Keyword I KeywordList, Keyword Keyword::= ENTRY I EXPORT I FORCEACTIVE For data module directives: Line ::= [label] RECORD [KeywordList] KeywordList Keyword I KeywordList, Keyword MPW 3.2 Assembler Release Notes 2 Copyright Apple Computer, Inc. 1990-1991. All rights reserved. Keyword::= ENTRY I EXPORT I INCR[EMENT] MAIN I FORCEACTIVE I DECR[EMENT] + Note: The MPW 3.0 Assembler Manual describes MAIN as a parameter for the RECORD directive, but appears to have inadvertently omitted MAIN from the syntax. 6 Import…

Showing first 3,000 characters of 11,709 total. Open the full document →

MacTrove — a free archive of classic Macintosh software. Files mirrored from ftp.funet.fi/pub/mac (info-mac + funet legacy). All software provided for historical preservation.