home *** CD-ROM | disk | FTP | other *** search
-
-
-
- A68K - 68000 Cross Assembler Notes
-
- 11/09/82
-
-
- Command line to invoke the assembler:
-
- A68K <filename> ; short form
- A68K <object>,<listing>=<source> ; full form
-
- ----------------- Equivalence ----------------
-
- XYZ XYZ.HEX,XYZ.PRN=XYZ.ASM
- ,CON:=XYZ NUL:,CON:=XYZ.ASM
- XYZ,=XYZ XYZ.HEX,NUL:=XYZ.ASM
- XYZ.OBJ=XYZ.SRC XYZ.OBJ,XYZ.PRN=XYZ.SRC
- ,CON:=CON: NUL:,CON:=CON:
-
- Object file may be in Motorola S-record (default)
- or Intel HEX format.
-
-
- <symbol> SET <expression> ; temp val
- <symbol> EQU <expression> ; perm val
- <symbol> REG <register expression> ; perm val
-
- Note that a size attribute may be tacked onto
- SET or EQU to govern the way string constants
- appearing in the expression are handled. The
- default size is long. String constants are
- left justified according to size and zero
- filled.
-
- <register expression> for use in MOVEM
- <Rn> <next reg>
-
- <next reg>
- - <Rn> <next reg>
- / <register expression>
-
- <Rn>
- A <rnum>
- D <rnum>
-
-
- Labels are symbols which receive the current value of
- the program counter.
- For labels beginning in column 1, colon is optional.
- For labels preceded by blanks, colon is required.
-
-
- OPT <option>,<option>,.....
-
- <option>
- BRL ; long branch forward ref. - default
- BRS ; short branch forward ref.
- FRL ; long absolute fwd. ref. - default
- FRS ; short absolute fwd. ref.
- OBJ-S ; hex file Motorola style - default
- OBJ-H ; hex file Intel style (16 bit address limit)
-
-
-
-
-
-
- NOP1L ; no pass 1 listing - default
- P1L ; pass 1 listing
-
-
- * <comment>
-
-
- .S & .L may be appended to BRA, BSR, Bcc, JMP and JSR
- to override automatic size determination.
- They may also be appended to absolute address
- operands in other instructions. But, it is necessary
- to isolate the period from a symbol by enclosing
- the symbol in parentheses. This is due to the fact
- that period is a valid character in symbols.
-
-
- <symbol>
- Symbols begin with a letter or period. Additional
- characters may be letters, digits, periods, dollar
- signs and underscores.
-
- * represents the program counter
-
- Symbols may have up to 31 significant characters.
-
- The symbol table is currently of fixed size:
- 500 Symbols max
- 2000 Characters max
-
-
- Constants begin with:
- char - '
- hex - $
- octal - @
- binary - %
- decimal - 0 thru 9
-
-
- Strings:
- Delimited by '
- '' represents '
-
-
- Expressions and symbols are classified as constants
- or addresses.
-
-
- Operators for expressions (in precedence group order):
-
- + -
-
- * / only implemented for 16 bits now
- \ mod - only 16 bits for now
-
- & AND
- ! | both allowed for OR
- ^ exclusive OR
-
- << shift left
- >> shift right
-
-
-
-
-
-
-
- - unary minus
- ~ unary NOT
-
- Except for + and -, only expressions which evaluate
- constants are allowed as operands to operators. For
- + and -, (a + a) and (c - a) produce errors. Embedded
- spaces are not allowed in expressions (spaces serve as
- field delimiters).
-
-
- Automatic conversions:
-
- ADD #e ,<ea> ADDQ or ADDI when possible
- <ea> ,An ADDA
-
- SUB #e ,<ea> SUBQ or SUBI when possible
- <ea> ,An ADDA
-
- CMP #e ,<ea> CMPI when possible
- (An)+,(An)+ CMPM
- <ea> ,An CMPA
-
- AND #e ,<ea> ANDI when possible
-
- OR #e ,<ea> ORI when possible
-
- EOR #e ,<ea> EORI when possible
-
-
- Addressing Mode Syntax Interpretation:
-
- c expression must evaluate to constant
- a expression must evaluate to address
- b expression may evaluate to either
-
- Syntax used Interpreted as Mode,reg
- # e #c 7,4
-
- D n Dn 0
-
- A n An 1
-
- - ( A n ) -(An) 4
-
- ( A n ) + (An)+ 3
-
- ( A n ) (An) 2
-
- ( A n , R i )
- ( A n , R i . W ) 0(An,Ri.s) 6
- ( A n , R i . L )
-
- e ( A n , R i )
- e ( A n , R i . W ) c(An,Ri.s) 6
- e ( A n , R i . L )
-
- e ( A n ) c(An) 5
-
- e ( D i )
-
-
-
-
-
-
- e ( R i . W ) a(PC,Ri.s) 7,3
- e ( R i . L )
-
- e ( PC , R i )
- e ( PC , R i . W ) a(PC,Ri.s) 7,3
- e ( PC , R i . L )
-
- e ( PC ) a(PC) 7,2
-
- e . L b.L 7,1 **
-
- e . S b.S 7,0 **
-
- e b 7,0 or 7,1 **
-
- **** SP may be used for A7 anywhere An appears, but not
- where Ri appears for index specification.
-
- ** Explicit range specification via (.S or .L)
- overrides the automatic range selection for absolute
- addressing. For auto, if the expression contains forward
- references, the range is determined by the "FR" option
- currently in effect (FRL default). If the expression
- contains no forward references, the range is made short
- if the expression lies between -32768 and +32767.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-