微机实验报告 循环程序的设计
实验报告(循环程序的设计)
专业:材料物理; 姓名:曾瑞; 学号:2011301230019
1, 实验内容
编程计算:S=1+2+3+6…+N<=100的最大项数N以及对应的和S。
2, 实验要求
① 将最大项数与和数分别存入N和SUM单元,用TD调试,运行程序并检查
结果;
② 将结果在屏幕上以16进制数显示。显示格式:MAX N=xxH SUM =xxH。
3,实验目的
学习并掌握循环程序的设计方法。
4,源程序
;FILENAME:ZENGRUI.ASM
DATA SEGMENT
N DB ? ;开辟一个字节单元
MESG1 DB ‘MAX N=’,30H,30H,’H’,’$’
SUM DB ?
MESG2 DB ‘SUM =’,30H,30H,’H’,’$’
DATA ENDS
CODE SEGMENT
ASUME CS:CODE,DS:DATA ;段分配
BEGIN: MOV AX,DATA ;段基址→DS
MOV DS,AX
MOV BL,0 ;给BL和AL赋初始值0
MOV AL,0
COUNT: INC BL
ADD AL,BL
CMP AL,100
JBE COUNT ;无符号数<=跳转
SUB AL,BL ;所得AL大于100,故要减去BL
DEC BL ;BL的前一位才是最大项
MOV [N],BL ;最大项数→N单元
MOV [SUM],AL ;和数→SUM单元
MOV BX,OFFSET N
CALL N2_16 ;调用过程N2_16
MOV BX,OFFSET SUM
CALL N2_16
MOV AH,9 ;9号功能调用,输出字符串
MOV DX,OFFSET MESG1
INT 21H
MOV AH,02H ;2号功能调用,输出两个空格
MOV DL,00H
INT 21H
MOV AH,02H
MOV DL,00H
INT 21H
MOV AH,9 ;9号功能调用,输出字符串
MOV DX,OFFSET MESG2
INT 21H
MOV AH,4CH ;返回DOS操作系统
INT 21H
N2_16 PROC
NEXTI: CMP BYTE PTR [BX],16 ;存储单元与16比较
JC NEXT2 ;小于16转
SUB BYTE PTR [BX],16 ;否则,减去16
INC BYTE PTR [BX+7] ;高位加一
JMP NEXT1
NEXT2: MOV AH,BYTE PTR [BX]
CMP AH,10 ;与10比较
JC NEXT3 ;小于10转
MOV CH,7 ;否则,加7
ADD AH,CH
NEXT3: ADD BYTE PTR [BX+8],AH ;生成低位数
RET
ENDP
CODE ENDS
END BEGIN
5,实验结果及分析
实验结果显示为:MAX N=0DH SUM =5BH。经过验证,其结果是正确的。 需要说明的有以下几点:
① 本程序还可以进一步简化。比如,对于空格的输出,在本程序中两次调用了2号功能,当然,也可以直接在输出字符串时中直接输出。例如,直接在DATA
SEGMENT 中MESG1 DB ‘MAX N=’,30H,30H,’H’,’$’修改为MESG1 DB ‘MAX N=’,30H,30H,’H’,’00H’,’00H’,$,就可以做到这点;
②在设计源程序时,本人对结果输出稍微改变了一下。实验要求是MAX N=xxH SUM =xxH,最终结果显示为:MAX N=0DH SUM =5BH。可以看出,字符串SUM后面多了一个空格。之所以这样做,是因为这样方便调用过程N2_16,其好处是
简化了程序;
③由于实验要求SUM<=100,因而在输出显示16进制数时,不用考虑其高位数大于10的情况。所以,在设计程序时,为了简化,只是对低位数的情况进行了一次比较判断。至于为什么在低位数大于等于10时,需要加7?原因是这样的,即我们最终的结果都是用ASCII码来显示的,16进制低位如‘A’对应着ASCII码41H,如果所得结果不加7,则ASCII码为3AH,则对应的是‘:’,其记过是错误的;
④对于2进制向16进制的转换,其方法不是唯一的,有很多种。本实验设计的源程序属于比较初级的一种,其思路是通过不断减16,来获取高位数。另外一个思路是:通过除法运算得商取余。当然,也可以利用2进制与16进制的特殊关系,通过与运算0F0H,结果右移四位,得到高四位;通过与0FH运算,得到低四位,最后存入相应的存储单元。其过程如下:
N2_16 PROC
MOV AL,BYTE PTR [BX]
MOV AH,AL
AND AL,0F0H ;与运算,AL低四位清0 MOV CL,4 ;右移四位,得高四位数 SHR AL,CL
CMP AL,10
JC NEXT1
ADD AL,7
NEXT1: ADD BYTE PTR [BX+7],AL
AND AH,0FH ;与运算,AH高四位清0,得低 CMP AH,10 ; 四位数
JC NEXT2
ADD AH,7
NEXT2: ADD BYTE PTR [BX+8],AH
RET
ENDP
注意:以上过程增加了对16进制高位数的判断
…… 此处隐藏:367字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [幼儿教育]【完整版】2019-2025年中国药物发现外
- [幼儿教育]2018-2019年初中信息技术广东初一竞赛
- [幼儿教育]最新外研版(一起)小学英语五年级上册《
- [幼儿教育]农业推广与创新管理专业 -中农大毕业论
- [幼儿教育]2017-2022年中国更年期用药行业市场深
- [幼儿教育]数学1.1.2第1课时棱柱、棱锥和棱台的结
- [幼儿教育]二年级群文阅读课例欣赏
- [幼儿教育]2010-2015年中国保险行业投资分析及深
- [幼儿教育]厄运打不垮的信念第一课时
- [幼儿教育]巧用文本,让表达在言语中绽放论文
- [幼儿教育]中学生百科知识竞赛题及答案
- [幼儿教育]八大菜系英文简介
- [幼儿教育]中国男装牛仔裤市场发展研究及投资前景
- [幼儿教育]远程数字视频监控系统在银行的应用
- [幼儿教育]光纤光缆制造工艺及设备
- [幼儿教育]国家安全法试题及答案
- [幼儿教育]2011高中提前招生及竞赛试题(物理卷1)
- [幼儿教育]宁夏第三产业房地产业、科学研究和技术
- [幼儿教育]中兴通讯 ME3000模块用户硬件设计手册_
- [幼儿教育]紫外线灯管的辐照强度问题
- 苏联东欧剧变的原因和历史教训浅析
- 人工智能导论实验报告(学生)
- 思科ITE章考试原题及答案
- 《学习雷锋好榜样》主题班会教案
- 加油站建设项目安全评价报告
- 剖析社保卡管理系统
- 2017-2018年影视剧新媒体版权运营行业
- 2017-2018学年四川省成都市高一上学期
- 2019最新高中数学 第三章 3.2.1 几类不
- 2011-2015年中国基酸市场调查及行业前
- 人教版新课标选修八Unit 1 课件Warming
- 郭溪燎原小学辅导学生记录表
- 教师资格证统考综合素质写作秘笈
- 国外校园绿色建筑研究方向与建设实践
- 15.1 动物运动的方式 课件(北师大版八
- 民用飞机空调系统
- 长安侠文化传统与唐诗的任侠主题
- 《中国近现代史纲要》名词解释
- 11金本《保险学概论》复习资料
- 民用建筑机电安装工程专业施工图图纸会




