The Macroassembler AS, also known as "ASL," is a multi-platform cross-assembler. Build platforms include a variety of Unix systems (including Linux and MacOS X), Windows, OS/2 and DOS (both native and with an extender). Target platforms cover a huge variety of 8- and 16-bit CPUs and microcontrollers.
The upstream
branch of this repository contains the source code for
every publicly available source release of the C version. The
tools to do this and this documentation are on the main
branch.
Pull requests (to improve the import system and its documentation) are
accepted for the main
branch. The upstream
branch containing the
vendor sources never contains patches, but there may be patch branches
derived from imported vendor commits on upstream
.
main
: The import script and its documentation.upstream
: Imported ASL source code for each release.dev/cjs/current
: A recent version tested to build on Linux and assemble a small amount of 6502 and 6909 code. The build and test framework is in cjs's 8bitdev repo.dev/NAME/...
: Branches for development, testing, and patches for particular versions of ASL.
Note that the main
branch was previously named master
; if your clone
still uses that old naming you can update with:
br -m master main
fetch -p r # remove tracking branch for `master`
br -u r/main main # -u == --set-upstream
rem set-head r -a # query remote for its default branch
The detailed instructions are with the ASL code itself in the upstream
branch. However, as a quick guide for Linux:
# Debian/Ubuntu package manager and package names: tweak for your distro.
sudo apt-get install build-essential texlive texlive-lang-german
git checkout upstream
git show origin/main:gitignore > .gitignore
git show origin/main:Makefile.def > Makefile.def
# Edit Makefile.def to set install path if you wish.
make -j8 # does not build docs
make install # optional, but needed for it to find libary include files
The Makefile.def
above from the main branch should work on most Unix
systems (including Linux and MacOS). It installs ASL under /opt/asl-$VER
.
(It sometimes may not determine the version nubmer correctly as ASL has
changed how it defines version numbers over time.)
If you wish to use one of the vendor-supplied Makefile.def
files, you
can instead copy it from Makefile.def-samples/
, e.g.
cp Makefile.def-samples/Makefile.def-x86_64-unknown-linux Makefile.def
Copy the download.sh
script to a location outside of the
repository in which you're going to do the import, change to the
upstream
branch, and then run download.sh
. This will find all new
source releases that have not yet been imported and allow you
to import them one by one, generating a new commit for every new
release.
The master site for this and related repos is the Macroassembler-AS
organization on GitHub. Issues and PRs for this repo should be
filed in the Macroassembler-AS/asl-releases
project
there.
The original import code was written by Kuba Ober, [email protected]. Curt J. Sampson contributed this documentation and is currently doing regular imports of new ASL versions.