>cbw+cwdeとmovsxはどっちがいいのかな?
あ! 忘れてた。 MOVSX があったんだ。

そりゃMOVSX1命令の方が短いでしょ

type  TValueSign  =  -1..1;
function  CompSign(A,B:Integer):TValueSign;
asm
  CMP  EAX,EDX;  //A-B
  SETLE AH
  SETGE AL
  SUB  AL,AH
  MOVSX AX,AL
end;