68HC11 Macro Assembler - Alpha version
Peter Gargano
peter at ntserver.techedge.com.au
Fri Nov 12 01:28:25 GMT 1999
Fellow GM ECM enthusiasts,
Over the last few months I've written a macro assembler for
the 68HC11. I've run out of time (for the moment) to complete
the documentation that would allow a beginner to start using
it, but I'd like some testing/usage by experienced hackers to
confirm that it does what's intended.
I want interested parties to contact me directly if they want a
copy (please don't reply to "gmecm" list).
mailto:peter at mail.techedge.com.au?subject=ASHC11_request
If you don't know why it's a MACRO assembler then you probably
shouldn't get this - wait until I have a Beta product with
documentation that'll describe it all. But for the initiated
(sorry!) here is small list of "features" (I cut and pasted
this from some preliminary doco):
ASHC11 - FEATURES
MACROs may have embedded definitions (ie. macros defined within
another macro) and may call other macros (including themselves)
from within the macro definition.
LOCAL labels used to avoid symbol name clashes may be defined
within macros. Compound arguments (ie. arguments containing
embedded arguments) may be passed to macros. Early macro exit
is possible with the EXITIF clause.
Repeat blocks using REPT, IRPC and IRP can be declared.
REPT blocks repeat a section of code a certain number of times.
IRPC blocks repeat a block of code and iterate each pass
with the next character from a supplied string.
IRP is supplied with a list of arguments that are used
successively for each iteration.
LOCAL labels can also be used within repeat blocks.
Conditional assembly is supported with the standard IF, ELSE, ENDIF
construct. An ELSEIF clause allows more complex expressions to
be expressed quite simply.
An IFD and IFND adds a test for symbols being defined or not. Conditional expressions can be nested to many levels.
INCLUDE files are supported to multiple levels with full listing support.
Enhanced expression analysis - using simple left to right parsing
with the addition of brackets allowing arbitrarily complex
expressions to be created on a single assembly line. No
complex hierarchy rules need be learnt. White space can be
freely used to make expressions easier to analyse.
Multiple formats are supported for different number base schemes
(eg. 100B, or %100 are equivalent, as is $FF and FFH).
I know there are any number of 68HC11 assemblers out there, but
it would take a long time to explain why I wrote another (see the
doco., it'll be explained there!).
It's a DOS program and it's less than 30 kbytes in size. It
has a command line interface and generates S19 & HEX files.
If you read down to here, then I should explain that I've
released my assembler now because I want to start work
on some software that could best be described as a
"dissassembly configuration managent utility". This is in
the embryonic/conceptial stage (no code actually written).
regards,
--
Peter Gargano
More information about the Gmecm
mailing list