检查char是否为大写字母

时间:2014-03-07 16:07:49

标签: assembly

我需要检查char是否是大写字母。 现在我知道我需要先cmp al, "A",如果高于或等于,我需要cmp al, "Z"然后如果它小于或等于,那么它是一个大写字母。 知道如何进行两次比较而不必在中间跳转标签吗?

1 个答案:

答案 0 :(得分:4)

减去'A',然后与'Z'-'A'进行无符号比较。

sub al, 'A'
cmp al, 'Z'-'A'
jbe uppercase

请注意,这当然会破坏al注册。