王爽汇编语言第三版实验11:编写子程序

本文介绍了一种编程技巧,展示了如何使用 Assembly 语言将以0结尾的字符串中的所有小写字母转换为大写字母,通过ASCII码判断和位移实现字符类型转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

将包含任意字符,以0结尾的字符串中的小写字母转化为大写字母。

代码如下:

;将以0结尾的字符串中的小写字母转化为大写字母
assume cs:codesg,ds:datasg
datasg segment
      db "Beijinner's All-purpose Symobolic Instruction Code.",0
datasg ends

codesg segment 
  
  begin:mov ax,datasg
        mov ds,ax
        mov si,0
        call letterc
        
        mov ax,4c00h
        int 21h
  letterc:
        s:mov cx,0
          mov cl,[si] 
          inc si
          jcxz ok
          cmp cl,61h;a的ascii码,低于则转移
          jb s
          cmp cl,7ah;z的ascii码,高于则转移
          ja s
          sub si,1
          sub byte ptr [si],20h
          add si,1
          jmp s
  ok:ret
codesg ends
end begin

首先判断是否是结尾的0,不是则si+1。再判断是否为小写字母,不是就不用对数据段中的此处进行操作,直接跳转至下一循环,如果是,先si-1,将[si]处的ascii码-20h就变成大写,然后再循环,直到[si]=0为止,

执行结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值