- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Emu8086在微机原理与接口技术中的应用
Emu8086在微机原理与接口技术中的应用
摘要:微机原理与接口技术是电子系专业必修的一门专业基础课,是学习后续课程、毕业设计和今后工作的重要技术基础由于该门课程对实践动手能力要求高,涉及的信息量大、知识点多、教学内容较抽象,对微机原理学习中存在的问题,用EMU8086仿真软件,介绍EMU8086的用法和一些指令常识,并通过两个实例说明了该软件在汇编程序设计和接口技术方面的应用。
关键词:微机原理;EMU8086;应用8086的工作界面为纯WINDOWS,界面友好,由菜单栏、快捷按钮栏和用户工作区构成,它能模拟真实微处理器工作的每一步骤,通过单步调试显示指令执行后CPU内部寄存器、存储器、堆栈、变量和标志寄存器的当前值,操作简单直观,通过学习它可以很快掌握汇编程序设计和接口技术等知识。这个模拟器是在一台"虚拟"的电脑上运行程序的,它拥有自己独立的“硬件”,这样你程序就同诸如硬盘与内存这样的实际硬件完全隔离开,动态调试(DEBUG)时非常方便.8086的机器代码同INTEL下一代微处理器完全兼容,包括Pentium II 和 Pentium 4,这意味着8086代码具有很广泛的应用范围,它在老式的和必威体育精装版的计算机系统上都能工作808指令的另外一个优点是它的指令集非常小,这样学起来会容易得Emu8086同主流汇编程序相比,语法简单得多,能生成在任何能兼容8086机器语言的代码。1.在开始菜单选在它的图标,或者直接运行Emu8086.EXE
2.在FILE菜单中选择SAMPLE
3.点击Compile and Emulate按纽(或者按快捷键F5)
4.点击Single Step按纽(或者按快捷键F8),可以查看代码如何运行.寄存器8086CPU有8个通用寄存器,每一个寄存器都有自己的名称: AX 累加寄存器BX 基址寄存器CX 计数寄存器DX 数据寄存器 SI 源变址寄存器DI 目的变址寄存器BP 基址指针寄存器SP 堆栈寄存器编程中,通用寄存器的具体用途两个寄存器生成的地址被称为有效地址 默认下,BX, SI 及 DI 与 DS协同工作,BP SP 与 SS 寄存器协同工作。其余的通用寄存器不能形成有效地址同样,尽管BX可以形成有效地址,但是BH BL不能IP 始终同CS 协同工作,指出当前执行的指令。 寄存器的主要目的是保存数值(变量)。4个通用寄存器(AX, BX, CX, DX) 在使用时分为两个8位寄存器。当修改其中任意8位值,整个16位寄存器的值同样改变。同样对于其他的3个寄存器,“H”表示高8位,“L”表示低8位。寄存器在CPU内部,访问中它们速度远远超过内存。因为,访问内存需要经过系统总线,所以时间要长一些。而访问寄存器中的数据几乎不需要时间。于是,编程中,应当尽量在寄存器中保存数据。虽然寄存器很小,并且这些寄存器都有具体用途,但他们依然是存放计算中临时数据的好地方。寻址方式可以通过BX, SI, DI, BP四个寄存器来寻址通过计算[]符号中的值,我们可以访问到不同内存单元的值。偏移量可以是一个立即数或者是一个变量的偏移,或者二者兼备。偏移量可以在[]符号里面或者外面。偏移量是一个有符号数,可以是正数或者负数。默认下,DS 寄存器应用在除了BP寄存器之外的所有物理地址计算中,寄存器是和SS寄存器一起工作的。 调用中断中断是一系列功能调用F 位的控制,当 IF 为 0时禁止中断,为 1 时打开中断。Emu8086 实现硬件中断的机理是,它将 256 个中断(0~255 号)的中断请求标志存放于一个 256 字节的二进制文件 Emu8086.hw,一个中断号对应的请求标志,此标志占用一个字节,该字节为 0 表示该中断无请求,为非零时表示该中断有请求。在中断打开的情况下,系统不断扫描保存Emu8086.hw 中的请求标志,当某个中断号对应的标志字节为非零时,系统自动到中断向量表(内存 0000~003FH)查找该中断的中断向量,转向该中断服务程序执行,并且将 Emu8086.hw 中的对应标志字节清零。CLI 指令用来关闭中断,STI 用来打开中断,无论在整个程序还是硬件中断程序执行过程中,硬件中断都可设置为打开或关闭状态。例如,主程序初始化代码用 STI 打开中断,主程序在执行过程中,如果某虚拟外设将 Emu8086.hw 中第2 个字节触发为 01H,这时第 02H 号中断就被触发,假设 02 号中断向量为 1200H:0100H,则 CPU 保护好主程序的现场,转向 1200H:0100H 处执行中断服务程序,之后恢复现场,返回主程序。
控制一个软件中断,则需要使用INT指令。例如INT 25H,是用来实现对磁盘指定扇区进行读操作。在调用一个中断的子功能之前,需要设置AH寄存器。每一个中断最多可以拥有256个子功
文档评论(0)