汇编实验报告(适合初学者)(3)

2018-11-23 22:01

④.调试过程中遇到的问题和解决的方法。

与上面一题的方法类似,循环遍历的时候加上判断,保存最大最小值。 6.编写汇编程序,统计某存储区若干个数据中英文字母的个数,并将结果在屏幕上显示。

①.程序算法流程图。

开始初始化数循环计数值i=0,num=0AL=S[i]否X[i]>=’A’是是X[i]>’Z’否否X[i]>=’a’是否num++是i++X[i]>’z’循环计数值=0?否是输出最大值,最小值结束

11

②.源程序清单。

DATA SEGMENT

S DB 'Y1j3q4';定义字符串

COUNT EQU $-S;获得字符串的字符数 NUM DB 0;用于记录字母的个数

MESSAGE DB 'english alphabet number:$';输出英文字母个数提示符

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:

MOV AX,DATA

MOV DS,AX;段寄存器定义

MOV DI,OFFSET S;获得s首地址

MOV CX,COUNT;初始化循环计数值 BEGIN:

MOV AL,[DI];开始取字符 CMP AL,'A'

JGE NEXT;比A大于等于继续 JMP RE;比A小,取下一个字符 NEXT:

CMP AL,'Z';和Z比较

JG NEXT2;大于Z,得跟a比较

INC NUM;在到Z之间为大写字母,num加1 JMP RE;取下一个字符 NEXT2:

CMP AL,'a';跟a比较

JGE NEXT4;大于等于a,得跟z比较 JMP RE;介于Z与a之间,取下一个字符 NEXT4:

CMP AL,'z';跟z比较

JG RE;大于z,取下一个字符

INC NUM;在a到z之间为小写字母,num加1 JMP RE;取下一个字符 RE:

INC DI;下一个字符

LOOP BEGIN;循环计数自动减一,循环计数不为0继续循环 MOV AH,9;输出英文字母个数提示符 MOV DX,OFFSET MESSAGE INT 21H MOV AL,NUM; ADD AL,30H MOV DL,AL

12

MOV AH,2 INT 21H

MOV AH,4CH;退出 INT 21H CODE ENDS

END START ③.程序运行结果。

④.调试过程中遇到的问题和解决的方法。

与之前的实验类似,将字符串存入数组中,遍历数组,加上条件判断。

13


汇编实验报告(适合初学者)(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:材料成型及控制工程课程设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: