If you want to have a "readable" idea about these math operations (ADD, SUB, MUL), check my BigInt implementation library. It supports 8, 16, 24, 32, 64 to infinite bits operation.
Yes. In fact it will be more optimized if translated to MSX-C because the pointer deference method used in this Turbo Pascal code is not optimized (because the pointer operations are not optmized in this TP version), but I realized a way to turn pointer operations in this TP version to be so optimized as C languages. Soon I'll optimize this TP code and it will be a little bit faster.
There are a lot of unit tests around this implementation and it has been used in MSXDUMP disk editor for 24bit pointer operations used by Sunrise IDE low level functions.