打开记事本——》alt+右边的小键盘(可以查看ASCII对应的字符)
eg:打开记事本——》按住alt键,并在右边小键盘打97,松开alt,可以看到出现a——》得知97对应的字符为a

上图中绿色的横行和纵行组成对应字符的十六进制

通过对比大写字母的ASCII码的值比小写字母小20H : ASCII(a)-20H=ASCII(A)
通过观察还可以得出大小写的差距字体现在二进制的第五位

案例:编写一段代码,将datasg中第一个字符串全转化为大写,第二个字符串全转化为小写

assume cs:codesg,ds:datasg
datasg segmentdb 'BaSiC'   ;将第一个字符串全部转换为大写;注意单引号(表明数据是以字符的形式给出的)define bytedb 'iNfOrMaTiOn';将第二个字符串全部转换为小写
datasg endscodesg segment
start:  mov ax,datasgmov ds,ax ;设置ds指向datasg段mov bx,0 ;设置(bx)=0,ds:bx指向 'BaSiC'的第一个字母mov cx,5 ;设置循环次数5,因为 'BaSiC'有五个字母upLetter:mov al,ds:[bx] ;将ASCII码从ds:bx所指向的单元中取出and al,11011111B ;将al中的ASCII的第5位为0,变成大写字母mov ds:[bx],al ;将转变后的ASCII码写回原单元inc bx ;bx+1,ds:bx指向下一个字母loop upLettermov bx,5 ;设置bx=5,ds:bx指向 'iNfOrMaTiOn'的第一个字母mov cx,11 ;循环11次,因为 'iNfOrMaTiOn'有11个字母downLetter:mov al,ds:[bx]or al,00100000B ;将al中的ASCII码的第五位置变成1,变为小写字母mov [bx],alinc bxloop downLettermov ax,ac00hint 21hcodesg ends
end start

汇编语言之大小写转换问题相关推荐

  1. 汇编语言随笔(6)-大小写转换与实验6(双重循环:需要保存cx值)

    大小写转换 规律:大写字母的ASCII值+20H=小写字母的ASCII值.在ASCII值中,大写字母第5位为0,小写字母第5位为1.所以通过and.or指令可以方便地进行大小写转换,而不需要提前判断字 ...

  2. 汇编语言 字母的大小写转换

    大小写转换问题 A 41H 0100 0001B or 0010 0000B 转换为小写 B 42H 0100 0010B C 43H 0100 0011B D 44H 0100 0100Ba 61H ...

  3. 汇编语言大小写转换问题

    首先,我们观察一下,大小写字母对应的ASCII码有何联系 不难发现,'A'+20H='a',但在我们写源程序的时候,就要判断字符是大写还是小写,然后我们来决定是该 +20H,还是 -20H.但似乎在汇 ...

  4. 汇编语言:简单的英文字母大小写转换

    简单的英文字母大小写转换

  5. 巧用位运算实现大小写转换

    今天看王爽老师的<汇编语言>时,很有收获,不论是技术还是思考方式. 任务是将字符串进行大小写转换,但是还暂时不会用分支判断语句(而且这样的效率也不是最高的,有点类似于高级语言了). &qu ...

  6. Python 零基础入门到实战(一)笔记:内置对象、浅拷贝、深拷贝、计算圆面积、凯撒密码、英文大小写转换、输入国家打印出国家名和首都、输入数字英文输出、统计句子中的字母数量、猜随机数

    Python入门到实战(一) 为什么写这篇文章 Part 1 入门部分 什么是编程语言? Python的优势 目前应用 特点 Part 2 6种内置对象 1 整数.浮点数 2 字符串 3 列表 4 元 ...

  7. C++ OJ 中多行数据输入(大小写转换、通过移位运算实现2的n次方、多组输入,每行输入数量不一样)

    1. 多组输入,输出每行最大值 while(cin>>a>>b) 主要解决的是两个为一组的多组数据输入,当一次只输入一个数据时就用 while(cin>>a) 输入 ...

  8. C++ 字符串字母大小写转换

    C++ 字符串字母大小写转换 使用algorithm,里面的tolower(转小写)toupper(转大写) #include <iostream> #include <string ...

  9. C++ 笔记(22)— STL string 类(字符串赋值、访问、拼接、查找、翻转、大小写转换)

    1. 实例化和赋值 STL string #include <string> #include <iostream>int main () {using namespace s ...

最新文章

  1. 如何在CrossOver里应用Windows容器的存档(备份)与恢复?
  2. Ubuntu16.04 安装chromedriver
  3. 杨鹏谈世纪佳缘推荐算法:基于Spark GraphX,弃GBDT和LR用FM
  4. Emscripten-mac安装与升级
  5. CryptoAPI 学习
  6. Android开发遇到手机无法弹出Toast
  7. ACM-ICPC 2018 徐州赛区网络预赛 I. query 树状数组
  8. micropython 蜂鸣器_基于MicroPython的TPYBoard微信远程可燃气体报警器的设计与实现...
  9. atmega8 例程:USART串口通信
  10. kubernetes视频教程笔记 (3)-Pod及其网络通讯方式
  11. java实现凸包算法_JAVA语言中实现凸包算法
  12. JSON怎么转成Excel
  13. C语言递归求圆周率,python中的递归问题,求圆周率
  14. 导出PDF /home/education/font/simsun.ttc not found as file or resource.
  15. html怎么在表格中加虚线,html设置虚线边框的方法详细介绍
  16. 微生物群落结构差异分析
  17. upset图形如何理解
  18. 游戏建模工作内容是什么
  19. 常见的10大超参数优化库
  20. c++手机编程软件_今天小编推荐几款好用的手机编程APP!

热门文章

  1. 跨语言平台的RSA加密、解密、签名、验证算法的实现
  2. NYOJ 139 我排第几个?
  3. NYOJ 990 蚂蚁感冒
  4. hdu 1272 小希的迷宫 (并查集)
  5. 生产者、消费者问题之闹钟
  6. 重装JDK后Tomcat和Eclipse的配置
  7. 排球比赛计分规则功能说明书
  8. php 将查询出的数组数据存入redis
  9. Swift - 类型属性(类静态属性)和类方法(类静态方法)
  10. 常用chrome插件