If you ever need to write some code for SNES APU, you'll need one. Unfortunately, there is very few assemblers, and they aren't easy to find. I've spent a day searching available options, and here is the results, to save your time if you'd need this.
First, there are official tools, because the CPU core in SNES APU is just a part of a large MCU series (named SPC700). As an individual enthusiast, you can't have the tools, they probably cost a lot, but anyway, just as an interesting fact - there is Sony's assembler named WASM700II (virtually not mentioned in the internet), and Gaio Technology's toolset that includes an assembler, linker, C compiler, and IDE. You can find a lot of details on the MCU series and overview of the software in this PDF, and overview of Gaio's tools on their website.
For common people, less impressive options are available:
wladx-spc700 - unlike support of other processors, SPC700 support seems bad. There are reports from people who attempted to use it that it generates wrong code and has other bugs. There are sources, though, so maybe you will be able to fix the assembler (would be cool).
Telmark Cross Assembler (TASM) - is does not have native SPC700 support, but it is table-driven. You need to use this table created by GAU and revised by eKid. It was used to compile 5000+ lines of xmsnes, so it is tested well. There are downsides, though - this assembler is just old, and it is shareware. It costs $25, according to docs 'prolonged use without registration is unethical'.
spcas - very simple assembler specifically designed for SPC700, made by byuu, author of the bsnes. Reports are that it works well, but lacks many features, so may be not suitable for large projects.
If you are an hero, there are two extra options.
First, you can use an existing macro assembler and make macros for all the opcodes. If will work, and will give you nice set of features, but syntax will be unusual, because macro assemblers usually don't like spaces and special symbols in macro names, and error messages could be confusing.
Second, you can write your own assembler. It is a large project by itself, and in short time starting from scratch you can only make something comparable with spcas. However, if you already made an assembler, adapting it to SPC700 could take not that much time and effort.
First, there are official tools, because the CPU core in SNES APU is just a part of a large MCU series (named SPC700). As an individual enthusiast, you can't have the tools, they probably cost a lot, but anyway, just as an interesting fact - there is Sony's assembler named WASM700II (virtually not mentioned in the internet), and Gaio Technology's toolset that includes an assembler, linker, C compiler, and IDE. You can find a lot of details on the MCU series and overview of the software in this PDF, and overview of Gaio's tools on their website.
For common people, less impressive options are available:
wladx-spc700 - unlike support of other processors, SPC700 support seems bad. There are reports from people who attempted to use it that it generates wrong code and has other bugs. There are sources, though, so maybe you will be able to fix the assembler (would be cool).
Telmark Cross Assembler (TASM) - is does not have native SPC700 support, but it is table-driven. You need to use this table created by GAU and revised by eKid. It was used to compile 5000+ lines of xmsnes, so it is tested well. There are downsides, though - this assembler is just old, and it is shareware. It costs $25, according to docs 'prolonged use without registration is unethical'.
spcas - very simple assembler specifically designed for SPC700, made by byuu, author of the bsnes. Reports are that it works well, but lacks many features, so may be not suitable for large projects.
If you are an hero, there are two extra options.
First, you can use an existing macro assembler and make macros for all the opcodes. If will work, and will give you nice set of features, but syntax will be unusual, because macro assemblers usually don't like spaces and special symbols in macro names, and error messages could be confusing.
Second, you can write your own assembler. It is a large project by itself, and in short time starting from scratch you can only make something comparable with spcas. However, if you already made an assembler, adapting it to SPC700 could take not that much time and effort.