【微机实验报告(含思考题)河畔下的哈】实验4

合集下载

微机原理实验报告册(3篇)

微机原理实验报告册(3篇)

第1篇一、实验目的1. 理解和掌握微机的基本组成和工作原理;2. 熟悉微机硬件设备和实验仪器的使用方法;3. 提高动手实践能力,培养解决实际问题的能力;4. 深入理解微机原理课程内容,为后续课程学习奠定基础。

二、实验内容1. 微机系统认识实验2. 微机硬件组成实验3. 微机指令系统实验4. 微机寻址方式实验5. 微机程序设计实验6. 微机接口技术实验三、实验仪器与设备1. 微机原理实验箱2. 示波器3. 数字万用表4. 计算机一台5. 实验指导书四、实验步骤与内容1. 微机系统认识实验(1)观察实验箱的结构,了解各个模块的功能;(2)熟悉实验箱的电源、复位、运行等按钮的使用方法;(3)学习微机系统的工作流程,包括加电、复位、启动等过程;(4)观察微机系统启动后的运行状态,了解各个模块的协同工作。

2. 微机硬件组成实验(1)观察实验箱的CPU、内存、I/O接口等硬件模块;(2)学习CPU的内部结构,包括寄存器、控制单元、运算单元等;(3)学习内存的存储原理,了解ROM、RAM等存储器的特点;(4)学习I/O接口的工作原理,了解中断、DMA等传输方式。

3. 微机指令系统实验(1)学习微机指令系统的基本格式,包括操作码、地址码等;(2)掌握微机指令系统的寻址方式,包括立即寻址、直接寻址、间接寻址等;(3)编写简单的汇编语言程序,实现加、减、乘、除等运算;(4)学习微机中断处理过程,了解中断向量表、中断服务程序等概念。

4. 微机寻址方式实验(1)学习微机寻址方式的基本概念,包括直接寻址、间接寻址、寄存器寻址等;(2)编写程序,实现不同寻址方式下的数据访问;(3)观察不同寻址方式对程序执行速度的影响。

5. 微机程序设计实验(1)学习汇编语言程序设计的基本方法,包括数据定义、指令编写、程序结构等;(2)编写简单的程序,实现数据交换、排序等操作;(3)学习微机程序的调试方法,包括单步执行、断点设置等。

6. 微机接口技术实验(1)学习微机接口技术的基本概念,包括并行接口、串行接口等;(2)观察实验箱中的并行接口、串行接口等模块,了解其工作原理;(3)编写程序,实现数据在并行接口、串行接口之间的传输;(4)学习微机中断处理在接口技术中的应用。

微机原理实验报告

微机原理实验报告

微机原理实验报告概述:微机原理是计算机科学与技术专业中的一门重要课程,通过实验学习,可以加深对计算机内部运行原理的理解,提高软硬件的开发和调试能力。

本实验报告将介绍我对微机原理实验的学习和思考。

实验一:二进制转换实验在这个实验中,我首先了解了二进制数的概念以及其和十进制数的转换方法。

通过实际操作,我加深了对计算机内部数据表示方式的理解。

这对于后续学习计算机系统结构和编程语言至关重要。

实验二:逻辑门电路实验逻辑门电路是计算机硬件的基础组成部分,通过实验,我学会了使用逻辑门芯片构建各种逻辑电路,并能够通过真值表分析和验证逻辑电路的正确性。

这对于理解计算机内部的数据处理和控制逻辑有着直接的帮助。

实验三:运算器设计实验在这个实验中,我通过学习和设计算术逻辑单元(ALU),了解了计算机的算术操作过程,并能够通过运算器实现基本算术运算。

这对于理解计算机内部数据的处理和计算机指令的执行有着重要的意义。

实验四:存储器与外设实验存储器是计算机系统的重要组成部分,通过实验,我深入了解了存储器的类型、组织结构和访问方式,并通过外设与存储器的交互,实践了计算机系统的输入和输出过程。

实验五:微处理器实验微处理器是计算机系统中最核心的部件,通过实验,我学习了微处理器的基本运行原理,能够通过汇编语言编写程序,并通过微处理器执行程序实现特定的功能。

这个实验为我今后学习计算机体系结构和操作系统打下了坚实的基础。

实验总结:通过这几个实验,我深入了解了微机原理课程的实践内容和相关知识。

实验的过程中,我不仅学会了使用仪器设备和工具,还培养了自己的动手能力和团队合作精神。

通过不断的实践,我对计算机内部结构和运行原理有了更深刻的理解,也提高了我的问题解决能力和创新思维。

未来展望:微机原理实验的学习只是计算机科学与技术专业中的一小部分。

我希望在今后的学习过程中能加深对计算机体系结构、操作系统、编程语言等方面的学习,并不断深入钻研,成为一名优秀的计算机科学与技术专业人才。

微机原理的实验报告

微机原理的实验报告

一、实验目的1. 理解微机的基本组成和各部件的功能;2. 掌握微机的工作原理和指令系统;3. 熟悉汇编语言程序设计的基本方法;4. 提高动手能力和实际操作技能。

二、实验内容1. 微机系统组成实验(1)实验目的:了解微机的基本组成和各部件的功能。

(2)实验内容:观察并记录微机系统的各个部件,如CPU、内存、硬盘、主板等,并了解它们的功能。

(3)实验步骤:①观察微机系统各个部件的连接情况;②了解各个部件的功能和作用;③分析微机系统的整体结构。

2. 微机工作原理实验(1)实验目的:掌握微机的工作原理。

(2)实验内容:观察并记录微机工作过程中的各个阶段,如指令的取指、译码、执行等。

(3)实验步骤:①观察微机工作过程中的各个阶段;②了解各个阶段的功能和作用;③分析微机工作原理。

3. 指令系统实验(1)实验目的:熟悉汇编语言指令系统。

(2)实验内容:学习汇编语言的基本指令,如数据传送指令、算术运算指令、逻辑运算指令等。

(3)实验步骤:①学习汇编语言的基本指令;②编写简单的汇编语言程序,实现数据传送、算术运算、逻辑运算等功能;③调试程序,观察程序运行结果。

4. 汇编语言程序设计实验(1)实验目的:提高汇编语言程序设计能力。

(2)实验内容:编写一个汇编语言程序,实现以下功能:①计算两个数的和;②判断一个数是否为偶数;③输出程序运行结果。

(3)实验步骤:①编写汇编语言程序,实现上述功能;②调试程序,观察程序运行结果;③分析程序运行过程,确保程序正确性。

三、实验结果与分析1. 微机系统组成实验:通过观察和记录微机系统的各个部件,了解了微机的基本组成和各部件的功能。

2. 微机工作原理实验:通过观察微机工作过程中的各个阶段,掌握了微机的工作原理。

3. 指令系统实验:通过学习汇编语言的基本指令,熟悉了汇编语言指令系统。

4. 汇编语言程序设计实验:通过编写汇编语言程序,提高了汇编语言程序设计能力。

四、实验心得通过本次微机原理实验,我对微机的基本组成、工作原理和指令系统有了更深入的了解。

微机实验报告(含思考题)实验4

微机实验报告(含思考题)实验4
NFS是Net File System的简写,即网络文件系统.
网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络
上与它人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系
统上的文件。
NFS至少有两个主要部分:一台服务器和一台(或者更多)客户机。客户机远程访问存放在
在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这
种编译器支持交叉编译,这个编译过程就叫交叉编译。简单地说,就是在一个平台上生成另
一个平台上的可执行代码。这里需要注意的是所谓平台,实际上包含两个概念:体系结构
(Architecture)、操作个体系结构可以运行不同的操作
arm-linux-gcc –o test_led test_led.c
若有可执行文件test_led 生成则表示交叉编译器已安装成功
2.如果我们需要变更根文件系统的目录,该如何设置使得ARM开发板可以成功挂载?
答:修改/etc/exports文件的内容,将/arm/rootfs *(rw,sync,no_root_squash) 改为/XX/XXX
服务器上的数据。为了正常工作,一些进程需要被配置并运行。
在本实验中就是将PC机作为服务器,而将ARM开发板作为客户机,这样ARM开发板就可以远程
访问存放在在PC机上的数据,这样可以缩短研发周期,更方便的调试程序。
1. 双击桌面上VMWARE,打开Linux虚拟机
2. 点击启动虚拟机,启动虚拟机
开发针对Windows本身的可执行程序,这种编译过程称为native compilation,中文可理解

微机原理及应用的实验报告

微机原理及应用的实验报告

微机原理及应用的实验报告1. 实验介绍在本次实验中,我们将学习微机原理及应用的基本知识,并通过实践来深入理解和应用这些知识。

本实验旨在让我们熟悉微机系统的原理、组成部分以及在实际应用中的一些常见问题和解决方案。

2. 实验目的•了解微机系统的基本组成部分•掌握微处理器的工作原理和操作方法•学习使用汇编语言编写简单的程序•熟悉实验中常用的开发工具和调试技术3. 实验步骤1.首先,我们需要了解微机系统的基本组成部分。

