Personally, I would create a parser instead of the assembler itself. A parser takes the text and converts it to something else, before compiling and running. Therefore you could have your fancy text, and then have it translate into like NASM or FASM, etc. You can create this by using LibertyBASIC or JustBASIC. You can download the source code for the parser Leopard, which will get you off to a great start. Good Luck!