Human Resource Machine/Year 34

Strategy
Before you get started, you will notice that all of the vowels have been laid out for you on the floor. In order to complete these stage, you will grab each letter off the INBOX, and check it against all of the vowels to make sure it isn't one, before putting it in the OUTBOX. If it happens to be a vowel, you'll ignore it and move on to the next letter.

To perform the comparisons, you will need to start at box 0 and move down the line through box 4. Box 5 contains a 0, and that will server two purposes. That 0 will signify that we're done checking vowels, and if we've reached that box, we're safe to send the letter to the OUTBOX. It will also be your initializer for a counter that will keep track of what box you're going to check next. You will reference that value indirectly, and then bump the number up every time you don't have a match.

The resulting code should look like this:

JUMP    b a:    COPYFROM 9 OUTBOX b: c:   COPYFROM 5 COPYTO  6 INBOX COPYTO  9 d:   COPYFROM [6] JUMPZ   a    SUB      9 JUMPZ   c    BUMPUP   6 JUMP    d

Optimizing
The above code meets the size requirements and exceeds the speed requirements, primarily because it is already optimized by placing the OUTBOX command at the top of the program and jumping over it the first time.