Rechercher une page de manuel
as68
Langue: en
Version: 110393 (mandriva - 01/05/08)
Section: 1 (Commandes utilisateur)
Sommaire
NAME
as68 - MC68000 Macro Assembler.AUTHOR
Copyright (C) 1993-2003 Vincent Penne and Benjamin Gerard
This program is free software.
DATE
2003
SYNOPSIS
as68 [options] [-o ] [-s ]
DESCRIPTION
as68 is a very fast Motorola 68000 macro assembler.
OPTIONS
- •
- -r Do not produce relocation table (default)
- •
- -R Produce relocation table
- •
- -p No position independant code check (default)
- •
- -P Warning position dependant addressing mode
- •
- -v Disable verbose
- •
- -V Enable Verbose (default)
- •
- -b[Kbytes] Change code buffer (Kbytes is a number of Kbyte)
- •
- -s Set relocation table filename (def:.rel)
- •
- -o Set output filename (def:.bin)
ASSEMBLER SYNTAX
as68 syntax is very close to hisoft genst(tm). Except for some assembly directives are which are followed by a { ... } block. In other words it should be close enough to Motorola specifications.
MACRO SYNTAX
Following sample should demonstrate macro basic syntax.name MACRO { label_\@: ;\@ is replaced by macro unic id (incremented number). move.l #\1,\2 ;\1 is the first macro parameter, 2 the second ... }
ASSEMBLER CONTROL DIRECTIVES
- •
- ALIGN [EXPR] Set align to given position
- •
- DEFAULT [BYTE|WORD] Set default opcode size
- •
- EVEN Set align to next even position
- •
- IF [EXPR] Start a conditionnal block
- •
- INCBIN [FILE] Include binary file.
- •
- INCLUDE [FILE] Include source file.
- •
- LOAD [EXPR] Set load address (cross devel)
- •
- LS [FILE] Load symbol
- •
- LST [FILE] Load symbol 2!
- •
- ORG [EXPR] Set assembly address.
- •
- PRINT [EXPR] Output a message
- •
- RELOCATION [on|off] Set relocation generation
- •
- REPEAT Start a REPEAT ... UNTIL loop
- •
- RPT as REPEAT
- •
- RSRESET Reset current structure
- •
- RSSET Add a field to current structure
- •
- RUN [EXPR] Set run address (cross devel)
- •
- UNTIL cond End a REPEAT ... UNTIL loop
- •
- WHILE [EXPR] Start a while block
RELOCATION TABLE
Relocation table is a binary table containing the offset from the beginning of the long word (32bit) that need a relocation. Each offset is stored as a long word (obviously Motorola 32 bit big endian). The table ends by a offset equal to -1 (0xFFFFFFFF).; ; Sample code to use as68 relocation table. ; ; a0: relocation table ; a1: binary reloc: move.l (a0)+,d0 cmp.l #-1,d0 beq.s .finish add.l a1,0(a1,d0.l) bra.s reloc .finish: rts
STRIPING BSS
as68 does not handle sectionning. Anyway it assumes that BSS is all zeroed data at the end of the binary. Striping BSS means to remove this data even if it were not generated by a ds.x instruction.BUGS
Report to bug@sashipa.com.
- •
- Missing relocation.
- •
- -P forces -R. org directive is disabled !!
- •
- pea relatif PC, bugs with -P or -R
- •
- symbol created by xx = v are always lower case !
- •
- label can not have an instruction name
- •
- label can start at any column
SEE ALSO
as68, debug68, info68, sc68, sourcer68, unice68
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre