Multiply Grande (MG) is the sister instruction of Multiply(M) and produces produces 128-bit products in an even/odd register pair. Ususally the result we are looking for is in the single, odd, grande (64-bits) register. That presents a problem: How do we convert a 64-bit product in a grande register to packed-decimal? It’s not obvious and requires a bit of mathematical know-how. This article shows you the assembler code that will do the conversion, and points to an explanation.
Review an Instruction: MG