微机系统主要由中央处理器(CPU)、内存、输入输出设备和总线组成。

其中,CPU是微机系统的核心部件,它负责执行程序的指令和处理数据。

内存用于存储程序和数据,输入输出设备用于与外部环境进行数据交互,总线则负责连接各个部件之间的数据传输。

2.接下来,我们将学习微处理器的工作原理和操作方法。

微处理器是CPU的核心组成部分,它由运算器、控制器和寄存器组成。

运算器负责执行各种算术和逻辑运算,控制器负责控制程序的执行流程,寄存器用于保存指令、数据和中间结果。

3.在实验中,我们将学习使用汇编语言编写简单的程序。

汇编语言是一种低级语言,它与机器语言直接相对应。

通过编写汇编程序,我们可以更加直观地了解指令的执行过程以及数据的处理方式。

同时,在实验中我们还将学习如何使用调试工具对程序进行调试和测试。

4.最后,我们将熟悉实验中常用的开发工具和调试技术。

在实验中,我们将使用一些开发工具如汇编器、编译器和调试器来编写、编译和调试程序。

同时,我们还将学习如何使用逻辑分析仪和示波器等调试工具来对程序进行分析和验证。

4. 实验结果通过本次实验,我对微机原理及应用有了更深入的了解。

我学会了微机系统的基本组成部分,了解了微处理器的工作原理和操作方法,并且能够使用汇编语言编写简单的程序。

同时,我还熟悉了实验中常用的开发工具和调试技术,能够使用它们来进行程序的编写、编译和调试。

通过实验,我对微机系统的原理和应用有了更加直观和深入的认识。

微机原理的实验报告

微机原理的实验报告

微机原理的实验报告一、实验目的本实验旨在深入理解微机原理的相关知识,并通过实践操作,掌握微机原理的实验方法与技巧。

二、实验内容1. 搭建微机实验系统:根据实验所需,搭建适当的微机实验系统,包括各种硬件设备的连接与设置。

2. 硬件接口的实验:通过连接不同的硬件接口,进行实验操作,学习硬件接口的使用方法和原理。

3. 程序设计与调试实验:使用相应的汇编语言或高级语言,编写程序并进行调试,观察程序的执行结果。

4. 中断实验:通过调用不同的中断服务例程,进行实验操作,学习中断的使用原理和应用场景。

三、实验步骤与结果1. 实验步骤:(1) 搭建微机实验系统:按照实验指导书的要求,连接各种硬件设备,确保能够正常工作。

(2) 硬件接口的实验:选择一个硬件接口,例如并行口,通过编写相应的程序,实现读取和输出数据的功能。

观察实验现象并记录。

(3) 程序设计与调试实验:根据实验要求,选择适当的编程语言,编写相应的程序,并进行调试。

观察程序的执行结果,并记录相关数据。

(4) 中断实验:选择一个中断服务例程,例如键盘中断,通过编写相应的程序,实现对键盘输入的响应。

观察实验现象并记录相关数据。

2. 实验结果:(1) 硬件接口的实验结果:通过编写程序并连接硬件接口,成功读取和输出数据,实现了相应的功能。

(2) 程序设计与调试实验结果:编写的程序能够正确执行,并得到了预期的结果。

(3) 中断实验结果:编写的程序能够响应相应的中断信号,并实现了对键盘输入的处理。

四、实验分析与讨论1. 实验分析:通过本次实验,我们深入了解了微机原理的相关知识,并通过实践操作,掌握了微机原理的实验方法和技巧。

2. 实验讨论:在实验过程中,我们遇到了一些困难和问题,例如硬件接口的连接和调试,程序的编写和调试等。

但通过彼此的合作与讨论,我们最终解决了这些问题,并成功完成了实验。

五、实验总结通过本次实验,我们对微机原理有了更深入的理解,并通过实践操作,掌握了微机原理的实验方法和技巧。

微机实习报告

微机实习报告第一篇:微机实习报告计算机上机实习报告一、实习目的:本次上机实习的目的是使同学们熟悉office软件。

1、能用WORD做基本的文档录入和编辑。

会设置常见的文字格式和版式。

2、能用ppt做基本的幻灯片。

会设置常见幻灯片效果和格式。

会播放幻灯片。

3、会使用Excel录入数据,会设置数据格式。

会基本的表格统计和分析。

