On the path of creating an interactive 6502 assembler, Dave Van Wagner began exploring writing it as a cross-assembler from my desktop system in C# .NET. The assembler even details addressing modes available.
To learn more check out the vwas6502 page on Github.