From c6db6f4c5cb82f5e09472163bf11be0c165965ee Mon Sep 17 00:00:00 2001 From: Jason Self Date: Sun, 26 Nov 2017 12:38:34 -0800 Subject: [PATCH 1/1] Restructure the various READMEs; split out changes into a separate changelog so as to have a single README. --- ChangeLog | 75 ++++++++++++++++++++++++ README | 114 ++++++++++++++++++++++++++++++++++++ README-1.1 | 143 --------------------------------------------- README-1.2 | 169 ----------------------------------------------------- README-1.3 | 145 --------------------------------------------- 5 files changed, 189 insertions(+), 457 deletions(-) create mode 100644 ChangeLog create mode 100644 README delete mode 100644 README-1.1 delete mode 100644 README-1.2 delete mode 100644 README-1.3 diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..96d0a0f --- /dev/null +++ b/ChangeLog @@ -0,0 +1,75 @@ +## [1.3] - 1998-03-18 +- Added intrinsic transcendental functions for constant literal + expressions (pi, sin, cos, tan atan, asin, acos, exp, ln, log, pow) +- Added warnings for control register load/use hazards +- More sophisticated constant expression evaluation including + implicit float/integer conversion. Results of expressions are + typed and so formatted in the listing and symbol table. +- Various fixes including stray pointers, etc. (Thanks to Dirk Farin + farindk@trick.informatik.uni-stuttgart.de) + +## [1.2] - 1994-05-02 +Andreas Gustafsson +- Added DS and DSM directives +- Generalization of the use of "*" allowing current program counter + to be used in any expression (including "org l:*" which is useful + for changing spaces without changing the PC) +- Noted a bug with MOVEP to a non-symbolic I/O address. I believe + this is now fixed. +- Noted that mispelled argumentless operators will be treated as + labels. For example, N0P (N-zero-P) will be treated as a label. + Unfortunately, my own use of a56 (i.e. using cpp as the macro + pre-processor) complicates this. However, the grammar might have + been simpler if the lexical analyzer was able to distinguish + between label declarations and references instead of leaving that + up to the YACC parser. + +Tim Channon and Peter Breuer + +- Missing ";" in grammar! + +Rober Ganter +- Fixed bad comment on line 10 of a56.y + +Quinn C. Jensen +- Listing now includes psect usage summary +- Better checking of movec arguments +- Added int(value) function to convert floating point constant + expression to integer (by truncation) +- Correctly convert a floating -1.0 to 0x800000 +- Wrote a new lexical analyzer and lexical parser generator +- Many other minor enhancements and fixes. +- Ported to DOS using DJ Delories' GCC port. (Tools available + at ftp://omnigate.clarkson.edu/pub/msdos/djgpp) + +## [1.1] - 1992-08-06 +- Jcc, JScc, Tcc recognizes "CC" synonym for "HS" (Tom) +- LUA syntax fixed (Tom, Stephen) +- DIV syntax fixed (Tom) +- XY move fixed (Tom, Stephen) +- a56 now detects phase errors (changes in symbol values + between pass 1 and 2) +- several causes of phase errors fixed +- immediate value handling improved for both integer and + fixed-point values +- symbols have type (INT or FLOAT) +- cpp droppings are properly handled +- ALIGN pseudo-op added +- Many thanks to Tom Cunningham at Motorola who noted several bugs, + fixing most of them. Thanks also to Stephen Edwards at CalTech for + his fixes as well. Both he and Tom fixed up the XY parallel move + code; I believe all the fixes are integrated. + +## [1.0] - 1991-11-28 +- Initial version + +-- +Copyright (C) 1990-1998 Quinn C. Jensen + +Permission to use, copy, modify, distribute, and sell this software +and its documentation for any purpose is hereby granted without fee, +provided that the above copyright notice appear in all copies and +that both that copyright notice and this permission notice appear in +supporting documentation. The author makes no representations about +the suitability of this software for any purpose. It is provided "as +is" without express or implied warranty. \ No newline at end of file diff --git a/README b/README new file mode 100644 index 0000000..0a369be --- /dev/null +++ b/README @@ -0,0 +1,114 @@ +a56 - a DSP5600X assembler +--------------------------------------------------------------------- +OVERVIEW +This program was written as a vehicle to learn the intricacies +of the DSP56001 instruction set, and to provide a tool for Unix-based +DSP code development (for those of us without a NeXT machine.) + +The intent was to provide compatibility with Motorola assembler's +syntax. But since the author did not have Motorola's assembler or its +documentation, it is no doubt far from compatible. Only a few +pseudo-ops are implemented-- probably only partially. + +Macros are not supported, except through the use of an external macro +preprocessor, such as /lib/cpp. To facilitate cpp macro expansion, +multiple assembler statements on a single input line are delimited +with an '@', e.g.: + + #define JCHEQ(c,label) move #c,x0 @cmp x0,a @jeq label + + #define JCHNE(c,label) move #c,x0 @cmp x0,a @jne label + +SUPPORTED PSEUDO-OPS +The following is a list of the pseudo-ops that are recognized: + + = ;assign a symbol +