Added optional immediate argument to BRK instruction on 6502-alike CPU's.
Added arithmetic shift operator.
Made shifts logical and accepts negative values.
jAsm currently compiles with CMake for Linux.
To build with CMake you need CMake 3.5, Clang, Mercurial and python3 installed. On Debian, Ubuntu or Mint systems you can use apt-get to fetch the dependencies like this.
sudo apt-get install cmake clang mercurial python3
Clone the repository into a directory called 'jasm' and build it like this.
hg clone https://hg.sr.ht/~bjonte/jasm
cd jasm
export CXX=/usr/bin/clang++
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
sudo make install
More details about cross compiling for Windows is in the documentation.
Run the unit tests using the python script unit_test_run.py
. It runs under Python 3.
python3 unit_test_run.py
Add a unit test by placing a file called test_something.asm
that produce the correct output in the unit_tests directory and run unit_test_generate.py. This will add the generated output in unit_tests/results and be considered the correct output for then on.
python3 unit_test_generate.py
When building a release you must run the python script increase_revision.py
to inject the current revision and hash into the source code. This change should never be submitted! Building with CMake run this automatically.
python3 increase_revision.py
There are also small scripts to update the major and minor revisions. These changes should be submitted.
python3 increase_major.py
python3 increase_minor.py