二、实习任务:1、选定一个主题,收集资料,整理成为一篇综述性报告;2、假定为某班班主任,根据本班成绩进行成绩分析,撰写一篇班级成绩分析报告;3、制作一个以第一题的主题为演讲内容的演示文稿;4、选做题:利用PS进行平面艺术创作;5、将以上操作所产生的文件打包压缩成一个文件上交;6、写一份关于本次上机实习的实习报告。

三、实习总结:1、第一大题的论文内容不是很完美,但总体上,成绩分析表将学生的加权平均分、名次、各分数段人数、优秀生名单等分析到位,运算到位。

演示文稿花了很多心思去做,用来很多效果,出来还是不错的。

2、此次实习时间虽不是很长,但我学会了许多东西,特别是一些课堂上没弄懂的问题,实习中通过操作将其弄懂了。

另外,我也学会了如何调试word文档,总而言之,实际操作比课堂上更容易掌握知识,课堂上老师讲的很好,可我一次并不能消化多少,而上机操作则不同,不会就不能进行下一步,必须弄懂才能做接下来的工作,而且能够掌握得更好。

3、此次实习收获最大的并不是对office的掌握,而是对学习方法的认识,实习过程中经常遇到各种各样的问题,老师虽然能帮助我解决一部分,但最终还是需靠自己,多动脑,多思考,再加上细心,许多问题都能迎刃而解。

4、对于意见和建议的话,我只想说由于早上第一节上机就要对着大频幕台式电脑会带来身体上的不适,希望以后上机实习中能将时间更好的科学安排好。

第二篇:微机实习报告微机控制系统实习报告微机实习是我们专业的一门必修的专业实习课,也是大学期间最后的一门实习课,实习的目的是使我们进一步加深对《微机原理与接口技术》、《单片机原理与应用》等课程相关理论知识的理解,并基本掌握将这些理论知识应用于自动控制系统设计的基本方法与技能,掌握收集、分析、应用资料的基本方法,通过技术方案的选择论证、硬件设计、程序设计,掌握自控原理、微机原理、单片机、计算机控制等课程理论知识在自动控制中的应用方法,掌握基于微型计算机的自动控制装置、自动测试仪器等的设计方法与技能为今后从事相关技术工作奠定必要的基础。

微机原理实验报告

微机原理实验报告一、实验目的本实验旨在通过实际操控和操作微型计算机,深入了解微机系统的组成和工作原理,加深对计算机硬件结构以及基本操作的理解,培养实际动手能力。

二、实验内容1.熟悉微机系统组成部分:主机、显示器、键盘等。

2.掌握微机系统的基本操作:开机、关机、复位、重启等。

3.了解微机系统的工作原理:运行机制、输入输出等。

4.实践运用微机系统进行一些简单的应用操作。

三、实验步骤1.开机操作:按下主机电源按钮,等待主机启动。

2.系统自检:主机启动后会进行自检操作,检查硬件是否正常。

如果发现问题,主机会发出蜂鸣声。

3.输入输出设备准备:连接好显示器和键盘,并检查是否正常连接。

4.系统登录:按照屏幕上的提示,输入用户名和密码进行系统登录。

5.系统操作:根据实验要求,进行相应的系统操作。

6.关机操作:在操作完成后,选择关机选项进行关机。

四、实验结果与分析通过本次实验,我掌握了微机系统的基本操作,并对其工作原理有了更深入的了解。

通过实际操作,我可以熟练地开机、关机、复位等操作,并可以进行一些简单的应用操作。

同时,我也了解到了微机系统由主机、显示器、键盘等多个组成部分组成,不同组成部分的协作工作实现了系统的正常运行。

五、实验心得通过本次实验,我对微机系统的组成和工作原理有了更深入的了解。

这对我后续学习计算机原理和操作系统提供了基础。

在实验过程中,我也发现了一些问题,比如操作系统选择界面的选择问题,我没有选择正确的操作系统,导致后续实验操作遇到一些困难。

这些问题提醒我在实际操作中需要格外注意,仔细阅读提示并选择正确的操作选项。

总结来说,本次实验对我深入理解微机系统的组成和工作原理提供了良好的机会。

通过实际操控和操作微型计算机,我对计算机硬件结构以及基本操作有了更直观的认识,掌握了一些基本操作技能。

在未来的学习和应用中,我将更加注重细节,提高自己的操作技能,并不断深入学习和了解更多关于微机系统的知识。

微机实验报告

微机实验报告实验四:子程序设计一.实验目的1、学习子程序的定义和调用方法。

2、掌握子程序、子程序嵌套的结构。

