HIGHWORD-operator returns wrong values
Brought to you by:
japheth
The HIGHWORD operator returns wrong values (behaves like SAR 16):
;----
foo = -1
%echo HIGH 1: @CatStr(%HIGHWORD foo)
foo = 0ffffffffh
%echo HIGH 2: @CatStr(%HIGHWORD foo)
foo = 07fffffffh
%echo HIGH 3: @CatStr(%HIGHWORD foo)
;----
jWasm output is:
HIGH 1: -1
HIGH 2: 4294967295
HIGH 3: 32767
MASM returns:
HIGH 1: 65535
HIGH 2: 65535
HIGH 3: 32767
regrads, qWord