Moved to C to get a better handle on the asm being generated. Will move back to C++ once I'm ready to implement an object runtime