购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第三章
8086/8088 CPU寄存器结构与工作原理

8086微处理器是美国Intel公司在1978年推出的一种16位微处理器。它采用硅栅HMOS工艺制造,在1.45 cm 2 的单个硅片上集成了29 000个晶体管。以它为核心组成的微机系统,其性能已达到当时中、高档小型计算机的水平。8086具有丰富的指令系统,采用多级中断技术、多种寻址方式、多种数据处理形式、分段式存储器结构,硬件乘除法运算电路,并增加了预取指令队列寄存器等,使其性能大为增强。8086微处理器的一个突出的特点是多重处理能力,用8086 CPU与8087协处理器,以及8089 I/O处理器可组成多处理器系统,提高了数据处理能力和输入输出能力。

实验2 调试程序和逻辑分析仪的使用

一、实验目的

1.理解8086/8088的工作原理

2.掌握8086/8088微处理器的寄存器结构

3.掌握程序调试(Debug)的方法

4.熟悉和掌握逻辑分析仪的使用方法

二、实验内容

1.打开实例实验项目工程,学习开发环境使用。

2.运行并调试实例程序,观察各寄存器和内存空间的数据变化,学习调试工具使用。

3.使用逻辑分析仪功能,采集总线数据,分析示例简单程序指令的执行过程。

三、实验步骤

第一步 打开Wave6000 IDE(集成开发环境),并打开实例项目EX1.prj,如图3-1所示。

图3-1 开发环境主界面

第二步 硬件仿真器设置。

点击“仿真器”菜单,打开“仿真器设置”选项界面,设置硬件仿真调试,选择合适的仿真器和通信串口,设置如图3-2,图3-3所示。

图3-2 仿真器设置a

图3-3 仿真器设置b

设置成功后,结果界面如图3-4所示。

图3-4 仿真器设置结果

第三步 单步调试。

打开EX1.asm汇编语言文件,点击“项目”菜单中的“编译”或“全部编译”选项,并下载程序。单击工具栏中的“跟踪”或“单步”按钮,单步执行程序,如图3-5 所示,观察SFR(寄存器)和相应内存地址中数据的变化。当程序运行至图3-5所示所指的位置时,相应的内存地址单元(0x0400)内容改为0。

图3-5 单步调试界面

第四步 使用逻辑分析仪。

点击“仿真器设置”菜单中“跟踪器/逻辑分析仪”选项,选中“逻辑分析仪”选项,如图3-6所示。

图3-6 逻辑分析仪设置

在程序代码“jmp $”处设置断点,点击工具栏复位按钮,系统处于复位状态。

使用连接导线连接实验箱中“逻辑分析仪L0”和“8088 CLK”两个引脚,以使逻辑分析仪采集CPU的时钟引脚。

图3-7 CPUCLK信号采集图示

单击全速运行,则程序在运行过后在断点处停止。点击“逻辑分析仪”按钮,弹出逻辑分析仪采集窗口。

手动调出汇编窗口(Disassembly)。

图3-8 汇编窗口

图3-9 逻辑分析仪窗口a

图3-10 逻辑分析仪窗口b

第五步 逻辑分析仪采集数据分析。

由汇编窗口(图3-8所示)可知,本实验程序的主要核心代码经编译后,以机器语言(8086/8088所能够识别的二进制代码)形式存放于内存地址的0X0500~0X0514单元中,且机器指令长度不一。IP(程序指针寄存器)指明了当前所取指令的内存单元地址。

逻辑分析仪窗口(图3-9、图3-10所示)中各个总线意义:

D:8088处理器“时钟/数据”复用总线

AH:8088处理器高八位地址总线

AL:经过了8286锁存器锁存的8088低八位地址总线

LA0:手动连接的8088CPU的时钟信号

RD:8088读有效

WR:8088写有效

由此可看出:

(1)一个总线周期,指的是8088从外部存储器(即内存)中取得一个字节数据的时间。如图3-9中游标M0、M1标明内容所示,一个总线包含了4个时钟周期,其中,地址、数据、ALE、RD、WR信号分别在特定时段有效,配合完成一个总线周期。

(2)8088遵循了冯·诺依曼的“存储—读取—执行”的程序运行过程。如图3-9所示,从0X0500地址起取得指令码“0XB84000”,共三个字节。

(3)一个指令周期包含了指令的读周期和指令的执行周期。由图3-8可知,mov[bx]byte ptr 0的机器码为“C60700”,存储地址为0X0508开始的三个内存单元,该指令的意义为“向内存单元写入一个字节,写入数据为0,写入地址为:以DS为段基地址,以BX为段内偏移地址”。由图3-10可以看出,8088CPU首先使用了三个总线周期读取了该指令的机器码,但并没有立即执行。在光标M1处,出现了向地址0X0400写入数据0的写总线时序操作。由此可以知道,8088在内部使用了指令流水线,读取的指令首先存入指令流水线,等待前序指令执行完成后,开始执行本指令。

Ex1.asm源程序清单:

四、思考题

1.调试的概念和作用是什么。

2.结合实验,分析ALE信号发生的时刻和作用。

3.结合任意实际程序,分析8088CPU在最小模式工作时的总线周期、指令周期,并结合逻辑分析仪图示,分析读指令、写指令、乘法指令等的执行过程。

4.当8088工作在最小模式,系统总线形成需要哪些控制信号,作用分别是什么?结合实验图示进行说明。 qeUBRP0ORRgaeA9kaEtYc9iGKNVbs8HFBRZeJMeReBuywH0wHMo9tm+L1Q0ccMKe

点击中间区域
呼出菜单
上一章
目录
下一章
×