我正在尝试将小写转换为大写。我知道这很容易做到,
SUB AL, 20H但我得到了另一种解决方案,
AND AL, 0DFH请帮助我理解这一点。谢谢
发布于 2012-05-01 15:02:18
查看位模式:
0100 00010110 00010100 11010110 11010101 10100111 1010小写ASCII是大写ASCII + 0x20 (0010 0000) -即与第六位集相同的位模式。
0xdf是二进制形式的1101 1111。AND:ing AL将第六位设置为零,但保留其他位值。
发布于 2012-05-01 15:02:20
SUB AL, 20H正在从AL中减去0x20
AND AL,0DFH将清除第5位(设为'0')。因为0x20是00100000,所以从一个值中减去它等同于清除位5。
https://stackoverflow.com/questions/10394521
复制相似问题