notzed,
Great feedback! I can't tell you how much I appreciate it!!
1.) Agree on the weirdness of masking sync in crt0. I thought we had fixed this, but maybe there was a counter argument? We'll will check into it...
2.) There are clearly some things missing from the spec...interrupts are disabled when in the "halt" state. You get to a halt state through a trap instruction, bkpt, or e_halt(). Note that the standard system calls (exit, read, write_buf are all implemented using 'trap).
Rather than writing up the complete explanation here I will publish the "beta" spec today. Lots of great new features will be included. Unfortunately, the spec will be somewhat unpolished. Apologies ahead of time to those of you that cringe at seeing grammar mistakes. I wish it could wait to clean it up, but it's too long overdue at this point.
Andreas