Fix a zero extension bug

This was actually a pretty simple bug: I just forgot to handle
truncation in the pass-through code.
Add an ADD assembly test