实习报告
实习性质:《微机原理与接口技术》课程实习 学生姓名: * * 专业班级: 计算计控制技术131班 指导教师: 周桐、李新 实习时间: 2014年2月29日- 2015年1月4日 实习地点: 1403实训室
重庆工程职业技术学院
学 生 实 习 考 核 表
学生姓名 熊平 实习时间 实习地点 实习名称 专业班级 计算机控制技术131班 指 导 教 师 周桐、李新 2014年12月29日- 2015年1月4日 1403实训室 《微机原理与接口技术》课程实习 自我总结 通过本次实习,收获的不仅仅是回忆,薪酬,不止是知识面的开拓,技术的提升,更多更重要的是经验,是做人、工作的态度和道理尽管实习的意义很大,可以收获很多很多的东西但并不是所有的问题都能在实习中得到有效解决。我们应该在实习的基础上,再接再厉,弥补缺陷,实现自我提升,以便将来更好地踏入社会,适应职场。 人生的每一步旅途中,总有着一道无形的栏杆,每一次跨越需要很多的勇气,也不是每一次跨越都能够成功,失败是不可避免的,主要的是要敢于承认失败,面对失败,努力去做,解决它,有这个决心,我想人生会成功的,至少可以无憾!以后我会很用心的去学习,去完成我的学业!把技术学扎实,尽量把工作做到完美。 指导教师 意见 实习单位 意见并盖章 (院内实习由系签署) 考核等级
信息工程学院 《微机原理与接口技术》课程实习报告
目录
1 实习目的....................................................................................................................................... 1 2 实习概况....................................................................................................................................... 1
2.1 实习要求 ............................................................................................................................ 1 2.2 实习时间 ............................................................................................................................ 1 2.3 实习环境 ............................................................................................................................ 2 2.4 开发环境 ............................................................................................................................ 2 3 实习内容....................................................................................................................................... 2
3.1实习任务和流程图 ............................................................................................................. 2 3.2用记事本建立汇编语言源程序文件(.ASM文件) ............................................................ 3 3.3用汇编程序MASM将ASM文件汇编成目标程序文件(.OBJ文件) .................................. 5 3.4用连接程序LINK生成可执行程序文件(.EXE文件) ...................................................... 6 3.5验证和检查文件是否能运行 ............................................................................................. 7 4 实习总结....................................................................................................................................... 8
4.1 学习所得 ............................................................................................................................ 8 4.2 经验教训 ............................................................................................................................ 8 4.3 实习体会 ............................................................................................................................ 8
I
信息工程学院 《微机原理与接口技术》课程实习报告
1 实习目的
编写的汇编语言源程序能在DOS环境下运行时,必须了解汇编语言是如何同DOS操作系统接口的。
用编辑程序把源程序输入到机器中,用汇编程序把它转换为目标程序,用连接程序对其进行连接和定位时,操作系统为每一个用户程序建立了一个程序段前缀区PSP,其长度为256个字节,主要用于存放所要执行程序的有关信息,同时也提供了程序和操作系统的接口。操作系统在程序段前缀的开始处(偏移地址0000H)安排了一条INT 20H软中断指令。INT 20H中断服务程序由DOS提供,执行该服务程序后,控制就转移到DOS,即返回到DOS管理的状态。因此,用户在组织程序时,必须使程序执行完后能去执行存放于PSP开始处的INT 20H指令,这样便返回到DOS,否则就无法继续键入命令和程序。
DOS在建立了程序段前缀区PSP之后,将要执行的程序从磁盘装入内存。在定位程序时,DOS将代码段置于PSP下方,代码段之后是数据段,最后放置堆栈段。内存分配好之后,DOS就设置段寄存器DS和ES的值,以使它们指向PSP的开始处,即INT 20H的存放地址,同时将CS设置为PSP后面代码段的段地址,IP设置为指向代码段中第一条要执行的指令位置,把SS设置为指向堆栈的段地址,让SP指向堆栈段的栈底,然后系统开始执行用户程序。为了保证用户程序执行完后能返回到DOS状态,可使用如下两种方法。
2 实习概况
2.1 实习要求
1)掌握汇编语言程序开发的整体流程; 2)熟练掌握使用记事本编辑汇编语言源程序; 3)熟练掌握汇编程序MASM的使用; 4)熟练掌握连接程序LINK的使用。
2.2 实习时间
2014年12月29日至2015年1月4日
1
信息工程学院 《微机原理与接口技术》课程实习报告
2.3 实习环境
1403实训室
2.4 开发环境
操作系统(DOS) 开发语言(汇编
3 实习内容
3.1实习任务和流程图
编程求N=1+2+3+……+n的最大n值,使N不超过8位数的表示范围。汇编流程图如3.1.1所示。创建.OBJ文件有错误返回.ASM文件进行修改。进入DOS系统如图3.1.2所示。
· 结束 输出程序结果 LINK创建机器可执行文件 .EXE 转换成机器语言 .OBJ 手工编写源程序 .ASM 开始 图3.1.1 汇编语言编写流程图
2
信息工程学院 《微机原理与接口技术》课程实习报告
图3.1.2 进入DOS系统
3.2用记事本建立汇编语言源程序文件(.ASM文件)
首先建立一个空白文档文本,格式为.asm。文件名为xxx。具体程序编写如下:
DATA SEGMENT i DW 1 S DW 0 DATA ENDS;
CODE SEGMENT ASSUME CS: CODE, DS: DATA START: PUSH CS POP DS MOV i, 1 MOV sum, 0 LOP:
MOV AX, sum ADD AX, i CMP AX, 256 JNB EXIT MOV sum, AX MOV AX, i CALL PRINTAX MOV DL, ':' CALL PUTC MOV DL, ' '
3
信息工程学院 《微机原理与接口技术》课程实习报告
CALL PUTC MOV AX, sum CALL PRINTAX INC i
CALL OUT_0D0A JMP LOP EXIT:
MOV AH, 4CH INT 21H
PRINTAX PROC
MOV BX, 10 OR AX, AX JZ _0_ LOOP_P:
XOR DX, DX DIV BX
MOV CX, AX OR CX, DX JZ _E_ PUSH DX CALL LOOP_P POP DX ADD DL, '0' JMP _1_ _0_:MOV DL, '0' _1_:CALL PUTC _E_:RET PRINTAX ENDP PUTC PROC
MOV AH, 2 INT 21H RET PUTC ENDP OUT_0D0A PROC
4
信息工程学院 《微机原理与接口技术》课程实习报告
MOV DL, 13 CALL PUTC MOV DL, 10 CALL PUTC RET OUT_0D0A ENDP CODE ENDS
END START
3.3用汇编程序MASM将ASM文件汇编成目标程序文件(.OBJ文件)
当源程序建立以后,仍以xxx.ASM程序为例,我们用汇编程序MASM对xxx.ASM源程序文件进行汇编,假设其存储路径为F:\\xxx.ASM。其操作步骤如图3.3.1所示。
C:\\>MASM F:\\xxx.ASM
Microsoft (R) Macro Assembler Version 5.00
Copyright (C) Microsoft Corp 1981–1985,1987. All rights reserved. Source listing [NUL.LST]:xxx Cross-reference [NUL.CRF]:xxx
Object filename [xxx.OBJ]:xxx.asm
50674 + 450574 Bytes symbol space free 0 Warning Errors 0 Severe Errors
图3.3.1 OBJ文件的创建
由此可知,汇编程序调入后,首先显示版本号,然后出现三个提示行。 第一个提示行为:Object filename [xxx.OBJ]:
这是询问目标程序文件名,方括号内为机器规定的默认的文件名,通常直接
5
信息工程学院 《微机原理与接口技术》课程实习报告
按回车键,表示采用默认的文件名(如上所示),这是我们汇编的主要目的。
第二个提示行为: Source listing [NUL.LST]:
这是询问是否建立列表文件。若不建立,直接回车;若要建立,可以输入文件名xxx再回车,表示要建立名为xxx的列表文件。列表文件中同时列出源程序和机器语言程序清单,并给出符号表,有利于程序调试。
第三个提示行为:Cross-reference [NUL.CRF]:
这是询问是否要建立交叉索引文件。若不建立,则直接回车;若要建立,可以输入文件名xxx,表示要建立xxx.CRF文件。
调入汇编程序,当我们回答了上述各提示行的询问之后,汇编程序就对源程序进行汇编。若汇编过程中发现源程序有语法错误,则列出有错误的语句和错误的代码。错误分警告错误(Wraning Errors)和严重错误(Severe Errors)。警告错误是指汇编程序认为的一般性错误;严重错误是指汇编程序认为无法进行正确汇编的错误,并给出错误的个数及行号、错误的性质等。这时,就要对错误进行分析,找出问题和原因,然后再调用编辑程序加以修改,修改后重新汇编,直到汇编后无错误为止。
3.4用连接程序LINK生成可执行程序文件(.EXE文件)
经汇编后产生的二进制的目标程序文件(OBJ文件)并不是可执行程序文件(EXE文件),必须经连接以后,才能成为可执行文件。连接程序并不是专为汇编语言程序设计的。如果一个程序是由若干个模块组成的,也可通过连接程序LINK把它们连接在一起。这些模块可以是汇编程序产生的目标文件,也可以是高级语言编译程序产生的目标文件,如图3.4.1所示。
连接过程如下: C:\\>LINK xxx
Microsoft (R) Overlay Linker Version 3.60
Copyright (C) Microsoft Corp 1983-1987. All rights reserved. Run File [xxx.EXE]: List File [NUL.MAP]:xxx Libraries [.LIB]:
6
信息工程学院 《微机原理与接口技术》课程实习报告
图3.4.1 EXE文件的创建
连接程序调入后,首先显示版本号,然后出现三个提示行。 第一个提示行为:Run File [xxx.EXE]:
这是询问要产生的可执行文件的文件名。一般直接回车采用方括号内规定的隐含文件名。
第二个提示行为:List File [NUL.MAP]:
这是询问是否要建立连接映象文件。若不建立,则直接回车;若要建立,则输入文件名再回车。如果要建立该文件,可以输入文件名xxx。
第三个提示行为:Libraries [.LIB]:
这是询问是否用到库文件。若无特殊需要,则直接回车即可。
上述提示行回答后,连接程序开始连接。若连接过程中有错,则显示错误信息,错误分析清楚后,要重新调入编辑程序进行修改,然后重新汇编,再经过连接,直至无错为止。连接以后,便产生了可执行程序文件(EXE文件)。
3.5验证和检查文件是否能运行
通过CMD进入运行xxx.exe文件,检查是否能够正常运行,输出的答案是否正确。如果有错误,返回文本文档进行修改。运行结果如图3.5.1所示。
图3.5.1 运行结果
7
信息工程学院 《微机原理与接口技术》课程实习报告
4 实习总结
4.1 学习所得
本学期微机原理课程已经结束,关于微机课程的心得体会甚多。微机原理与接口技术作为一门专业课,虽然要求没有专业课那么高,但是却对自己今后的工作总会有一定的帮助。记得老师第一节课说学微机原理是为以后的单片机打基础,这就让我下定决心学好微机原理这门课程。
初学《微机原理与接口技术》时,感觉摸不着头绪。面对着众多的术语、概念及原理性的问题不知道该如何下手。在了解课程的特点后,我发现,应该以微机的整机概念为突破口,在如何建立整体概念上下功夫。可以通过学习一个模型机的组成和指令执行的过程,了解和熟悉计算机的结构、特点和工作过程。
4.2 经验教训
学习过程中,我发现许多概念很相近,为了更好地掌握,将一些容易混淆的概念集中在一起进行分析,比较它们之间的异同点。比如:微机原理中,引入了计算机由五大部分组成这一概念;从中央处理器引出微处理器的定义;在引出微型计算机定义时,强调输入/输出接口的重要性;在引出微型计算机系统的定义时,强调计算机软件与计算机硬件的相辅相成的关系。微处理器是微型计算机的重要组成部分,它与微型计算机、微型计算机系统是完全不同的概念。
4.3 实习体会
事物总有两面性,有优点自然缺点也不少。其中,最重要的一点就是,汇编语言很复杂,对某个数据进行修改时,本来很简单的一个操作会用比较烦琐的语言来解决,而这些语言本身在执行和操作的过程中,占有大量的时间和成本。在一些讲求效率的场合,并不可取。
汇编语言对学习其他计算机起到一个比较、对照、参考的促进作用。学习事物总是从最简单基础的开始。那么学习高级语言也当然应当从汇编开始。学习汇编语言实际上是培养了学习计算机语言的能力和素养。个人认为,学习汇编语言对学习其他语言很有促进作用。
8
因篇幅问题不能全部显示,请点此查看更多更全内容