I realize I'm the only one here for a little while, but I'll put this here now instead of creating an issue on the repo. I think the way the emulator/parser handles the GLOBAL_* variables has a small bug. Currently you can load these values into registers (e.g. movi r1,GLOBAL_MAINTHROTTLE), but you are unable to use the values in the registers (which should act like pointers to those memory locations) in either the read or write commands, e.g. movi r1,GLOBAL_MAINTHROTTLE -> rd r2,r0,r1 produces the following error: Could not parse: r1 in: r1. Too large or unrecognised [sic] label If no one responds soon for this I'll take a crack at implementing this bugfix and the previous feature request (negative integer handling with the instructions). Cheers! EDIT: I realize now that I can get around the variable read/write access by changing the operations to movi r1,GLOBAL_MAINTHROTTLE rd r2,r1,0 This works as far as I can tell, just fyi. However, I am going through the repo to add in the signed arithmetic instructions and display capability.