北理(bit)微机原理上机软件实验报告
更新时间:2023-09-09 22:47:01 阅读量: 教育文库 文档下载
- 北理为什么叫bit推荐度:
- 相关推荐
微机原理软件编程
实验报告
班级: 学号: 姓名:
一、实验题目
1、IDE86集成开发环境的学习和运用
2、编写程序求出10个数中的最大值和最小值,并以单步形式观察如何求出最大值、最小值。
3、求1到100 的累加和,并用十进制形式将结果显示在屏幕上。要求实现数据显示,并返回DOS状态。
4、将存储器中的十个字节型十六进制有符号数按从小到大的顺序排序并按十六进制显示出来。(56H、0ffH、78H、82H、12H、0、95H、58H、0bcH、34H)
二、实验目的
1、学习并掌握IDE86集成开发环境的使用包括编辑、编译、链接、调试与运行等步骤 编辑:源程序的输入、修改。
编译:常见编译出现的语法错误的修改。
运行:运行、断点设置、单步运行、单步跟踪;观察寄存器、标志寄存器值;观察数据存储器中的数据。
2、完成所有题目,提高编程能力,加深对理论课的理解。
三、实验内容
1、文字叙述设计思路
1.1编写程序求出10个数中的最大值和最小值 由于一共有十个数,所以求其最大数或者最小数需要比较9次。从数据段的段首开取数,先取两个数进行比较,比较完后取其中的最大数或者最小数放入数据段的第二位中。再取第三位数与第二位数比较,如此循环,比较9次后在数据段最末位的就是我们需要的数。
1.2求1到100 的累加和,并用十进制形式将结果显示在屏幕上
求和部分:1~100一共有100个数,所以需要做100次加法。做加法要有两个数,第一个数是第i位的数值,第二个数是i-1位以及之前所有数的和,所以这两个数必须分别存放在两个寄存器里,并且两个数相加之后的所得的值,必须放在存放“和”的寄存器中,另外一个寄存器每做完一次加法自加1。
显示部分:我们所求得的最终数值在内存中是以16进制数存放的,但是由于结果只是一个数,我们可以把它的每一位所对应的ASCII码按照一定的顺序存放到一个数据段中,再以字符串形式直接输出。
1.3将存储器中的十个字节型十六进制有符号数按从小到大的顺序排序并按十六进制显示出来
比较部分:题目一共给了我们10个数,如果要进行排序的话可以先把十个数中最大的数选出来,放到数据段的最后一个位置,接着再选出次大的数放到数据段的倒数第二位,如此循环到最后便可成功将所给的十个数排序好。
显示部分:我们所求得的最终数值在内存中是以16进制数存放的,如果想要显示16进制数就必须要把所得数的每一位ASCII码求出来放入DL中。
可执行文件。
2、流程图
2.1编写程序求出10个数中的最大值和最小值
开始 开始
定义数据段代码段 定义数据段代码段
i=1 i=1
取第i个数和第i+1 取第i个数和第i+1个数进行比较 个数进行比较
N N [i]<[i+1]? [i]>[i+1]?
Y Y [i+1]=[i] [i+1]=[i]
i=i+1 i=i+1
N N 比较了 比较了
9次? 9次?
Y Y
最大数为[i+1] 最小数为[i+1]
结束 结束
2.2求1到100 的累加和,并用十进制形式将结果显示在屏幕上
开始
定义数据段代码段
AX=0,BX=0 加了 N 100次? BX=AX+BX
Y AX=AX+1
打印输出BX
结束
2.3将存储器中的十个字节型十六进制有符号数按从小到大的顺序排序并按十六进制显示出来
开始 BH=BH-1 定义数据段代码段 设定内循环外循环 次数BH=9,BL=9 N BH=0? BL=BH i=1 Y 打印输出数据段的 [i]>[i+1]? 所有内容 N
Y [i+1]=[i] i=i+1 结束 比较了 BL次? N Y 四、实验源程序
1、编写程序求出10个数中的最大值和最小值
DATA SEGMENT ;定义数据段 DATA1 DB 12H,23H,34H,45H,56H,67H,78H,89H,9AH,0FDH;定义十个数 MAX DB 0
MIN DB 0
DATA ENDS ;数据段定义完毕 CODE SEGMENT ;定义代码段 ASSUME CS:CODE,DS:DATA
EXP1 PROC FAR ;设定为子函数,可以远 程调用
START:MOV AX,DATA
MOV DS,AX ;初始化DS
LEA SI,DATA1 ;将SI指向DATA1 LEA DI,MAX ;将DI指向MAX MOV AH,[SI]
MOV AL,[SI+1] ;取出DATA1的前两个数 CALL CASE1 ;调用子函数CASE1
MOV AH,0
MOV [DI],AX ;将最大数存入MAX中 LEA DI,MIN ;将DI指向MIN CALL CASE2 ;调用子函数CASE2 MOV AH,0
MOV [DI],AX ;将最小数存入MIN中 MOV AH,4CH
INT 21H ;返回DOS
RET ;远程调用返回 CASE1 PROC;子程序CASE1(查找最
MOV CX,10 GO1: MOV AH,[SI] CMP AL,AH JA GO2 MOV AL,AH;若AL小于AH则将AH
INC SI LOOP GO1 JMP END1 GO2: INC SI LOOP GO1 JMP END1 END1 :RET CASE1 ENDP
CASE2 PROC MOV CX,10 XOR AX,AX LEA SI,DATA1 MOV AL,[SI] GO3: MOV AH,[SI] CMP AL,AH JB GO4 MOV AL,AH INC SI 大数)
;设定比较次数
;取出SI所指定的数放
入AH
;比较AH与AL
;如果AL大于AH则跳转
到GO2
放到AL中
;修改指针,将指针指向
取DATA1中的下一个数
;循环比较10次 ;循环完成
;修改指针,将指针指向
取DATA1中的下一个数
;循环比较10次 ;循环完成
;循环完成,得到最大值
并存在AL了中返回主 程序
;子程序CASE1结束 ;子程序CASE1(查找最
小数)
;设定比较次数
;将AX清零,以便存数
比较
;SI指向DATA1 ;取出第一个数 ;取出第一个数
;比较DATA1中的两个数 ;小于则跳转 大于则把较小数放于AL ;修改指针指向下一位
;
正在阅读:
北理(bit)微机原理上机软件实验报告09-09
2022年党建工作述职报告07-31
自恋的妈妈作文800字07-10
材料研究与测试方法 复习题10-01
文化中心 施工组织设计205-16
科室督查问题总汇(终稿)03-25
中学数学教学原则简答题03-14
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 上机
- 微机
- 原理
- 实验
- 报告
- 软件
- bit
- 湖南省澧县一中、岳阳县一中2012届高三11月联考试卷(物理)
- 北航学院路生活指南
- 无机及分析化学课后习题第一章答案
- 植物生理学名词解释
- 毛特概论(下)课堂提问doc
- 吉林省计算机专升本考试历年真题
- QC成果报告:提高现浇结构模板安装合格率
- 人教版化学选修五 2-2芳香烃
- 仆人-读后感
- 2018-2019年高中数学浙江高三水平会考汇编试卷含答案考点及解析
- 北京市海淀区2017届高三查漏补缺数学 doc
- 《2016房地产心智销售沟通策略及谈判逼定技巧》 - 图文
- 北京纺织品出口现状调查及发展策略分析
- 请用PV操作解决读者和写者问题
- 2009年教育系统职称评审公示
- 作文热点导写
- 《激战》七夕超前点映 张家辉变肌肉人
- 2019纪检监察业务知识考试题库及答案
- 冷轧带肋钢筋混凝土结构技术规程
- 低碳生活绿色出行工作总结报告 - 图文