




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、深 圳 大 学 实 验 报 告 课程名称: 微机原理及应用实验 实验名称: 综合汇编程序设计 学院: 物理科学与技术学院 专业: 2012级应用物理 指导教师: 报告人: 学号: 实验时间: 2014年12月3日 实验报告提交时间: 2014年12月17日 一、实验目的 (1) 综合运用所学的微机汇编语言程序设计的知识。 (2) 进一步巩固在PC上建立、汇编、链接、调试和运行汇编语言程序的过程与方法。 二、实验要求 1.以12人为一组,自拟设计题目。要求如下(1)务必用到汇编程序设计中的分支、循环、子程序调用、宏和DOS功能调用;(2)务必有合适的人机交互功能(如键盘输入、屏幕输出等);(3)
2、务必提前提交设计报告书(写明程序功能、总体设计思路与设计方案及分工等)。如模拟计算器设计:用键盘输入,可进行五位十进制以内的加减法、2位十进制以内的乘除运算。再如电子钟或秒表,在屏幕显示时间,支持时间校准或设置记时起点、停止计时等功能等等。3、 实验内容1. 设计任务书 (1)程序功能: 输入不超过100个学生的成绩,按照分数高低分成A、B、C、D、F五个等级,依次对应的分数为90100、8089、7079、6069、059,屏幕分别输出5个等级的学生人数。总体设计思路: (2)调用DOS键盘输入功能获得不超过100个学生的成绩,每输入一个成绩就要回车换行,故要写一个回车换行的宏和一个输入子程
3、序。再判断一位学生的成绩处于哪个等级,进入相应的分支累加计数,使用循环结构对所有输入的成绩进行判断。接着调用DOS屏幕输出功能输出每个等级的学生人数及总人数,因为要分成六次输出,故将输出写成子程序。(3)设计方案及分工:小组成员:赖树文(负责主程序部分),林成业(负责宏,子程序和报告)设计方案:如简略流程图所示(注:宏和子程序没有在流程图中标出)开始输入成绩结束在屏幕上输出结果DIDI+1,CXCX-1GRA首地址给DI,CXNUM获取输入的成绩放在数组GRA中,成绩个数NUMDI-70>=0?C等级加1是否否是B等级加1A等级加1DI-80>=0?是DI-90>=0?是否C
4、X=0?.CX=0?否是DI-90>=0?是DI-80>=0?A等级加1B等级加1是否否是C等级加1DI-70>=0?.输入成绩获取输入的成绩放在数组GRA中,成绩个数NUMGRA首地址给DI,CXNUMDIDI+1,CXCX-1在屏幕上输出结果结束 2. 汇编代码源文件及注释CRLFM MACRO ;空格宏程序 MOV AH,02 MOV DL,20H ;调用DOS空格功能 INT 21H ENDM CRLFM1 MACRO ;回车换行宏程序 MOV AH,02 MOV DL,0DH ;调用DOS回车功能 INT 21H MOV AH,02 MOV DL,0AH ;调用DO
5、S换行功能 INT 21H ENDM DATA SEGMENT ;定义数据段 TIP DB 'please input grades (less than 100 numbers),one input,one enter,input Y or y to end input',0DH,0AH,'$'开头提示 TIPN DB 'total:','$' ;输出提示 TIPA DB 'A:','$' ;输出提示 TIPB DB 'B:','$' ;输出提示 TIPC DB &
6、#39;C:','$' ;输出提示 TIPD DB 'D:','$'输出提示 TIPF DB 'F:','$'输出提示 N=101 STR DB 4,0,3 DUP(30H),0DH DAT1 DB 3 DUP(30H) DAT2 DB 3 DUP(30H) GRA DB N DUP(0) NUM DB -1 NUMA DB 0 NUMB DB 0 NUMC DB 0 NUMD DB 0 NUMF DB 0 PYL DW 0DATA ENDS STACK SEGMENT ;定义堆栈段 DB 100 DUP(
7、0) STACK_TOP DB 0STACK ENDSCODE SEGMENT ;代码段 ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA ;设置数据段、堆栈段 MOV DS,AX MOV AX,STACK MOV SS,AX MOV SP,OFFSET STACK_TOP ;输出提示 LEA DX,TIP CALL OUTTIP CRLFM ;调用输入子程序获得成绩 L1: LEA DX,STR LEA SI,STR LEA DI,DAT1 CALL INPUT CRLFM INC NUM ;记录输入总个数 ;判断是否输入Y和y来结束成绩输
8、入 LEA DI,STR MOV AL,DI+2 CMP AL,'Y' JE JUDGE CMP AL,'y' JE JUDGE ;将输入的数转化为十进制多位数存入GRA LEA DI,DAT1 MOV CL,DI SUB CL,30H ;将ASCALL码转化为数字 INC DI MOV AL,DI SUB AL,30H ;将ASCALL码转化为数字 MOV BL,10 MUL BL ADD CL,AL INC DI MOV AL,DI SUB AL,30H ;将ASCALL码转化为数字 MOV BL,100 MUL BL ADD CL,AL LEA DI,GR
9、A ADD DI,PYL MOV DI,CL INC PYL JMP L1 ;不输入Y和y就继续从键盘读取数据 ;用循环和分支结构判断等级 JUDGE: CRLFM1 LEA DI,GRA MOV CL,NUM MOV CH,0L3: MOV AL,DI CMP AL,89 JA DJA CMP AL,79 JA DJB CMP AL,69 JA DJC CMP AL,59 JA DJD JMP DJF DJA: INC NUMA JMP OVERDJB: INC NUMB JMP OVERDJC: INC NUMC JMP OVERDJD: INC NUMD JMP OVERDJF: INC
10、 NUMF OVER: INC DI LOOP L3 ;输出结果 LEA DX,TIPN CALL OUTTIP LEA DI,DAT2 MOV AL,NUM CALL TTOUT LEA DX,TIPA CALL OUTTIP LEA DI,DAT2 MOV AL,NUMA CALL TTOUT LEA DX,TIPB CALL OUTTIP LEA DI,DAT2 MOV AL,NUMB CALL TTOUT LEA DX,TIPC CALL OUTTIP LEA DI,DAT2 MOV AL,NUMC CALL TTOUT LEA DX,TIPD CALL OUTTIP LEA DI,D
11、AT2 MOV AL,NUMD CALL TTOUT LEA DX,TIPF CALL OUTTIP LEA DI,DAT2 MOV AL,NUMF CALL TTOUT MOV AH,4CH ;返回DOS INT 21H ;输入子程序 INPUT PROC NEAR MOV AH,0AH ;调用DOS键盘输入功能 INT 21H MOV CL,SI+1 ;获取指针地址,设置循环次数 MOV CH,0 MOV BX,CX ;由低到高位读入数字 L2: MOV AL,SI+BX+1 MOV DI,AL DEC SI INC DI LOOP L2 RET ;返回主程序INPUT ENDP ;输出子
12、程序OUTTIP PROC NEAR MOV AH,09H INT 21H RET ;返回主程序OUTTIP ENDP OUTNUM PROC NEAR LOUT: MOV AH,02H MOV DL,SI INT 21H DEC SI LOOP LOUT RET ;返回主程序OUTNUM ENDP TTOUT PROC NEAR MOV AH,0 MOV BL,10 MOV CX,0L4: DIV BL ADD AH,30H MOV DI,AH MOV AH,0 INC DI INC CX CMP AL,0 JA L4 LEA SI,DAT2 ADD SI,CX DEC SI CALL OUTNUM CRLFM1 RETTTOUT ENDP CODE ENDS ;代码段结束 END START4、 实验结果1. 编译、连接生成可执行文件,调试该可执行文件。2.输入数据获得结果5、 实验总结与体会 本次实验中,运用了汇编程序设计中的分支、循环、子程序调用、宏和DOS功能调用,同时使用了合适的人机交互功能(如键盘输入、屏幕输出等)。实现了“ 输入不超过100个学生的成绩,按照分数高低分成A、B、C、D、F五个等级,依次对应的分数为90100、8089、7079、6069、059,屏幕分别输出5个等级的学生人数。”的功能。 实验过程中,我们先写好设计任务书,并按照任
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 在线教育平台用户增长与留存策略内容营销报告
- 农田水利设施改造与农业保险融合发展研究报告
- 保安证的考试试题及答案
- 航空航天行业2025年高精度加工技术市场潜力与机遇报告001
- 安全专工招聘试题及答案
- 安全技能比赛试题及答案
- 安全工作规定试题及答案
- 基于核心素养培训课件
- 2025年商业地产项目数字化运营与客户满意度提升的个性化服务模式创新实施案例分析报告
- 御膳培训标准课件图片
- 明阳风机培训课件
- 委外加工流程
- 住院医嘱审核登记表-9月上
- Q∕SY 05010-2016 油气管道安全目视化管理规范
- 蓝海华腾变频器说明书
- 浆砌块石工程施工程序、施工方法
- 中国海洋大学论文封面模板
- 遵义会议-(演示)(课堂PPT)
- 订单(英文范本)PurchaseOrder
- 雨污水合槽沟槽回填施工专项方案(优.选)
- 预焊接工艺规程pWPS
评论
0/150
提交评论