>doesn't current z model have a specific Unsigned Multiply instruction?<

ML, MLR, MLG, and MLGR called "Multiply Logical" are unsigned with no cc change 
since overflow does not occur with 64 and 128 bit results.

Don Higgins
d...@higgins.net
www.don-higgins.net

-----Original Message-----
From: IBM Mainframe Assembler List <ASSEMBLER-LIST@LISTSERV.UGA.EDU> On Behalf 
Of Paul Gilmartin
Sent: Wednesday, April 20, 2022 10:55 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Detection of integer overflow

On Apr 20, 2022, at 07:46:49, Ian Worthington wrote:
> 
> Whilst looking at reliable techniques to detect signed and unsigned overflow 
> in integer multiplication I was checking out the late John Erhman's 
> "Assembler Language Programming for IBM System z™ Servers" in which I 
> discovered he presented this problem and solution:
> 18.2.13.(2)+ A programmer wanted to test whether the product of two 
> positive 32-bit binary integers was too large to fit in a 32-bit 
> register. <snip>
> 
I have relied on:
    Multiply
    SLDA 32
    Test CC for overflow.

Works for signed integers in any quadrant.

Does "positive" mean both sign bits are zero?

Harder for unsigned.  For that reason, doesn't current z model have a specific 
Unsigned Multiply instruction?

--
gil

Reply via email to