Had to resort to a tiny bit of ASM, getting the high word of a 16*16bit multiplication back from PBP without resorting to actually using LONGs.

did you and dt make this ? , i use it if req

;32 bit multiply result


A32bitVar var word[2]
Dummy var word


ASM
GetMulResult macro Dword
MOVE?WW R2, Dword ; Low Word
MOVE?WW R0, Dword + 2 ; High Word
endm
ENDASM


Dummy = 1000
Dummy = Dummy * Dummy
@ GetMulResult _A32bitVar