应天论坛

 找回密码
 参与我们

QQ登录

只需一步,快速开始

搜索
查看: 1074|回复: 0

ASCII码应用和大小写转换

[复制链接]

276

主题

303

帖子

3197

积分

管理员

湘南小侠客

Rank: 9Rank: 9Rank: 9

积分
3197

优质服务勋章论坛元老

QQ
发表于 2017-8-26 15:00:25 | 显示全部楼层 |阅读模式
ASCII码应用和大小写转换



[mw_shl_code=asm,true]ASSUME CS:HIKE, DSATA; 假设代码段,数据段
DATA SEGMENT;数据段开始
     DB 'HiKeRy';defined byte 定义6个字节型字符数据ASCII码对应数:72,105,75,101,82,121    hex:48H,69H,4BH,65H,52H,79H
     DB 'www.yzqz.cn';defined byte 定义14个字节字符数据ASCII码对应数hex:77,77,77,2E,35,32,70,6F,6A,69,65,2E,63,6E,
DATA ENDS;数据段结束
HIKE SEGMENT;代码段开始
   GO:MOV AX,DATA;将数据段送入寄存器中、
     MOV DS,AX;设置ds指向DATA数据段
     MOV BX,0;设置偏移地址为0,我们常用bx寄存器来存放偏移地址
     MOV CX,6;循环6次、等下我们要将HiKeRy全部转换成小写字母、cx寄存器存放循环的次数
 DO: MOV AL,[BX];将DS:[BX]的字节数据放入AL(低8位寄存器)
     OR AL,00100000B;将AL的数据和00100000相或、OR指令: 位与位相或、都为0才为0、其他都为1
     MOV [BX],AL;把处理后的数据放回内存中、
     INC BX;偏移地址自增1、类似高级语言的(i++)
     LOOP DO;CX-1、 跳到do标记地址处继续执行程序、cx为0则向下执行
     MOV CX,5;设置循环次数5次、这次我们要www.52pojie.cn中的pojie转成大写
     ADD BX,6;把偏移地址定位到p这个ASCII码的内存单元
ONLY:MOV AL,[BX];数据送入交换寄存器
     AND AL,11011111B;这次转换用的是逻辑与、与逻辑或、逻辑相反、位与为相与、都为1才为1、其他都为0
     MOV [BX],AL ;再把处理后的数据放会内存
     INC BX;偏移地址再增1
     LOOP ONLY;又要循环了……
     MOV AX,4C00H;上面的工作完成了、程序返回。
     INT 21H;
HIKE ENDS;代码段结束了
END GO;程序结束了、我们去编译、debug调试看看[/mw_shl_code]
每次见你穿短裤打领带,还穿个拖鞋,下次再这样穿不要从我家门口过了!
http://gsh.yzqz.cn/CassettePlayer/index.html

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 参与我们

本版积分规则

QQ|Archiver|手机版|小黑屋|应天社区 ( 湘ICP备17015224号 )

GMT+8, 2024-12-22 18:03 , Processed in 0.078125 second(s), 30 queries .

Powered by Discuz!

© 2001-2017 Comsenz Inc.


免责声明:
本站所发布的第三方软件及资源(包括但不仅限于文字/图片/音频/视频等仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢某程序或某个资源,请支持正版软件及版权方利益,注册或购买,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To: admin@yzqz.cn

快速回复 返回顶部 返回列表