微机原理及应用实验报告册.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

华北水利水电大学

华北水利水电大学

实验报告册

课程微机原理及应用

学院电气工程学院

专业电气工程及其自动化

班级班

学号

姓名

地点信工学院实训中心

指导教师

学年学期2023年学期

实验名称

实验一标志寄存器的应用

成绩

实验类型

实验学时

2

日期

2024.06.12

实验目的

1.掌握汇编源程序的编译过程;

2.掌握8086的标志寄存器的特点。

实验设备

PC一台、汇编集成开发环境(EMU8086等)

实验原理(要求、任务等)

实验任务:

1.调试环境搭建,常用的集成开发环境有“EMU8086”、“MasmforWindows集成实验环境”等;

2.完成汇编源程序的编辑、汇编、连接及运行;

3.通过DEBUG调试工具完成汇编源程序的单步调试;

4.能熟练掌握8086标志寄存器的各种标志位的功能;

5.程序运行前后标志寄存器的各标志位有何变化。

实验原理:

在8086处理器中,标志寄存器是一个非常重要的寄存器,它存储着一些重要的标志位,这些标志位可以反映出程序执行过程中的一些状态。标志寄存器包括溢出标志(OF)、方向标志(DF)、中断允许标志(IF)、符号标志(SF)、零标志(ZF)、半进位标志(AF)、奇偶标志(PF)和进位标志(CF)等。这些标志位控制着处理器的运行和执行过程,影响着程序的执行结果。

在实验中,我们编写了一个简单的汇编程序来演示标志寄存器的应用。在这个程序中,我们有两个数据A和B,然后我们对这两个数据进行减法运算,将结果存储在SUM中,最后将结果输出到屏幕上。在执行减法运算的过程中,涉及到进位、溢出等问题,这些问题会反映在标志寄存器中的对应标志位上。

首先,我们了解一些关于标志寄存器的基本知识。溢出标志(OF)用于指示运算结果是否溢出。方向标志(DF)用于控制字符串操作的方向。中断允许标志(IF)用于允许或禁止中断。符号标志(SF)指示结果的符号。零标志(ZF)用于指示结果是否为零。半进位标志(AF)用于指示低四位的进位。奇偶标志(PF)用于指示结果的奇偶性。进位标志(CF)用于指示进位或借位。

在程序执行的过程中,我们可以通过检查这些标志位的值来判断运算结果的状态。例如,如果溢出标志(OF)位被置位,表示运算结果溢出;如果零标志(ZF)位被置位,表示运算结果为零。通过观察这些标志位的变化,我们可以更准确地了解程序执行过程中的状态变化和处理器的运行状况。

对标志寄存器的应用不仅可以帮助我们更好地理解程序执行的过程,还可以帮助我们编写更高效、稳定的程序。通过合理利用标志寄存器,可以优化程序的执行效率,并且可以更容易地排查程序中的错误。标志寄存器是处理器的重要组成部分,在计算机体系结构中具有非常重要的作用。深入了解标志寄存器的原理和应用,对于理解汇编语言和计算机底层的运行机制具有重要意义。

总之,标志寄存器在8086处理器中发挥着至关重要的作用。通过实验和学习,我们能够更好地理解标志寄存器的作用和应用,进一步提高我们对计算机底层运行机制的了解,为我们编写高效、稳定的程序提供良好的基础。掌握标志寄存器的知识,对于深入学习计算机体系结构和汇编语言都具有重要意义。

实验内容和步骤

1、打开emu8086,创建新的EXE文件。

2、将需要进行实验的程序复制粘贴至emu8086中,修改格式上的错误,而后点击compile确保程序正常运行后将程序命名保存并运行。

点击reload装载后,打开FLAGS标志寄存器,而后进行单步调试,即点击singlestep直至程序运行完毕。

三、实验结果与分析

在单步调试过程中,先给AX赋值,再通过SUB进行减法运算,运算的结果储存在AX中,再转移至SUM中,其步骤以及单步调试过程如图所示。

实验结论

在程序运行后,SUM的值为FEE5(H)。已知A=519,B=802,在emu8086中进行的计算为补码运算,SUB后AX中的为结果的补码,FEE5H=1111111011100101B,因此可得到其二进制原码为0000000100011011B,即十进制的-283,程序运行无误。

运行前后各标志位的变化:

CF由0变为1,表示指令执行结果在最高位上

文档评论(0)

166****3820 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档