After toying with the algorithm to write the assembly code, I've decided to take a step back and write a precompiler into C# instead. The reason for this is that writing the assembly code involves a lot of work I am not interested in for this project, and I believe I can accomplish the majority of what I am looking for with a precompiler. As a later phase, if I am still interested, I'll use the precompiler as a basis for a program to write assembly code.
My next step is going to be to write a pseudo-compiler. This will build the C# code in memory and compile it into an executable using standard libraries.
Maybe instead of calling it a "pseudo-compiler" I should call it a "higher-order compiler". Makes me sound smarter.