There are numerous Assemblers for MSX available, some great some not so. An assembler turns assembly language programs into machine code. While a native assembler program can be run on MSX itself, the so called cross-assemblers can be run externally. On a modern operating system for example. Recently version 1.0 beta of the cross-assembler called asMSX was released for Windows, Linux and Mac.
asMSX is a Z80 cross-assembler for MSX, originally developed by Eduardo Robsy Petrus, known as Pitpan on MRC, and now mantained by the asMSX team. This project is based on GPLv3 code release by Lucas "cjv99". This assembler uses a syntax a little different than the standard but has quite some unique MSX related features. asMSX is available for Windows, Linux and OSX, and version 1.0 is now available for download.
Version 1.0 beta includes the following improvements:
- Updated Readme, Changelog and Documentation (Thanks to @jamque Pull request #71 )
- When we use reserved keywords as labels, we state it as reserved word used as identifier. Issue #70
- MegaROM undefined page message improved.
- We don't allow (whatever character)REPT anymore. Only REPT or .REPT.
- PSEUDO_DS now doesn't check if there is a memory overflow in the first pass. This prevents it to crash in presence of undefined labels and report wrong error message. Issue #62
- Added .ZILOG 0 pseudo. Now we can enable and disable zilog standard parsing. Note: this needs more checking between passes. (Thanks to @duhow Pull request #72)
- Improved argument handling (Thanks to @duhow Issue #60)
- Windows tester works again (Thanks to @duhow)
- Makefile improvements (Thanks to @duhow)
Programming using a cross-assembler like asMSX has it advantages. Assembly time on a modern PC is near instant, compared to native MSX assemblers. There is no limit on source file size, sources can be edited in any text editor.
relevant link: Download aMSX from our software database
relevant link: Github repository for asMSX