汇编语言(第三版)王爽著(实验十一)编写子程序

该博客介绍了如何使用汇编语言编写一个子程序,将包含任意字符的0结尾字符串中小写字母转换为大写字母。实验通过cmp和ja, jb指令进行条件判断,利用jcxz指令处理字符串结束。同时,还展示了统计成绩等级分布的代码,通过cmp和jae, jbe实现类似C语言的条件分支,并用-1作为数组结束标志。" 114169638,10552728,FFT载波频率估计算法分析与改进,"['信号处理', '通信技术', '频域分析', '算法优化', 'FFT应用']
摘要由CSDN通过智能技术生成

三、实验内容、程序清单及运行结果

 

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

名称:letterc

功能:将以0结尾的字符串中的小写字母转变成大写字母

参数:ds:si指向字符串首地址

代码:

DATAS SEGMENT
    db "Beginner's All-purpose Symbolic Instruction Code.",0
DATAS ENDS
CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS
START:
    mov ax,DATAS
    mov ds,ax
    mov si,0
    call letterc
ok:
      mov ah,4Ch
    int 21H
letterc:
      mov ch,0
      mov cl,ds:[si]
      jcxz ok;判断是否为零
      cmp byte ptr [si],97;大写
      jb no
      cmp byte ptr [si],122;小写
      ja no
      sub byte ptr [si],20h
no:
      inc si
    jmp letterc
CODES ENDS
END START

思路:

通过cmp改变标志寄存器,结合ja,jb指令判断标志寄存器来实现判断大小的功能,通过jcxz进行循环判断是否为字符串结束

截图:

原来的样子:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值