The PUBLISH/SUBSCRIBE instructions' primary purpose is for moving numeric data from type-less Guest Protocol memory (like DLV) into the strongly-typed Do-more Data Blocks (like D, R, N, V or user-defined strongly-typed data-blocks).
Key functionality built-in to these instructions are
1. support for BCD conversion (to/from)
2. support for mis-aligned data (e.g. reals that cross on odd-word boundaries like DLV1/DLV2 as a REAL, which is not supported using Casting mechanism of Do-more).