微机原理与接口技术,EMU8086,循环结构程序设计、字符串操作程序设计、子程序设计与调用程序设计案例与作业

本文详细介绍了如何使用循环结构实现从1到50的累加,以及字符串操作如最大字符查找、长度计算和字符串复制。还探讨了子程序设计,包括ASCII码处理和偶校验函数seteven的实现,以及如何将字符串搜索功能封装为独立子程序。
摘要由CSDN通过智能技术生成

 

一、循环结构程序设计

1.设计程序,完成从1累加到50(即1+2+3+4+……+50),结果保存在数据段的SUM单元中。

2.以BUF为首地址的存储单元中存放着一串字符,以‘$’字符结束,找出其中ASCII码值最大的字符,并存入MAX单元中。

第一种方法

第二种方法:

3.以BUF为首地址的存储单元中存放着一串字符,字符串以‘#’结束。请统计字符串的长度并存入Num单元中,要求:第一个非空格字符前的所有空格不计入字符串长度,结束标志‘#’字符也不计入字符串长度。

二、字符串操作程序设计

1.在缓存区string1中存放着一个字符串,字符串的长度存放在变量num中。编程将该字符串传送到缓存区string2中。

2.在缓存区buffer存放着一个字符串,缓冲区的末地址定义为buffend。编程搜索该字符串中是有指定的字符串string,字符串string的长度存放在变量num中。若buffer中不存在该字符串,将结果变量flag置0;若存在,则将结果变量flag置1。

第一种

第二种如下:

3.查找第一个非空格字符,用字符串操作指令怎么实现呢?

三、子程序设计与调用

每个字符的ASCII码是7位,占1字节空间,因此可设置最高位为校验位。要求:编写一个子程序seteven,对缓冲区中的一组ASCII码加偶校验。

入口参数:缓冲区首地址送DS:DI,其中第一个字节为待处理的数据个数。

出口参数:加上偶校验后的缓冲区内容

程序如下:(我所设计的是利用存储单元传递参数)

此程序可以有奇偶校验功能,但还不够完善

在缓存区buffer存放着一个字符串,缓冲区的末地址定义为buffend。编程搜索该字符串中是有指定的字符串string,字符串string的长度存放在变量num中。若buffer中不存在该字符串,将结果变量flag置0;若存在,则将结果变量flag置1。将其写成一个功能相对独立的子程序呢?

此为buffer中没有要找的情况,接下来的是buffer中可以找到的情况

  • 15
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值