1

最近、8086 アセンブリの宿題を終わらせなければなりません。CMP 命令を使用しようとしましたが、うまくいきません。コードは次のとおりです。

MOV AL, 88h
   CMP AL, 24h
   JL  exit
label:
   mov al,4h
exit:
   RET

デバッグすると、jlの後にすぐにジャンプしexit: ますが、次のコードは正常に機能します

MOV AL, 88
   CMP AL, 24
   JL  exit
label:
   mov al,4h
exit:
   RET

なぜこれが起こっているのですか?

4

1 に答える 1

4

JL は署名された条件を使用します。符号付きの観点からは、88h は負の数です。24h を 88h 未満として扱いたい場合は、いくつかの選択肢があります。最も明白なのは、署名されていない条件を使用することjbですjl

于 2011-04-26T13:36:15.700 に答える