微型计算机原理与接口技术实验指导1.doc_第1页
微型计算机原理与接口技术实验指导1.doc_第2页
微型计算机原理与接口技术实验指导1.doc_第3页
微型计算机原理与接口技术实验指导1.doc_第4页
微型计算机原理与接口技术实验指导1.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验一 DEBUG的启动及其基本命令的使用一、实验学时1学时。二、实验目的 掌握DEBUG 的基本命令及其功能。三、实验设备计算机。四、实验内容DEBUG是专门为汇编语言设计的一种调试工具,它通过步进,设置断点等方式为汇编语言程序员提供了非常有效的调试手段。1、DEBUG程序的启动在DOS提示符下,可键入命令:CDEBUGd:path文件名 参数1参数2其中文件名是被调试文件的名称,它须是执行文件(EXE),两个参数是运行被调试文件时所需要的命令参数,在DEBUG程序调入后,出现提示符“-”,此时,可键入所需的DEBUG命令。在启动DEBUG时,如果输入了文件名,则DEBUG程序把指定文件装入内存。用户可以通过DEBUG的命令对指定文件进行修改、显示和执行。如果没有文件名,则是以当前内存的内容工作,或者用命名命令和装入命令把需要的文件装入内存,然后再用DEBUG的命令进行修改、显示和执行。2、DEBUG的主要命令(1)汇编命令A,格式为:-A地址该命令从指定地址开始允许输入汇编语句,把它们汇编成机器代码相继存放在从指定地址开始的存储器中。(2)反汇编命令U,有两种格式:1)-U地址该命令从指定地址开始,反汇编32个字节,若地址省略,则从上一个U命令的最后一条指令的下一个单元开始显示32个字节。2)-U范围该命令对指定范围的内存单元进行反汇编,例如:-U 04BA:0100 0108或 U 04BA:0100 L9此二命令是等效的。(3)运行命令G,格式为:-G =地址1地址2地址3。其中地址1规定了运行起始地址,后面的若干地址均为断点地址。(4)追踪命令T,有两种格式:1)逐条指令追踪:-T=地址该命令从指定地址起执行一条指令后停下来,显示寄存器内容和状态值。2)多条指令追踪:-T=地址值该命令从指定地址起执行n条命令后停下来,n由值确定。(5)显示内存单元内容的命令D,格式为:-D地址或-D范围(6)修改内存单元内容的命令E,它有两种格式:1)用给定的内容代替指定范围的单元内容:-E地址 内容表 例如:-E 2000:0100 F3 “XYZ” 8D其中F3,“X”“Y”“Z”和8D各占一个字节,用这五个字节代替原内存单元2000:0100到0104的内容,“X”“Y”“Z”将分别按它们的ASCII码值代入。2)逐个单元相继地修改:-E地址例如:-E 100:18E4:0100 89.78此命令是将原100号单元的内容89改为78。78是程序员键入的。(7)检查和修改寄存器内容的命令R,它有三种方式:1)显示CPU内部所有寄存器内容和标志位状态;格式为:-RR命令显示中标志位状态的含义如下表所示:标 志 名置 位复 位溢出Overflow(是/否)OVNV方向Direction(减量/增量)DNUP中断Interrupt(允许/屏蔽)EIDI符号Sign(负/正)NGPL零Zero(是/否)ZRNZ辅助进位Auxiliary Carry(是/否)ACNA奇偶Parity(偶/奇)PEPO进位Carry(是/否)CYNC2)显示和修改某个指定寄存器内容,格式为:-R 寄存器名例如打入:-R AX系统将响应如下:AX FIF4:表示AX当前内容为F1F4,此时若不对其作修改,可按ENTER键,否则,打入修改后内容,如:-R BXBX 0369:059F则BX内容由0369改为059F3)显示和修改标志位状态,命令格式为:-RF系统将给出响应,如OV DN EI NG ZR AC PE CY-这时若不作修改可按ENTER键,否则在“-”号之后键入修改值,键入顺序任意。如OV DN EI NG ZR AC PE CY-PONZDINV(8)命名命令N,格式为:-N 文件名此命令将文件名格式化在CS:5CH的文件控制块内,以便使用L或W命令把文件装入内存进行调试或者存盘。(9)装入命令L,它有两种功能:1)把磁盘上指定扇区的内容装入到内存指定地址起始的单元中,格式为:-L 地址 驱动器 扇区号 扇区数2)装入指定文件,格式为:-L 地址此命令装入已在CS:5CH中格式化的文件控制块所指定的文件。在用L命令前,BX和CX中应包含所读文件的字节数。(10)写命令W,有两种格式:1)把数据写入磁盘的指定扇区:-W 地址 驱动器 扇区号 扇区数2)把数据写入指定文件中:-W 地址此命令把指定内存区域中的数据写入由CS:5CH处的FCB所规定的文件中。在用W命令前,BX和CX中应包含要写入文件的字节数。(11)退出DEBUG命令Q,该命令格式为Q它退出DEBUG程序,返回DOS,但该命令本身并不把在内存中的文件存盘,如需存盘,应在执行Q命令前先执行写命令W。五、实验要求:用汇编语言编写一个计算“3+5”的加法程序六、实验报告:1.实验目的掌握DEBUG 的基本命令及其功能2.程序清单DEBUG是专门为汇编语言设计的一种调试工具,它通过步进,设置断点等方式为汇编语言程序员提供了非常有效的调试手段。1、DEBUG程序的启动在DOS提示符下,可键入命令:CDEBUGd:path文件名 参数1参数2其中文件名是被调试文件的名称,它须是执行文件(EXE),两个参数是运行被调试文件时所需要的命令参数,在DEBUG程序调入后,出现提示符“-”,此时,可键入所需的DEBUG命令。在启动DEBUG时,如果输入了文件名,则DEBUG程序把指定文件装入内存。用户可以通过DEBUG的命令对指定文件进行修改、显示和执行。如果没有文件名,则是以当前内存的内容工作,或者用命名命令和装入命令把需要的文件装入内存,然后再用DEBUG的命令进行修改、显示和执行。2、DEBUG的主要命令(1)汇编命令A,格式为:-A地址该命令从指定地址开始允许输入汇编语句,把它们汇编成机器代码相继存放在从指定地址开始的存储器中。(2)反汇编命令U,有两种格式:1)-U地址该命令从指定地址开始,反汇编32个字节,若地址省略,则从上一个U命令的最后一条指令的下一个单元开始显示32个字节。2)-U范围该命令对指定范围的内存单元进行反汇编,例如:-U 04BA:0100 0108或 U 04BA:0100 L9此二命令是等效的。(3)运行命令G,格式为:-G =地址1地址2地址3。其中地址1规定了运行起始地址,后面的若干地址均为断点地址。(4)追踪命令T,有两种格式:1)逐条指令追踪:-T=地址该命令从指定地址起执行一条指令后停下来,显示寄存器内容和状态值。2)多条指令追踪:-T=地址值该命令从指定地址起执行n条命令后停下来,n由值确定。(5)显示内存单元内容的命令D,格式为:-D地址或-D范围(6)修改内存单元内容的命令E,它有两种格式:1)用给定的内容代替指定范围的单元内容:-E地址 内容表 例如:-E 2000:0100 F3 “XYZ” 8D其中F3,“X”“Y”“Z”和8D各占一个字节,用这五个字节代替原内存单元2000:0100到0104的内容,“X”“Y”“Z”将分别按它们的ASCII码值代入。2)逐个单元相继地修改:-E地址例如:-E 100:18E4:0100 89.78此命令是将原100号单元的内容89改为78。78是程序员键入的。(7)检查和修改寄存器内容的命令R,它有三种方式:1)显示CPU内部所有寄存器内容和标志位状态;格式为:-RR命令显示中标志位状态的含义如下表所示:标 志 名置 位复 位溢出Overflow(是/否)OVNV方向Direction(减量/增量)DNUP中断Interrupt(允许/屏蔽)EIDI符号Sign(负/正)NGPL零Zero(是/否)ZRNZ辅助进位Auxiliary Carry(是/否)ACNA奇偶Parity(偶/奇)PEPO进位Carry(是/否)CYNC2)显示和修改某个指定寄存器内容,格式为:-R 寄存器名例如打入:-R AX系统将响应如下:AX FIF4:表示AX当前内容为F1F4,此时若不对其作修改,可按ENTER键,否则,打入修改后内容,如:-R BXBX 0369:059F则BX内容由0369改为059F3)显示和修改标志位状态,命令格式为:-RF系统将给出响应,如OV DN EI NG ZR AC PE CY-这时若不作修改可按ENTER键,否则在“-”号之后键入修改值,键入顺序任意。如OV DN EI NG ZR AC PE CY-PONZDINV(8)命名命令N,格式为:-N 文件名此命令将文件名格式化在CS:5CH的文件控制块内,以便使用L或W命令把文件装入内存进行调试或者存盘。(9)装入命令L,它有两种功能:1)把磁盘上指定扇区的内容装入到内存指定地址起始的单元中,格式为:-L 地址 驱动器 扇区号 扇区数2)装入指定文件,格式为:-L 地址此命令装入已在CS:5CH中格式化的文件控制块所指定的文件。在用L命令前,BX和CX中应包含所读文件的字节数。(10)写命令W,有两种格式:1)把数据写入磁盘的指定扇区:-W 地址 驱动器 扇区号 扇区数2)把数据写入指定文件中:-W 地址此命令把指定内存区域中的数据写入由CS:5CH处的FCB所规定的文件中。在用W命令前,BX和CX中应包含要写入文件的字节数。(11)退出DEBUG命令Q,该命令格式为Q它退出DEBUG程序,返回DOS,但该命令本身并不把在内存中的文件存盘,如需存盘,应在执行Q命令前先执行写命令W。3.试验中出现的问题及解决方法无法启动程序.debugabc.exe,系统找不到指定文件的问题! 解决办法 编译通过了的,问题已经解决,但还是谢谢你!解决方案如下:VS 2005在生成可执行文件时使用了一种新的技术,该技术生成的可执行文件会伴随生成一个清单文件(manifest file)(.manifest后缀文件)(其本质上是XML文档,你可以用文本编辑器打开看看),并在链接完成后将该清单文件嵌入到exe文件中(默认情况下)。而在FAT32文件系统中,在处理清单文件阶段,当增量链接时不能完成清单文件的更新(默认情况下),于是造成清单文件嵌入失败,从而使该exe文件运行时没有相应的清单文件而运行失败并提示如上错误。 解决方案很多,列举如下: 1. 由于这是在链接动态运行库出现的问题,所以你可以选择代码生成的连接方式为/MTd而非/MDd,不用这些DLL文件从而避免问题的出现。该方法有一个很显然的缺点:适用范围有限,不推荐该方法。 2. 既然跟FAT32系统有关,那么我们可以选择在NTFS文件系统中开发从而避免该问题,此方法同上,也是采用的回避问题的方式,不提倡。 3. 该方法仍与FAT32有关:在项目的“属性配置属性清单工具常规”中的“使用FAT32解决办法”选择“是”(默认为“否”),重新生成项目即可解决问题。该方法是唯一真正针对问题所在而提出的解决方法,使清单工具可以正确更新。(此方法是官方解决方法,也比较方便,推荐) 4. 既然问题是在更新嵌入的清单文件时发生的,由于FAT32的原因而未能更新嵌入的清单文件,于是我们有如下两种解决方法: (1)不启用增量链接。在项目的“属性配置属性链接器常规”中的“启用增量链接”选择“否”。此方法阻断了问题产生的源头,其每次生成exe文件时都直接嵌入清单文件,而不是默认的根据时戳而决定是否更新清单文件。 (2)不嵌入清单文件。在项目的“属性配置属性清单工具输入和输出”中的“嵌入清单”选择“否”,从而在生成exe文件时附随生成一个清单文件(默认情况下,其文件名为exe文件的全名加上“.manifest”),避免了嵌入清单文件可能失败的问题。在程序运行时,会用到该清单文件。显然,这种方式使可执行程序产生了更多的外部依赖,不推荐。 另外,还有一个不能称为方法的土办法:每次Build前手动删除*.ilk文件(增量链接文件)(当然可以在项目属性中写入删除命令,使其自动执行),不推荐该土办法。 最后,总结一下: 1. 此问题只在特定条件下才会出现:在FAT32文件系统中编译、默认设置(增量模式、不启用FAT32解决方案、嵌入清单文件)、非第一次生成可执行文件文件(即在增量连接、更新清单文件时)。 2. 解决方案1和4.1方便实用,推荐使用。4.写出在DEBUG状态下编写、运行程序的过程以及调试所中遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。实验二 仿真软件EMU8086的认识实验一、实验学时1学时。二、实验目的 熟悉EMU8086的开发环境,为后续的汇编语言程序设计与调试运行做好准备。三、实验设备计算机。四、实验内容1熟悉EMU8086开发环境的菜单命令以及工具栏按钮的功能。2熟悉汇编程序的编辑、编译、仿真运行及调试的基本过程。五、实验步骤1.进入EMU8086的开发环境,新建一个文件,使用“COM Template”选项。2.在编辑窗口中的 ORG 100h 后键入如下程序: 3.使用Emulate仿真功能编译程序并进入Emulator仿真界面。如果编译过程中报错,请根据提示信息除错,然后重新编译直到通过。4.在仿真界面中使用Single Step单步执行程序,观察程序的运行状况及各寄存器的变化(蓝色高亮显示)。利用ALU和FLAGS按钮可以查看运算过程及各标志位的变化情况。5.程序运行结束后记录AX、BL和CX的值。(重新加载程序请使用RELOAD按钮)。6.更改源程序里AX的初始值为7FF8H,重复步骤35。比较两次结果的不同之处,解释原因。(数值转换查看功能在MATH菜单中)7.对已讲授的各类汇编指令用上面的步骤调试运行,加深对指令功能及要点的掌握。六、实验报告1.实验目的熟悉EMU8086的开发环境,为后续的汇编语言程序设计与调试运行做好准备。三、实验设备计算机2.程序清单.进入EMU8086的开发环境,新建一个文件,使用“COM Template”选项。2.在编辑窗口中的 ORG 100h 后键入如下程序: 3.使用Emulate仿真功能编译程序并进入Emulator仿真界面。如果编译过程中报错,请根据提示信息除错,然后重新编译直到通过。4.在仿真界面中使用Single Step单步执行程序,观察程序的运行状况及各寄存器的变化(蓝色高亮显示)。利用ALU和FLAGS按钮可以查看运算过程及各标志位的变化情况。5.程序运行结束后记录AX、BL和CX的值。(重新加载程序请使用RELOAD按钮)。6.更改源程序里AX的初始值为7FF8H,重复步骤35。比较两次结果的不同之处,解释原因。(数值转换查看功能在MATH菜单中)7.对已讲授的各类汇编指令用上面的步骤调试运行,加深对指令功能及要点的掌握。3.试验中出现的问题及解决方法(1) 熟悉汇编语言开发环境。(2) 掌握Emu8086软件使用方法。(3) 了解汇编语言的程序结构、调试一个简单的程序。(4) 理解寻址方式的意义。4.无符号数和有符号数在汇编程序里如何区分?无符号除法是 div 有符号除法是 idiv实验三 8259A中断控制器实验一、实验学时:2学时。二、实验目的:1. 了解8259A中断控制器的工作原理。2. 了解PC机中断的原理和过程。3. 学会中断处理程序的编写。三、实验设备:EAT598三合一实验箱,或其他微机原理与接口技术类试验箱(台);计算机;各种连接线。四、实验内容1实验电路2. 实验连线+PLUSE接8259的INT_0;8259上的INT接EAT598_88CPU板上的INTR; 8259上的INTA59接EAT598_88CPU板上的88/INTA ;CS8259接200H。3. 实验方法(1)运行LCA88软件后,先加载主程序。打开示例程序8259A_88.ASM,在“设置”-“仿真机”中设置加载地址为8100:0,“编译”-“编译连接”。再打开中断服务程序IRQ0_88.ASM,加载地址设为8200:0,编译连接。(2)“窗口”-“对话窗口”,键入“SW 0:0020”,“0000,8200”,“G8100:0”,“Y”。此时数码管显示“IRQ”,说明中断设置准备完毕,可以开始进入中断(3)按下21模块的白色按键,进入中断,数码管显示“IRQ0”,中断服务程序执行完毕后,数码管显示“E_IRQ”。4.实验程序框图五、实验报告1.实验目的1. 了解8259A中断控制器的工作原理。2. 了解PC机中断的原理和过程。3. 学会中断处理程序的编写。2.程序清单1实验电路3.试验中出现的问题及解决方法1.8259A芯片是一个中断管理芯片,中断的来源除了来自于硬件自身的NMI中断和来自于软件的INT n指令造成的软件中断之外,还有来自于外部硬件设备的中断,这些中断是可屏蔽的。这些中断也都通过PIC(Programmable Interrupt Controller)进行控制 2.一个8259A芯片的可以接最多8个中断源,但由于可以将2个或多个8259A芯片级连(cascade),并且最多可以级连到9个,所以最多可以接64个中断源。如今绝大多数的PC都拥有两个8259A,这样 最多可以接收15个中断源。 通过8259A可以对单个中断源进行屏蔽。4.画出实验模块电路并标出实验连线。PLUSE接8259的INT_0;8259上的INT接EAT598_88CPU板上的INTR; 8259上的INTA59接EAT598_88CPU板上的88/INTA ;CS8259接200H。5.试叙述基于8086/8088的微机系统处理硬件中断的过程。8086响应中断后,接收由中断源提供的类型码并将其乘8,与IDTR寄存器中基地址相加,指出中断描述符的位置,读出中断描述符,依其中的段选择符及条件决定从两个描述符表LDT或GDT中的一个得到段描述符,形成中断服务程序入口所在存储器单元的线性地址.6.8259A中断控制器的功能是什么? 1 一片8259A可以接受8级可屏蔽中断请求,通过9片8259A级联可扩展至64级可屏蔽中断优先级控制;2 对每一级中断都可以通过程序来屏蔽或允许3 在中断响应周期,8259A可为CPU提供响应的中断类型吗;4 具有多种工作方式,并可通过编程加以选择。8259A的工作方式:一、中断嵌套方式1

温馨提示

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

评论

0/150

提交评论