微机原理实验

上传人:fgh****35 文档编号:180627219 上传时间:2023-01-07 格式:DOC 页数:16 大小:6.18MB
收藏 版权申诉 举报 下载
微机原理实验_第1页
第1页 / 共16页
微机原理实验_第2页
第2页 / 共16页
微机原理实验_第3页
第3页 / 共16页
资源描述:

《微机原理实验》由会员分享,可在线阅读,更多相关《微机原理实验(16页珍藏版)》请在装配图网上搜索。

1、实验一 数据传送实验实验目的1. 熟练掌握汇编语言上机步骤2. 掌握数据传送指令的使用规则3. 了解汇编语言程序格式4. 掌握汇编语言程序调试方法实验步骤题目一:数据段定义如下:DATA SEGMENTarr1 DB abcdefghrMID DB *arr2 DB 9 DUP (?)DATA ENDS编写程序,将arr1起始的100个字节倒序存放到arr2起始的存储区中。实验步骤:1. 在文本编辑器中编辑程序。例如,在将程序输入到记事本中,保存时文件的扩展名应为ASM。文件名其他字符自定,注意要少于8个英文字符。例如,文件名可以是:1.ASM或qwe.asm等等。2.进入DOS方式。如果是w

2、indows xp和 windows 2000系统,使用“开始”|“运行”命令,在运行框中输入CMD,然后单击“确定”按钮。如果是WINDOWS 98系统,则命令应为“command”。3.将编辑好的ASM文件汇编成目标文件(OBJ文件)在DOS提示符下,进入MASM文件夹。(若MASM文件夹在C盘,则在DOS下进入该文件夹的命令为:CD MASM)。进入之后,在提示符下键入命令:masm并按回车键。然后在屏幕的提示下,键入要汇编的文件的文件全名。例如,键入第一步中建立的1.asm文件。如果源文件没有错误,那么就可以生成OBJ文件(例如,生成了1.obj),如果有错误,就要修改源程序文件。4.

3、 将生成的目标文件连接成可执行文件(EXE文件)在提示符下键入命令:LINK并按回车键,在提示下输入要连接的目标文件的文件名(1.obj),成功后则会生成1.EXE文件。5.运行生成的可执行文件。可以在DOS的提示符下或者WINDOWS下运行程序,观察程序的运行结果。但是如果程序的运行结果不显示在屏幕上,或者程序的结果与预期的不符,那么就需要使用调试工具来调试程序。6. 调试程序。在提示符下键入DEBUG 1.exe 来调试程序。调试命令U反汇编G执行程序D查看存储器E修改存储器R查看/修改 寄存器Q退出调试环境命令用法:U使用U命令时,先用U0从程序最开始处反汇编。如果一个屏幕没有完全显示下

4、全部指令,则以后用U命令继续反汇编。代码段段地址每一条指令的偏移地址反汇编得到的指令指令所对应的指令码对照源程序,可以发现13F3就是程序数据段的段地址G使用G命令时,可以直接用G来执行所有指令,也可以在G后面跟上一个偏移地址x,使程序执行到x处然后暂停,再次用G命令则程序继续执行。当G后面有偏移地址时,执行到了该处,屏幕同时给出当前寄存器的内容。例如,使程序从指令偏移地址为0000处执行到001F处,所用的指令为G001F。D查看存储器内容的时候,要同时给出段地址和偏移地址。例如本例中查看数据段的命令为D13F3:0000存储单元的段地址存储单元的偏移地址存储单元的内容,每个数表示一个存储单

5、元对存储单元的注释如果存储单元的内容表示某个字符的ASCII码,则注释区会有该字符的提示;否则注释区的内容没有意义。E修改存储器的内容使用方法与D命令类似R查看/修改寄存器内容直接用R命令可以查看所有寄存器的内容,如果后面,上某个寄存器名,则可修改它例如RAX。7. 调试时,要查看程序执行前和执行后存储器的变化。所以在程序执行前后都要查看存储器的内容。8.参考程序DATA SEGMENTarr1 DB abcdefghrMID DB *arr2 DB 9 DUP (?)DATA ENDScode segment assume cs:code,ds:data main proc far begi

6、n: push ds mov ax,0push axmov ax,datamov ds,axmov cx,100mov si,offset arr1mov di,offset arr2add di,9contin: mov al,si mov di,alinc sidec didec cxjnz contin ret main endpcode endsend begin题目2 编程从键盘上输入一个十以内的数字n,则屏幕显示n个a。这个程序不需要调试,因为它在屏幕上有输出结果。参考程序:code segment assume cs:code main proc far begin: push

7、ds mov ax,0push axxor ax,axmov ah,01hint 21hand al,0fhmov cl,almov dl,acontin:mov ah,02hint 21hdec cljnz contin ret main endpcode endsend begin实验二 算术/逻辑运算指令实验目的1. 掌握算术/逻辑运算指令的规则和使用方法。2. 熟练掌握程序调试步骤。3. 熟练汇编语言程序格式4. 了解结构化程序设计思想实验步骤题目一:数据段定义如下:DATA SEGMENTFIRSTDB 90H,5FH,6EH,69H,4AH,3BHSECONDDB 6 DUP (?

8、)DATA ENDS编写程序,将FIRST开始的6个字节十六进制数左移两位,结果存放在SECOND开始的存储区中。按照实验一的步骤调试此程序,在实验报告中要给出程序的运行结果。参考程序DATA SEGMENTFIRSTDB 90H,5FH,6EH,69H,4AH,3BHSECONDDB 6 DUP (?)DATA ENDScode segment assume cs:code,ds:data main proc far begin: push ds mov ax,0push axmov ax,datamov ds,ax mov si,offset firstmov di,offset seco

9、ndmov ch,6mov cl,2contin:mov al,sisal al,clmov di,alinc siinc didec chjnz continret main endpcode endsend begin题目二:设有如下定义:data segment str1 db abcdefghijkstr2 db abcdefghikkresult db ?data ends编写一个程序,比较两个字符串是否相等。若两个字符串相等,则在RESULT单元存放字符E;否则存放字符N。按照实验一的步骤调试此程序,并在实验报告中给出结果。当把语句“str2 db abcdefghikk”改为“s

10、tr2 db abcdefghijk”时,给出程序的另一个结果。参考程序:data segment str1 db abcdefghijkstr2 db abcdefghikkresult db ?data endscode segment assume cs:code,ds:data main proc far begin: push ds mov ax,0push axmov ax,datamov ds,axmov es,axmov si,offset str1mov di,offset str2mov cx,11cmpsband cx,0jz goonmov al,Emov result,aljmp overgoon:mov al,Nmov result,alover:ret main endpcode endsend begin实验三 8259A中断控制器实验1.实验中所用8259A介绍实验四 8253计数器实验

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!