Great work-around - but need to swap the DLX and X in the $tTopOfScan (X is source, DLX is destination).
How embarrassing...OK, I'm over it.
So MEMCOPY was what I started to look at, but didn't look long enough. Being able to set the end of source or destination makes it very easy to configure, and bonus, the range of the input and output locations is right there and easy to see.
For MATH, the "visual-ality" is a little less appealing, as well as the limit of 32 bits per MATH instruction (using :SD casting for 32 bits).
And personally, I'm glad you didn't go with octal addressing optionality. It might be "helpful" occasionally, but overall is just cleaner without.
Another option for the OP is to do as Controls Guy suggested and write it using the octal addressing, but then search and replace to move everything where it really is. Search and replace in Do-more is fabulous.