3、掌握子程序的程序设计、编制及调试方法。

二.实验内容程序采用菜单式选择,可接收用户输入的命令(1~5),各命令如下:按1键完成字符串小写字母变大写字母用户输入一由英文大小写字母或数字0~9组成的字符串(以回车结束),程序逐个检查字符串中各字符,将原串中小写字母变成大写字母,其它字符不变,并在屏幕上显示。

用户按任一键,重做,按ESC键,返回主菜单。

按2键完成找最大值(二选一)1、接收用户输入的可显示字符串(以回车结束),程序将其中ASCII码值最大的字符显示出来。

2、接收用户输入若干无符号8位数(以空格或逗号为分隔符,以回车结束),程序将其中最大的数显示出来。

用户按任一键,重做,按ESC键,返回主菜单。

按3键完成排序(二选一)1、接收用户输入的可显示字符串,以回车结束。

程序按ASCII码值大小由大到小排序并输出显示。

2、接收用户输入若干个有符号8位数(以空格逗号为分隔符,以回车结束)。

程序将其中最大的数显示出来。

用户按任一键,重做,按ESC键,返回主菜单。

按4键显示时间首先提示用户对时,即用户输入时,分,秒(以空格或冒号分隔,以回车结束),然后,在屏幕上不断显示时间,格式为:××(时):××(分):××(秒),最好定点显示。

用户按任一键,重新对时,按ESC键,返回主菜单。

按5键,结束程序运行,返回系统提示符。

