If compiled for Ion it cannot be ran from Asm()
Actually it can, and it's always been able to
Not all the time. Some games, such as Ztetris, crashes on exit, and a bunch of other Ion games did not run at all (ERR:INVALID or RAM Clear).
Galaxian was the only Ion game I could get to run with Asm()
Also this looks nice parser. You should make the rocket gravity more realistic, though, so you start falling gradually or moving up slowly then faster, like in one of Darl181's engine.