算术右移而不是逻辑右移

时间:2015-02-05 21:18:52

标签: delphi

我正试图在Delphi中执行算术移位。我不能让它工作,它一直给出错误的答案。

这是我的代码;

  lValue := offset;
  asm
    mov cl,32
    sar lValue,cl
  end;
  hgh := lValue and $FFFFFFFF;

offset设置为1024且右移设置为32时,hgh应该等于0。在我的代码hgh = 1024

1 个答案:

答案 0 :(得分:0)

对于大于或等于32

的数字,您应有条件地移位31位