三.程序与流程图主程序的简略流程子程序一的简略流程图子程序二的简略流程图子程序三的简略流程图子程序4,显示时间流程图四、源程序代码DATA SEGMENTORG 9999HMENU DB 0DH,0AH,'Programed by Deng Tengfei Class Electronic Material Grade 09',0DH,0AH, ;菜单DB 'Please input 1~5 to choose service',0DH,0AH,DB '1: Convert a small letter to a big letter' ,0DH,0AH,DB '2: Seek the bigest number',0DH,0AH,DB '3: Put the character string in order' ,0DH,0AH,DB '4: Set time and check time',0DH,0AH,DB '5: End the program$'MEG0 DB ' Please choose function$' ;提示信息MEG0~MEG8MEG1 DB 'You have choose the function 1.',0DH,0AH,'Please input the character string you want to convert:$'MEG2 DB 'You have choose the function 2.',0DH,0AH,'Please input the character string:$'MEG3 DB 'You have choose the function 3.',0DH,0AH,'Please input the character string you want to sort$'MEG4 DB 'You have choose the function 4.',0DH,0AH,'Please input the time you want to set in format like:xx:xx:xx$'MEG5 DB 'The program is end$'MEG6 DB 'Sorry.you have chosen a undefined function .Please input a correct function number$' MEG7 DB 'Fail to set time$'MEG8 DB 'Press any key to do again or press the ESC key to return to the main menu$ 'FLAG DB -1 ;冒泡排序中使用的标志DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATAMAIN PROC NEAR ;主程序MOV AX,DATAMOV DS,AXCIN: LEA DX,MENU ;输出提示信息MOV AH,09HINT 21HCALL ENT ;输出回车换行LEA DX,MEG0MOV AH,09HINT 21HCALL ENTMOV AH,01HINT 21HCMP AL,30H ;判断功能号JLE EORCMP AL,31HJE F1CMP AL,32HJE F2CMP AL,33HJE F3CMP AL,34HJE F4CMP AL,35HJE F5EOR: CALL ENTLEA DX,MEG6 ;输出出错信息MOV AH,09HINT 21HJMP CINF1: CALL ENT ;功能1LEA DX,MEG1MOV AH,09HINT 21HCALL ENTCALL FUN1 ;调用子程序1MOV AH,01HINT 21HCMP AL,1BHJNE F1JMP CINF2: CALL ENT ;功能2LEA DX,MEG2MOV AH,09HINT 21HCALL ENTCALL FUN2 ;调用子程序2MOV AH,01HINT 21HCMP AL,1BHJNE F2JMP CINF3: CALL ENT ;功能3LEA DX,MEG3MOV AH,09HINT 21HCALL ENTCALL FUN3 ;调用子程序3MOV AH,01HINT 21HCMP AL,1BHJNE F3JMP CINF4: CALL ENT ;功能4LEA DX,MEG4MOV AH,09HINT 21HCALL ENTCALL FUN4 ;调用子程序4MOV AH,01HINT 21HCMP AL,1BHJNE F4JMP CINF5: MOV AH,4CH ;功能5,终止程序INT 21HFUN1 PROC NEAR ;子程序1PUSH AXPUSH CXPUSH DXPUSH SIMOV AH,0AH ;字符串输入INT 21HCALL ENTMOV SI,DXINC SIMOV CL,[SI] ;设定循环次数MOV CH,0JIK: INC SIMOV AL,[SI]CMP AL,0DH ;判断字符ASCII码JE KLCMP AL,61HJB JKCMP AL,7AHJA JKSUB AL,20H ;小写转大写JK: MOV DL,AL ;输出字符MOV AH,02HINT 21HLOOP JIKCALL ENTLEA DX,MEG8MOV AH,09HINT 21HKL: POP SIPOP DXPOP CXPOP AXRETFUN1 ENDPFUN2 PROC NEAR ;子程序2PUSH AXPUSH CXPUSH DXPUSH SIMOV AH,0AHINT 21HCALL ENTMOV SI,DXINC SIMOV CL,[SI]MOV CH,0INC SIMOV AL,[SI]FH: INC SI ;循环比较CMP AL,[SI]JA FGMOV AL,[SI]FG: LOOP FHMOV DL,ALMOV AH,02HINT 21HCALL ENTLEA DX,MEG8MOV AH,09HINT 21HPOP SIPOP DXPOP CXPOP AXRETFUN2 ENDPFUN3 PROC NEAR ;子程序3 PUSH AXPUSH BXPUSH CXPUSH DXPUSH SIPUSH DIMOV AH,0AHINT 21HCALL ENTMOV SI,DXINC SIMOV BL,[SI]MOV BH,0INC SIMOV DI,SILP1: CMP FLAG,0 ;根据标志判断JE LP3DEC BX ;检查循环次数CMP BX,0JE LP3MOV CX,BXMOV SI,DIMOV FLAG,0LP2: MOV AL,[SI] ;前后比较CMP AL,[SI+1]JLE NEXTXCHG AL,[SI+1]MOV [SI],ALMOV FLAG,0FFHNEXT:INC SILOOP LP2 ;内循环继续JMP LP1 ;退出内循环LP3: DEC DI ;重新设定循环次数MOV CL,[DI]MOV CH,0LP4: INC DI ;循环输出字符MOV DL,[DI]MOV AH,02HINT 21HLOOP LP4CALL ENTLEA DX,MEG8MOV AH,09HINT 21HPOP DIPOP SIPOP DXPOP CXPOP BXPOP AXRETFUN3 ENDPFUN4 PROC NEAR ;子程序4PUSH AXPUSH BXPUSH CXPUSH DXCALL CROT ;调用子程序CROTMOV CH,AL ;装入入口参数MOV AH,01HINT 21HCALL CROTMOV CL,ALMOV AH,01HINT 21HCALL CROTMOV DH,ALMOV DL,0CALL ENTMOV AH,2DH ;调DOS中断置时间INT 21HCMP AL,0FFHJE FALPRT: PUSH DX ;输出时间MOV AL,CHMOV AH,0MOV BL,0AHDIV BLADD AL,30HADD AH,30HMOV DL,ALMOV DH,AHMOV AH,02HINT 21HMOV DL,DHINT 21HMOV DL,3AHINT 21HMOV AL,CLMOV AH,0DIV BLADD AL,30HADD AH,30HMOV DL,ALMOV DH,AHMOV AH,02HINT 21HMOV DL,DHINT 21HMOV DL,3AHINT 21HPOP DXMOV AL,DHMOV AH,0DIV BLADD AL,30HADD AH,30HMOV DL,ALMOV DH,AHMOV AH,02HINT 21HMOV DL,DHINT 21HMOV AH,2CH ;调DOS中断取时间INT 21HMOV AL,0AH ;写入OCW3OUT 20H,ALNOP ;延时NOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPIN AL,20H ;读取IRRAND AL,02HJNE MKCALL COV ;调子程序COVJMP PRTFAL: LEA DX,MEG7MOV AH,09HINT 21HMK: CALL ENTMOV AH,01HINT 21HLEA DX,MEG8MOV AH,09HINT 21HPOP DXPOP CXPOP BXPOP AXRETFUN4 ENDPCROT PROC NEAR ;子程序CROT,完成ASCII码转换成两位十进制数PUSH BXPUSH CXPUSH DXMOV BL,0 ;初始化BL和BHMOV BH,0AHMOV DX,02H ;设循环次数GET: MOV AH,01HINT 21HSUB AL,30HCMP AL,0JB FALCMP AL,09HJA FALXCHG AL,BLMUL BHADD AL,BLXCHG AL,BLDEC DXCMP DX,0JNE GETMOV AL,BLPOP DXPOP CXPOP BXRETCROT ENDPCOV PROC ;格式控制,使光标回到上个制表位PUSH AXPUSH CXPUSH DXMOV CX,08HMOV AH,02HMOV DL,08HREC: INT 21HLOOP RECPOP DXPOP CXPOP AXRETCOV ENDPENT PROC ;格式控制,输出回车换行MOV DL,0DHMOV AH,02HINT 21HMOV DL,0AHMOV AH,02HINT 21HRETENT ENDPMAIN ENDPCODE ENDSEND MAI五、程序调试及运行结果:主菜单1、功能一(小写字母转大写字母):2、功能二(找出ASCII码最大的字符):3、功能三(按ASCII码把字符从大到小排列):4、功能四(显示跳动的时间):5、功能五(退出程序):6、错误的输入:六、实验心得子程序可以作为一个相对独立的部分单独设计,但要注意在进入子程序和退出子程序时保护现场和恢复现场。

