99 lines
3.8 KiB
Plaintext
99 lines
3.8 KiB
Plaintext
Hello, AS-Users,
|
|
|
|
OK, here it is, the C-Version of AS that is theoretically compilable
|
|
on any system that has an ANSI-C-compiler! After a couple of
|
|
optimizations, the performance degradations due to the way C handles
|
|
strings have been compensated, so the C version should effectively run
|
|
a bit faster than the original Pascal version.
|
|
|
|
LICENSING
|
|
|
|
Those who have already used the original DOS/Pascal version of AS
|
|
will know that AS is completely free: you may use and modify AS for
|
|
whatever purpose you like (regardless whether it is commercial or
|
|
not), given that you do not remove my copyright from the sources and
|
|
that programs that build upon the AS sources are given out under the
|
|
same license terms. Of course, if you add something significant,
|
|
you may also add your own name to the copyright list!
|
|
|
|
To make things a bit more interesting (for me), I have added a detail
|
|
to the license terms of the C version: it is wineware! If you want
|
|
and have time, you may send me a bottle of your favourite wine...
|
|
|
|
|
|
PLATFORMS
|
|
|
|
The C version of AS was designed primarily to work with a Unix-like system
|
|
with an ANSI-C compilant compiler. Specifically, I have tested this version
|
|
of AS on the following machines:
|
|
|
|
- Digital Unix 3.2/4.0 with DEC-C
|
|
- Digital Ultrix for Mips 4.3/4.5 with gcc 2.7.2
|
|
- Digital Ultrix for VAX 4.1/4.5 with gcc 2.7.2
|
|
- Linux/Alpha with gcc 2.7.2
|
|
- Linux/Intel with gcc 2.7.2
|
|
- HP9000/7xx HP-UX 9.0/10.0 with HP-C
|
|
- MS-DOS with Borland-C 3.1 resp. 4.5
|
|
- OS/2 with emx 0.9
|
|
- Munix V.3 with cc
|
|
- NetBSD/Sun3 with gcc 2.7.2
|
|
- NetBSD/pmax with gcc 2.7.2
|
|
- SGI Irix 5.3/6.2 with SGI-C
|
|
- SunOS 4.1.3/Sparc with gcc 2.6.3 or cc
|
|
- Solaris 2.5/Sparc with Sun-C 3.0.1
|
|
- IBM RS/6000 AIX 4.1 with IBM XLC
|
|
|
|
DIFFERENCES / THINGS TO DO
|
|
|
|
The portable C version of AS has the following, known differences to
|
|
the original BP version:
|
|
|
|
- Floating point values are internally only stored as IEEE double
|
|
precision values, not in the 80-bit format Intel NPUs use.
|
|
Therefore, floating point ranges and accuracy are not as good as in
|
|
the BP version. Currently, there seems to be no portable,
|
|
standardized 128-bit-format for FP numbers. Every vendor (IBM,
|
|
SUN, CRAY, SGI...) uses his own format, so supporting them all
|
|
looks like a lot of work...
|
|
|
|
+ On most systems, integer arithmetic is done with 64-bit-numbers.
|
|
This should hurt only programs that explicitly exploit overflow
|
|
and sign effects on 32-bit-versions of AS.
|
|
|
|
- String variables must not contain NUL characters. This is due to
|
|
the fact that C uses the NUL character as an end-of-string marker,
|
|
and is probably the hardest thing to resolve :-(
|
|
|
|
~ most UNIX systems name their own assembler already 'as', so I had
|
|
to modify the name to 'asl'. The additional letter is to the honor
|
|
of a person that did quite a lot to spread the UNIX philosophy ;-)
|
|
I also had to rename 'bind' to 'pbind', but I guess that this won't
|
|
matter too much as it is a rarely used tool.
|
|
|
|
- the C version was designed to have exactly the same command line
|
|
interface as the original BP version; however, UNIX shells
|
|
interprete some special characters like the dollar sign for hex
|
|
values in their own way, so you might have to work with escape (\)
|
|
and quote characters.
|
|
|
|
+ the USEXMS resp. USEEMS and ASXSWAP environment variables do not
|
|
exist for Unix platforms (thankfully).
|
|
|
|
- the AS2MSG filter does not exist (wouldn't make sense because there
|
|
is no Borland Pascal for Unix.)
|
|
|
|
+ This version now contains dynamic switching of program messages, i.e.
|
|
you do not have to compile AS any more for a specific language. Instead,
|
|
AS will test the LC_MESSAGES, LC_ALL, or LANG environment variables
|
|
on Unix resp. the COUNTRY settings on OS/2 and MSDOS to dynamically
|
|
load the correct set of messages at runtime.
|
|
|
|
|
|
INSTALLATION
|
|
|
|
See the file 'INSTALL'
|
|
|
|
FEEDBACK
|
|
|
|
In case of problems or questions, send them to alfred@ccac.rwth-aachen.de .
|