博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
王爽《汇编语言》实验11
阅读量:6533 次
发布时间:2019-06-24

本文共 1102 字,大约阅读时间需要 3 分钟。

hot3.png

       编写一个子程序,将包含任意字符,以0结尾的字符串中的小写字母转变成大写字母。

描述如下:

名称:letterc

功能:将以0结尾的字符串中的小写字母转变成大写字母
参数:ds:si指向字符串首地址
应用举例:

assume cs:codesgdatasg segment   db "Beginner's All-puropose Symbolic Instruction Code.",0datasg endscodesg segment  begin: mov ax,datasg         mov ds,ax         mov si,0         call letterc         mov ax,4c00h         int 21hletterc: .....codesg endsend begin

分析:’a’~’z’的ASCII码为97~122,而’A’~’Z’的ASCII码为65~90,小写字母比它对应的大写字母大32,故可以判断只要ASCII码在[97,122]之间的数,减去32即得它所对应的大写字母。

参考代码:

assume cs:codesgdatasg segment   db "Beginner's All-puropose Symbolic Instruction Code.",0datasg endscodesg segment  begin: mov ax,datasg         mov ds,ax         mov si,0         call letterc         mov ax,4c00h         int 21h; 功能:将以0结尾的字符串中的小写字母转变成大写字母; 参数:ds:si指向字符串首地址letterc: mov cl,[si]         mov ch,0         jcxz break         cmp cx,97         jb s              ; cx<97         cmp cx,122         ja s              ; cx>122         sub cx,32         ; 将小写字母转换为大写字母         mov [si],cl      s: inc si         loop letterc  break: retcodesg endsend begin

运行结果:

转载于:https://my.oschina.net/websoft/blog/78001

你可能感兴趣的文章
JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
查看>>
双管齐下,VMware的容器新战略
查看>>
co模块的前端实现
查看>>
gcc介绍及安装
查看>>
FastReport在线报表设计器工作原理
查看>>
MyBatis Dynamic SQL 1.1.1 发布,生成动态 SQL 的框架
查看>>
完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
查看>>
Java技术周刊第3期:Spring Boot 2.x :通过 spring-boot-starter-hbase 集成 HBase...
查看>>
dubbo2.5-spring4-mybastis3.2-springmvc4-mongodb3.4-redis3.2整合(八)Spr...
查看>>
《TCP IP 详解卷1:协议》阅读笔记 - 第六章
查看>>
shell使用lftp连接ftp和sftp,并可以指定私钥
查看>>
Nginx惊现漏洞 百万网站面临“拖库”风险
查看>>
测评:对于写作的人来说,Markdown是你最好的朋友 ...
查看>>
scrapy中间件源码分析及常用中间件大全
查看>>
曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
查看>>
正则表达式-基础知识Review
查看>>
如何通过报表单元格右键控制报表跳转到不同链接地址 ...
查看>>
树莓派用上kodexplorer也能玩成私有网盘
查看>>
哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
查看>>
springboot 统一异常处理(包含统一数据校验)
查看>>