Incorrect results from DSP48: possibly using 1's complement instead of 2's
Your input \$S\$ is 18 bits, so 0x3_0004 is a negative number (assuming that you really have a signed multiplier). \$0x3\,0004 = -0x0\,\text{FFFC} = -65532\$. Your 26-bit value for \$A\$ is positive, so you should expect a negative result. I think your multiplier is working.