I am trying to perform an arithmetic shift right in Delphi. I can't get it to work though, it keeps giving incorrect answers.
Here is my code;
lValue := offset;
asm
mov cl,32
sar lValue,cl
end;
hgh := lValue and $FFFFFFFF;
When offset
is set to 1024
and the shift right is set to 32
, hgh
should equal 0
. In my code, hgh = 1024
.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…