Subtraction of two 16-bit integer or fractional values, returning a 16-bit result.
OMR's SA bit was set to 1 at least three cycles before this code, that is, saturation on data ALU results enabled.
Word16 sub(Word16 src_dst, Word16 src2)
short s1 = 0x4000; /* 0.5 */ short s2 = 0xE000; /* -0.25 */ short result; result = sub(s1,s2); // Expected value of result: 0x6000 = 0.75