微机原理实验报告四

微型计算机原理与接口技术实验报告一、实验内容实验4 循环结构、子程序结构的设计实验题目编程实现对1~50 累加求和;编写统计X 数据(AL)中的“1”的个数子程序, 并编写主程序调用;编程实现代码转换程序, 实现十进制到十六进制的转换, 并显示输出。

二、内容提要掌握循环程序的设计, 观察循环计数器的变化;掌握子程序的设三、计, 观察IP、SP 的变化。

四、实验的源代码(.asm文件内容)第一部分: 编程实现对1~50 累加求和程序如下:DATAS SEGMENTSUM DW?DATAS ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASSTART:MOV AX,DATASMOV DS,AXMOV AX,0MOV CX,50AGAIN:ADD AX,CXDEC CXJNZ AGAINMOV SUM,AXMOV AH,4CHINT 21HCODE ENDSEND START第二部分: 编写统计X 数据(AL)中的“1”的个数子程序, 并编写主程序调用程序如下:DATAS SEGMENTX DB 31HRESULT DW?DATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASMAIN PROC FARSTART:PUSH DSMOV AX,0PUSH AXMOV AX,DATASMOV DS,AXCALL FAR PTR COUNTRETMAIN ENDPCOUNT PROC FARMOV CX,0MOV AL,XAGAIN:AND AL,ALJZ EXITSHL AL,1JNC NEXTINC CXNEXT:JMP AGAINEXIT:MOV RESULT,CXRETCOUNT ENDPCODES ENDSEND START第三部分: 编程实现代码转换程序, 实现十进制到十六进制的转换, 并显示输出程序如下:DECTOHEX SEGMENTASSUME CS:DECTOHEXMAIN PROC FARREPEAT1: CALL KEYDTOBCALL CRLFCALL BTOHSCRCALL CRLFJMP REPEAT1MAIN ENDPKEYDTOB PROC NEARMOV BX,0KEYIN:MOV AH,1SUB AL,30H JL EXITCMP AL,9JG EXITCBWXCHG AX,BXMOV CX,10MUL CXXCHG AX,BXADD BX,AXJMP KEYIN EXIT: RET KEYDTOB ENDPBTOHSCR PROC NEARMOV CH,4 ROTATE: MOV CL,4 ROL BX,CLMOV AL,BLAND AL,0FHADD AL,30HCMP AL,3AH JL PRINTADD AL,07H PRINT:MOV DL,ALMOV AH,2INT 21HDEC CHJNZ ROTATE RET BTOHSCR ENDPCRLF PROC NEARMOV DL,0DHMOV AH,2INT 21HMOV DL,0AHMOV AH,2INT 21HRETCRLF ENDPDECTOHEX ENDS五、实验的(显示)结果第一部分和第二部分显示均为: Press any key to continue 第三部分可以从键盘输入一个数字, 以非数字键结束即可, 屏幕上就会以十六进制显示出来, 可以重复输入, 重复显示, 每个数据占一行。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

电子科技大学
实验报告
学号学生姓名:
课程名称:
任课老师:
实验项目名称
实验四基于ARM的嵌入式Linux开发环境建立
【实验目的】
1. 掌握嵌入式Linux开发环境的基本流程。

2. 熟悉Linux操作系统
3. 熟悉嵌入式开发平台
【实验内容】
在PC机虚拟机下的Linux系统中建立基于ARM的嵌入式Linux开发环境。

