王爽汇编语言 实验11 学习笔记

王爽汇编语言 实验11 个人学习笔记

编写一个子程序

名称:letter
功能:将以0结尾的字符串中的小写字母转变为大写字母
参数:ds:si指向字符串首地址

思路:

题目要求只将小写字母变为大写,剩余其他不变,而26个小写字母在ASCII码中对应的是97-122的十进制数,所以每次判断一个字节前先比较这个字节的数是否在这一范围内,然后通过小写字母二进制第五位上是1,大写字母第五位上是0的区别,通过与运算将字母变大写

代码:


assume cs:codesg

datasg segment
  db "Beginner's All-purpose Symbolic Instruction Code.",0
datasg ends

codesg segment
  begin:mov ax,datasgt
        mov ds,ax
		mov si,0
		call letterc

		mov ax,4c00h
		int 21h

letterc:push si

        mov ch,0
a:		mov cl,[si]
		jcxz ok
		cmp cl,97
		jb s
		cmp cl,122
		ja s
		and cl,11011111b
		mov [si],cl
s:      inc si
        jmp short a

ok:		pop si
		ret
		

codesg ends
end begin

结果展示:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值