Coder Social home page Coder Social logo

waltje / asl-macro-assembler Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 4.27 MB

Local version of the ASL assembler, mainly for Windows building.

License: GNU General Public License v2.0

Makefile 0.06% Roff 0.05% Logos 0.02% C 43.26% C++ 4.38% TeX 10.16% Assembly 41.01% Pascal 0.55% HTML 0.02% NASL 0.11% PHP 0.07% Batchfile 0.05% Shell 0.03% GLSL 0.23%

asl-macro-assembler's Introduction

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

AS is based upon the GNU General Public License (GPL); read the file
COPYING for its details.  You should have received a copy of this file
together with AS; if not, someone sneaked in!

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 

Additionally, you can now build and run AS on Windows, using

- Microsoft Visual Studio (2019 and up tested)
- MSYS2:MinGW-64 (GCC 13.1.0 [and up] tested)
- TinyC (I use this a lot, and it builds fine with it)

and it seems to run fine on Windows XP (32b), Windows 7 (32/64b),
Windows 8.1 (ARM), Windows 10/11 (x64 and ARM64.) The Windows ARM
binaries had to be signed, of course, and soon, so will the Windows
11 ones have to be.  See README.MSVC for instructions.
 
 
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.

~ 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 [email protected].

For questions regarding building on Windows with MSVC, please see the
file README.MSVC and contact Fred N. van Kempen ([email protected]).

asl-macro-assembler's People

Contributors

waltje avatar

Watchers

 avatar

asl-macro-assembler's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.