1.学会网口的配置
2.Minicom端口的使用
【预备知识】
1.了解ARM9处理器结构
2.了解Linux系统结构
3. 了解ARM开发板使用常识
【实验设备和工具】
硬件:PC 机Pentium100 以上,ARM嵌入式开发平台
软件:PC机Linux操作系统+MINICOM +AMRLINUX开发环境
【实验原理】
1.交叉编译器
在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译,这个编译过程就叫交叉编译。

简单地说,就是在一个平台上生成另一个平台上的可执行代码。

这里需要注意的是所谓平台,实际上包含两个概念:体系结构(Architecture)、操作系统(Operating System)。

同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。

举例来说,我们常说的x86 Linux平台实际上是Intel x86体系结构和Linux for x86操作系统的统称;而x86 WinNT平台实际上是Intel x86体系结构和Windows NT for x86操作系统的简称。

交叉编译这个概念的出现和流行是和嵌入式系统的广泛发展同步的。

我们常用的计算机软件,都需要通过编译的方式,把使用高级计算机语言编写的代码(比如C代码)编译(compile)成计算机可以识别和执行的二进制代码。

比如,我们在Windows平台上,可使用Visual C++开发环境,编写程序并编译成可执行程序。

这种方式下,我们使用PC平台上的Windows工具开发针对Windows本身的可执行程序,这种编译过程称为native compilation,中文可理解为本机编译。

然而,在进行嵌入式系统的开发时,运行程序的目标平台通常具有有限的存储空间和运算能力,比如常见的 ARM 平台,其一般的静态存储空间大概是16到32MB,而CPU 的主频大概在100MHz到500MHz之间。

这种情况下,在ARM平台上进行本机编译就不太可能了,这是因为一般的编译工具链(compilation tool chain)需要很大的存储空间,并需要很强的CPU运算能力。

为了解决这个问题,交叉编译工具就应运而生了。

通过交叉编译工具,我们就可以在CPU能力很强、存储空间足够的主机平台上(比如PC上)编译出针对其他平台的可执行程序。

要进行交叉编译,我们需要在主机平台上安装对应的交叉编译工具链(cross compilation tool-chain),然后用这个交叉编译工具链编译我们的源代码,最终生成可在目标平台上运行的代码。

常见的交叉编译例子如下:
1、在Windows PC上,利用RVDS(ARM 开发环境),使用armcc编译器,则可编译出针对ARM CPU 的可执行代码。

2、在Linux PC上,利用arm-linux-gcc编译器,可编译出针对Linux ARM平台的可执行代码。

3、在Windows PC上,利用cygwin环境,运行arm-elf-gcc编译器,可编译出针对ARM CPU的可执行代码。

2.NFS服务
NFS是Net File System的简写,即网络文件系统.
网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与它人共享目录和文件。

通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。

NFS至少有两个主要部分:一台服务器和一台(或者更多)客户机。

客户机远程访问存放在服务器上的数据。

为了正常工作,一些进程需要被配置并运行。

在本实验中就是将PC机作为服务器,而将ARM开发板作为客户机,这样ARM开发板就可以远程访问存放在在PC机上的数据,这样可以缩短研发周期,更方便的调试程序。

【实验步骤】
1. 双击桌面上VMW ARE,打开Linux虚拟机
2. 点击启动虚拟机,启动虚拟机
3. 以root身份登陆虚拟机,密码123456
4. 其他步骤详见实验指导书
【实验结果和程序】
基于ARM的嵌入式Linux开发环境建立完毕。

【思考题】
1.如何验证交叉编译器已安装成功?
答:在终端输入命令:cd /arm/rootfs/home/driver (文件夹里已有test_led.c文件)
arm-linux-gcc –o test_led test_led.c
若有可执行文件test_led 生成则表示交叉编译器已安装成功
2.如果我们需要变更根文件系统的目录,该如何设置使得ARM开发板可以成功挂载?
答:修改/etc/exports文件的内容,将/arm/rootfs *(rw,sync,no_root_squash) 改为/XX/XXX *(rw,sync,no_root_squash) (/XX/XXX 为变更后点的文件目录)
3.怎么在u-boot命令行下修改ARM开发板的IP?
答:输入setenv ip=x.x.x.x:192.168.0.1:192.168.0.1:255.255.255.0:uestc:eth0:off Saveenv
x,x,x,x 为ARM开发板的新IP。

【实验结论】
本实验实现了基于ARM的嵌入式Linux开发环境建立。

相关文档
最新文档