MPW 3.2 Assembler Release Notes 199104
MPW 3.2 Assembler Release Notes 199104
Game Manuals · PDF
| Filename | MPW_3.2_Assembler_Release_Notes_199104.pdf |
|---|---|
| Size | 0.39 MB |
| Subsection | MPW 3.2 Assembler Release Notes 199104 |
| Downloads | 0 |
Enjoying MacTrove?
Anonymous downloads are free and unlimited.
Create a free account to track favorites,
contribute metadata corrections, and join the
community chat.
Reader
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 →