汇编语言——使用and和or进行字符串大小写转换
大家好,我是小学五年级在读的蒟蒻,专注于后端,一起见证蒟蒻的成长,您的评论与赞与关注是我的最大动力,如有错误还请不吝赐教,万分感谢。一起支持原创吧!纯手打有笔误还望谅解。
-
在codesg中填写代码,将datasg中的第一个字符串转化为大写,第二个字符串转化为小写
- 代码如下,请完善代码
assume cs:codesg,ds:datasg datasg segment db 'BaSic' db 'iNforMaTion' datasg ends codesg segment start: codesg ends end start
-
分析题目,可得小写字母的ascii码值比大写字母的ascii码值大20H,如果将小写字母的ascii码减去20H,即可得到大写字母的ascii值
-
方法二:查看ascii码表的二进制值,进行对比可发现规律:其大小写的二进制码就是在第三位上的值为0或1,所以使用and或者or即可完成大小写转换
0100 0001 | 0101 | 65 | 0x41 | A | 大写字母A |
---|---|---|---|---|---|
0100 0010 | 0102 | 66 | 0x42 | B | 大写字母B |