80868088CPU的内部结构由于汇编语言是建立在机器指令基础之

合集下载

微机原理第二章课件-8086_8088微处理器的内部结构分解

微机原理第二章课件-8086_8088微处理器的内部结构分解

(3) 6字节的指令队列:总线接口部件从内 存中取来的指令放在一个缓冲区中,这个 缓冲区叫指令队列。执行部件在执行指令 过程中从指令队列取来指令执行。 (4) 输入/输出控制电路:该控制电路将 8086CPU的片内总线与系统总线相连,是 8086CPU与外部交换数据的必经之路。
2、执行部件EU(Execution Unit)
第二节 CPU的外部结构
8086/8088CPU芯片都是40条引脚的双列 直插式封装。部分引脚采用了分时复用方 式,即同一条引脚在不同的时刻具有不同 的用途。如图2.3所示。 8086/8088CPU可有两种工作模式,即最 大模式和最小模式。不同模式下个别引脚 的功能是不同的。
GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND
(4) 标志寄存器FR
FR主要用来标志运算结果的状态,以及控制CPU的 操作。各标志位定义如图2. 2所示(共有9个标志):
下图是80x86微处理器的标志寄存器,从 图中可知,他们是向下兼容的。
标志位共有9个,6个是状态标志,用来表示运算结果的 特征,包括CF、PF、AF、ZF、SF和OF;3个是控制标志, 用来控制CPU的操作,包括IF、DF和TF。 ① 状态标志: CF:进位标志,表示本次运算中最高位(第7位或第15 位)有进位或有借位。 PF:奇偶标志。 PF=1表示本次运算中低8位有偶数个 “1”; PF=0表示有奇数个“1”。 AF:辅助进位标志。 AF=1表示本次运算第3位向第4位有 进位或有借位。在十进制运算中作为是否进行十进制调整 的依据。 ZF:零标志。ZF=1表示本次运算结果为零,否则ZF=0 SF:符号标志。 SF=0为正数; SF=1为负数。 OF:溢出标志。 OF=1表示本次运算结果产生溢出,否则 OF=0。所谓溢出就是指运算结果超出了相应类型数据所能

第2章 Intel 8086与8088微机系统结构PPT课件

第2章 Intel 8086与8088微机系统结构PPT课件

地 AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK

1
40
2
39
3
38
4
37
5
36
6
35
7
34
8
33
9 8086 32
10
31
11
30
12
29
13
28
14
27
15
26
16
25
17
24
18
23
19
• 最小模式和最大模式的概念
– 最小模式:系统中只有一个8086/8088微处理器,所有的总线控制信号由它产 生
– 最大模式:系统中有多个微处理器,其中一个主处理器为8086/8088,其它的 称为协处理器。
• 8087数值运算协处理器:高精度的整数和浮点运算,超越函数的计算 • 8089输入/输出协处理器:两个DMA通道的管理
低接收高发送5mio存储器输入输出控制信号输出6wr写信号输出7hold总线请求信号输入8hlda总线响应信号输出8088cpu的第34引脚称ss0它和miodtr组合决定当前总线周期的操作8088的ss0miodtr组合miodtrss0操作000取指令001读内存010写内存011无源状态100发中断响应信号101读io端口110写io端口111暂停8086最小模式的典型配置8284连接见后8284aresetreadyclkreadyalebhestbbhereseta19a16ad15ad08282锁存器三片地址总线8286收发器二片数据总线denoedtrtmiowrrdhlodhldaintr控制总线mnmx5vinta8086的引脚信号在最大模式时的含义1qs1qs0指令队列状态信号输出00无操作01从指令队列中的第一个字节取走代码10队列为空11除第一个字节外还取走了后续字节中的代码2s2s1s0总线周期状态输出信号000发中断响应信号001读io端口010写io端口011暂停100取指令101读内存110写内存111无源状态3lock总线封锁信号输出系统中其它设备不能占用总线4rq1gt1rq0gt0总线请求输入总线请求允许输出8086最大模式的典型配置8284aresetreadyclkreadybhea19a168282锁存器bhereset地址总线a19a16ad15ad0三片8286收发器stb代替协调总线二片数据总线oetmiowrrddtrale共享控制s0s1s28288总线控制器inta控制总线中断rqgt0intr8259a中断控制器请求mnmxgndrqgt18086操作和时序?系统复位和启动操作当reset信号变高维持标志寄存器

第二章 80868088(16位)微处理器

第二章 80868088(16位)微处理器
8086CPU有16根数据线
低8位数据线总是和偶地址的存储器/IO端口相连接
这些存储器/IO端口称为偶体
高8位的数据线则与奇地址的存储器/IO端口相连接
这些存储器/IO端口称为奇体
用作奇体的选体信号
它与最低位地址码A0配合表示当前总线使用情况
见下表
AD0 总线使用情况 0 0 16位数据总线上进行字传送 0 1 高8位数据总线上进行字节传送 1 0 低8位数据总线上进行字节传送 1 1 无效 S4 S3 段寄存器 0 0 ES 0 1 SS 1 0 CS 1 1 DS
则在空闲周期中
总线低16位处于高阻状态
第三节 8086/8088CPU的引脚信号和工作模式
8086/8088CPU是十六位的微处理器
它向外的信号至少应包含16条数据线
20条地址线
再加上其他一些必要的控制信号
为了减少芯片引脚数量
对部分引脚采用了分时复用的方式
构成40条引脚的双列直插式封装
1个标志寄存器: FR;分成两类:状态标志、控制标志
FR的格式:
二、总线接口部件BIU
?功能:负责与存储器、I/O端口传送数据
?BIU的组成:
?4个段地址寄存器(16位):CS、DS、ES、SS
?16位指令指针寄存器IP
?20位地址加法器
?6字节的指令队列
?一条指令20地址的形成:由代码段CS左移4位后与指令指针寄存器IP内容相加得到
与8086/8088兼容
第四代微处理器 1985年
推出的80386及M68020是32位微处理器
1989年推出80486
1993年推出Pentium及80586等更高性能的32位和64位微处理器

8086汇编语言程序设计第2章+80x86计算机组织结构

8086汇编语言程序设计第2章+80x86计算机组织结构
South china normal university
c.控制总线CB 控制总线CB
控制总线是传送控制信息 控制总线是传送控制信息的。 控制信息的 CPU与内存 与内存、 CPU与内存、外设备之间的数据传送操 作为读写操作 读写操作。 作为读写操作。 读写信息就是控制信息 控制信息, 读写信息就是 控制信息 , 是通过控制 总线传送的。 总线传送的。 不同型号的CPU总线位数不同, CPU总线位数不同 不同型号的CPU总线位数不同,相应的 字长与寻址空间也不同 也不同。 字长与寻址空间也不同。
South china normal university
2.指针寄存器(SP、BP、IP) 指针寄存器(SP、BP、IP)
SP:堆栈指针寄存器, SP:堆栈指针寄存器,存放当前堆栈段栈 顶的偏移地址, ES与 SS堆栈寄存器配合 顶的偏移地址 , ES 与 SS 堆栈寄存器配合 存取堆栈中的数据。 在实模式方式(SP) (SP), 存取堆栈中的数据 。 在实模式方式 (SP) , 保护模式(ESP) (ESP)。 保护模式(ESP)。 BP: 基址指针寄存器,在间接寻址时, BP:为基址指针寄存器,在间接寻址时, 用来存放基地址, 用来存放基地址 , 是相对于堆栈段的基 地址。 地址。 IP: 指令指针寄存器, IP:为指令指针寄存器,是存放当前正在 执行的指令的下一条指令的偏移地址 下一条指令的偏移地址, 执行的指令的 下一条指令的偏移地址 , 该寄存器所指的地址为代码段的偏移地 址。
三总线的主要任务是负责CPU 三总线的主要任务是负责 CPU 与 CPU与 内存、外存、外部设备交换信息。 内存、外存、外部设备交换信息。
South china normal university
a. 数据总线DB 数据总线DB 数据总线是用来传送数据 传送数据的 数据总线是用来传送数据的。 CPU与内存 I/O设备之间通过 与内存、 CPU 与内存 、 I/O 设备之间通过 数据总线传送数据, 80x86系列 数据总线传送数据 , 80x86 系列 的数据总线有8 16位 32位 的数据总线有 8 位 、 16 位 、 32 位 64位 和64位。

第八章80868088 CPU

第八章80868088  CPU

奇地址 偶地址
(4)系统时钟输入CLK,8086的时钟要由8284时钟发生器 提供。CLK是供给CPU的基准定时脉冲信号。 (5)等待状态控制线READY,READY=1表示传送到CPU 的数据准备好,CPU可以操作,若READY=0,则CPU应 该等待,插入一个或多个等待周期TW,用来协调CPU和 存储器工作速度的不一致; (6)等待测试输入TEST,在使用WAIT指令时,每5个时钟 测一次TEST,若为1继续等待,若为0,结束等待,执行 下一条指令。 (7)RD(READ),WR(WRITE) (8)INTR(Interupt Qequest)可屏蔽中断请求信号 (9)NMI(Non Maskable Interupt Request)不可屏蔽中断请 求信号,是一种比INTR高级的中断请求 (10)INTA:中断响应信号
8086 总线
状态标志寄存器
执行单元(EU)
EU 控制单元
1
2
3
4
5
6
(队列)Q总线
(8位)

总线接口单元(BLU)
第八章
8086/8088
CPU
本章重点: 掌握8086/8088 CPU结构
了解其它处理器功能结构
复习:
1、
8086/8088从功能分哪几部分
2、 多少条数据线和地址线,寻址空 间多大?
对最大工作模式下的几个引脚说明: 1)S2~S0(BUS CYCLES STATUS):总线周期状态信号 这三个信号在总线周期的T1,T2,T4状态期间送有效输出到 8288,不同组合表示CPU在当前进行的操作类型.见书上表8-4 表中的无源状态是指前一个总线周期结束,后一个总线周期 尚未开始状态(无效状态).
2)LOCK:总线锁存信号,使其它总路线主控设备不能占用总线, 这个信号由软件设定.

第二章 80868088的结构

第二章  80868088的结构
程序员不能对IP进行存取操作,程序中的转移指令、返回指令及中断处理能对IP进行操作。
3.标志寄存器FLAGS(Flag Register)
标志寄存器FLAGS,用来存放CPU算术和逻辑运算的结果特征状态和设置指令操作控制位。FLAGS是一个16位的寄存器,但8086/8088只用了其中的9位,其中包括6个状态标志位和3个控制标志位。如图2-4所示。简述如下:
金陵科技学院教案【封面】
任课系部:
课程名称
课程编号
授课对象专业
课程类别
必修课
公共基础课□;学科基础课□;专业核心课□
选修课
专业方向课□;专业拓展课□;公选课□
总学时数
学分数
学时分配
课堂讲授学时;实践课学时
教材名称
作者
出版社及出版时间
指定参考书
作者
出版社及出版时间
授课教师
职称
单位
金陵科技学院教案【教学单元首页】
2.1 8086/8088 CPU内部结构
一、8086/8088的内部结构框图
8086微处理器与8088微处理器内部结构基本相同,内部均由算术逻辑器(ALU)、通用寄存器、段寄存器、专用寄存器、控制器、总线控制逻辑、指令队列及地址加法器等单元组成。从功能上可分执行部件(EU)和总线接口部件(BIU)两大部分:
TF—陷阱标志/跟踪标志位(Trap Flag),若设置TF=1,CPU进入单步执行指令工作方式。这种方式便于对程序进行调试和跟踪。即每执行完一条指令后,便自动产生一次单步中断,从而使程序员能逐条指令地检查和跟踪程序;TF=0时,CPU为基本工作方式。
上述3个控制标志位用来控制微处理器的某些操作,可以由指令来设置。
OF—溢出标志位(Overflow Flag),若运算结果超过带符号数表示范围时OF=1,否则OF=0。8位带符号数范围为-128~+127,16位带符号数范围为-32768~+32767。

第2章8086、8088CPU体系结构


Intel 8282
具有三态输出的 TTL电平锁存器 STB 电平锁存引脚 OE* 输出允许引脚
每一位都是一个三态锁存器, 8个三态锁存器的控制端连在一起
74LS373
具有三态输出的 TTL电平锁存器 LE 电平锁存引脚 OE* 输出允许引脚
74LS373与Intel 8282功能一样
以Intel8086/8088、Z8000和MC68000 为代表的16位微处理器是第3代产品,以它们 为核心部件组成的微机系统,其性能已达到中、 高档小型计算机的水平。20多年来,Intel系 列CPU一直占着主导地位。尽管8086/8088后 续的80286、80386、80486以及Pentium系列 CPU结构与功能已经发生很大变化,但从基本 概念与结构以及指令格式上来讲,它们仍然是 经典的8086/8088CPU的延续与提升。并且, 其他系列流行的CPU(如AMD公司的6X86MX/MⅡ 等)也与80x86CPU兼容。
补充:三态门和D触发器
• 三态门和以D触发器形成的锁存器是微机 接口电路中最常使用的两类逻辑电路 • 三态门:功率放大、导通开关 • 器件共用总线时,一般使用三态电路:
– 需要使用总线的时候打开三态门; – 不使用的时候关闭三态门,使之处于高阻
• D触发器:信号保持,也可用作导通开关
三态
锁存
三态缓冲器(三态门)
具有单向导通和三态的特性
A T
A T F A T
F
T为低平时: 输出为高阻抗(三态) T为高电平时: 输出为输入的反相
F
A
T
F
表示反相或低电平有效
74LS244
双4位单向缓冲器 • 分成4位的两组 • 每组的控制端连 接在一起 • 控制端低电平有 效 • 输出与入同相

【精品】汇编语言程序设计第四版第1章课后答案

汇编语言程序设计第四版【课后习题答案】--囮裑為檤第1章汇编语言基础知识〔习题1.1〕简述计算机系统的硬件组成及各部分作用。

〔解答〕CPU:包括运算器、控制器和寄存器组。

运算器执行所有的算术和逻辑运算;控制器负责把指指令逐条从存储器中取出,经译码分析后向机器发出各种控制命令,并正确完成程序所要求的功能;寄存器组为处理单元提供所需要的数据。

存储器:是计算机的记忆部件,它用来存放程序以及程序中所涉及的数据。

外部设备:实现人机交换和机间的通信。

〔习题1.2〕明确下列概念或符号:主存和辅存,RAM和ROM,存储器地址和I/O 端口,KB、MB、GB和TB。

〔解答〕主存又称内存是主存储器的简称,主存储器存放当前正在执行的程序和使用的数据,CPU可以直接存取,它由半导体存储器芯片构成其成本高、容量小、但速度快。

辅存是辅助存储器的简称,辅存可用来长期保存大量程序和数据,CPU需要通过I/O接口访问,它由磁盘或光盘构成,其成本低、容量大,但速度慢。

RAM是随机存取存储器的英语简写,由于CPU可以从RAM读信息,也可以向RAM 写入信息,所以RAM也被称为读写存储器,RAM型半导体存储器可以按地址随机读写,但这类存储器在断电后不能保存信息;而ROM中的信息只能被读出,不能被修改,ROM型半导体通常只能被读出,但这类存储器断电后能保存信息。

存储器由大量存储单元组成。

为了区别每个单元,我们将它们编号,于是,每个存储单元就有了一个存储地址,I/O接口是由一组寄存器组成,为了区别它们,各个寄存器进行了编号,形成I/O地址,通常称做I/O端口。

KB是千字节、MB是兆字节、GB是吉字节和TB是太字节,它们都是表示存储器存储单元的单位。

〔习题1.3〕什么是汇编语言源程序、汇编程序、目标程序?〔解答〕用汇编语言书写的程序就称为汇编语言源程序;完成汇编工作的程序就是汇编程序;由汇编程序编译通过的程序就是目标程序。

〔习题1.4〕汇编语言与高级语言相比有什么优缺点?〔解答〕汇编语言与高级语言相比的优点:由于汇编语言本质就是机器语言,它可以直接地、有效地控制计算机硬件,因而容易产生运行速度快,指令序列短小的高效目标程序,可以直接控制计算机硬件部件,可以编写在“时间”和“空间”两方面最有效的程序。

微机原理第二章课件-80868088微处理器的内部结构


算术逻辑单元(ALU)
执行位移、循环等位操作。
执行与、或、非等逻辑运 算。
执行加、减、乘、除等算 术运算。
逻辑运算 算术运算
位操作
标志寄存器
状态标志
记录运算结果的状态,如进位标志、 溢出标志和零标志等。
控制标志
用于控制处理器行为,如中断允许标 志和方向标志等。
03 8086/8088微处理器的 输入/输出结构
02 8086/8088微处理器的 内部结构
寄存器结构
通用寄存器
状态寄存器
用于存储操作数和中间结果,包括数 据寄存器、地址寄存器和段寄存器等。
用于存储处理器状态信息,如溢出标 志、奇偶校验标志和中断允许标志等。
控制寄存器
用于存储程序计数器、标志寄存器、 中断屏蔽寄存器和调试寄存器等。
存储器管理单元(MMU)
工作原理
指令解码器通常包含一系列的解码器逻辑门,每个逻辑门对应于一种可能的机器码。当解码器读取到一条指令时,它 会激活相应的逻辑门,从而生成一组控制信号。这些控制信号随后被发送到微处理器的其他部分,以执行相应的操作 。
重要性
指令解码器是微处理器中至关重要的部分,因为它决定了微处理器如何执行程序中的指令。不同的指令 解码器设计可以实现不同的指令集,从而影响微处理器的性能和功能。
输入/输出端口
输入/输出端口
8086/8088微处理器拥有多个输 入/输出端口,这些端口可以与 外部设备进行数据交换。每个端 口都由一个16位的地址唯一标识, 通过端口地址可以寻址到具体的
端口进行读写操作。
数据总线
在输入/输出端口中,数据总线 是一个双向的8位数据通道,用 于在微处理器和外部设备之间传 输数据。数据总线可以同时进行

[信息与通信]第2章 微处理器及其体系结构


说明:对8086/8088来说,EU完全一样
EU的组成
执行单元中包含一个16位的运算器ALU、八个16位 的寄存器、一个16位标志寄存器FLAGS、一个数据 暂存寄存器和执行单元的控制电路,也就是说它已 经包含了微处理机的三个基本部件。
这个单元进行所有指令的解释和执行,同时管理上 述有关的寄存器。
②地址指针寄存器和变址寄存器
SP、BP、SI、DI,都是16位寄存器,可以存放 数据,通常用来存放逻辑地址的偏移量,是形成20 位物理地址的其中一部分,在任何情况下都不能形 成访问内存的地址码。
②地址指针寄存器和变址寄存器
SP—堆栈指针,是存放堆栈栈顶的偏移地址。 BP—基址指针,用于存放位于堆栈段中的一个 数据区基址的偏移地址。是对堆栈区里的存储单元 寻址的。 SI—源变址寄存器,存放源操作数地址的偏移 地址; DI—目的变址寄存器,存放目的操作数地址的 偏移地址;
总线接口部件(Bus Interface Unit—BIU)
由于BIU和EU是各自独立工作的,在EU执行指令 的同时,BIU可预取下面一条或几条指令。因此,在 一般情况下,CPU执行完一条指令后,就可立即执行 存放在指令队列中的下一条指令,而不需要像以往的 8 位CPU那样,采取先取指令,后执行指令的串行操作 方式。
总线接口部件(Bus Interface Unit—BIU)
③ 每当EU执行一条转移、调用或返回指令后,则要 清除指令队列缓冲器,并要求BIU从新的地址开始取 指令,新取的第一条指令将直接经指令队列缓冲器送 到EU去执行,并在新地址基础上再作预取指令操作, 实现程序段的转移。 当指令队列已填满指令,而又没有访问存储器或I/O 端口的命令,BIU进入空闲状态。
取指令和执行指令示意图(1)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一般CPU由如下三个部分组成: 一般CPU由如下三个部分组成: (1) 控制器:计算机系统中控制所有功能部件 (包括控制器本身)协同工作,自动执行计算 机程序的功能部件,它通过对机器指令进行译 码得到所需的控制信号,并根据时钟信号使各 种控制信号在适当的时刻产生,从而产生一系 列时序过程来完成指令所要求的操作。
(c) 数据寄存器:包括AX、BX、CX、 数据寄存器:包括AX、BX、CX、 DX这样4 16位的寄存器. DX这样4个16位的寄存器. 在逻辑上一个16位的数据寄存器可以看成是3 在逻辑上一个16位的数据寄存器可以看成是3 个寄存器.例如AX,可以把它作为一个16位 个寄存器.例如AX,可以把它作为一个16位 的数据寄存器来使用,也可以把它的高低8 的数据寄存器来使用,也可以把它的高低8位 分开,高8位为AH寄存器,低8位为AL寄存 分开,高8位为AH寄存器,低8位为AL寄存 器.
2)奇偶标志位PF( 2)奇偶标志位PF(Parity Flag):如果 Flag):如果 CPU所执行的指令要影响PF标志,并且该指 CPU所执行的指令要影响PF标志,并且该指 令得到的数据结果低8位中含有偶数个“1”时, 令得到的数据结果低8位中含有偶数个“1”时, PF=1;含有奇数个“1”,PF=0。 PF=1;含有奇数个“1”,PF=0。 注意无论指令的操作数有多么长,只有低8 注意无论指令的操作数有多么长,只有低8位 数据中1的个数能够影响到PF标志的取值。 数据中1的个数能够影响到PF标志的取值。 PF标志位位于FR的第2 PF标志位位于FR的第2位。
段:内存中一段连续的空间,在程序中具有特 定的用途。
每个程序都可能会使用这样四个段,其中代码 段是必须的,实用的程序通常至少包含代码段、 堆栈段、数据段。
代码段用于存放程序的机器指令序列;
堆栈段用于存放程序使用堆栈指令所保存的数 据,自动保存的断点等信息;
数据段存放程序直接使用的数据;
附加段中的内容不确定,可以由程序开发人员 根据实际需要自己决定。
在使用上要注意逻辑上不同的寄存器可能在物 理上是相互覆盖的。 这里的寄存器BX在上面提到过,它既可以用 这里的寄存器BX在上面提到过,它既可以用 作数据寄存器,也可以用作地址指针寄存器。
(d)标志寄存器:8086CPU提供一个16位 )标志寄存器:8086CPU提供一个16位 的标志寄存器FR,对这个寄存器的使用在指 的标志寄存器FR,对这个寄存器的使用在指 令中往往是隐含的。 值得注意的是,FR是按位操作的,每一个二 值得注意的是,FR是按位操作的,每一个二 进制位都有自己特定的含义,具体每一位的 含义可以参见教材P23的图2 含义可以参见教材P23的图2-8及其说明。
(2) 运算器:计算机系统中加工、处理数据的 功能部件,其功能包括算术运算和逻辑运算。 (3) 寄存器:CPU内部一般提供一组零散的存 寄存器:CPU内部一般提供一组零散的存 储单元,每一个存储单元都能存储二进制数据, 并且都有自己独特的功能和相应的名称,这一 组CPU内部的存储单元通常称为寄存器。 CPU内部的存储单元通常称为寄存器。
3)辅助进位标志位AF( 3)辅助进位标志位AF(Auxiliary Carry Flag): Flag): 在CPU执行算术运算指令时,如果该指令要影响AF CPU执行算术运算指令时,如果该指令要影响AF 标志,并且用户把操作数看作无符号数,AF标志才 标志,并且用户把操作数看作无符号数,AF标志才 有意义。 如果低字节中的低4位向高4 如果低字节中的低4位向高4位产生进位或借位时 (也就是第3位向第4位产生进位或借位),AF被置 (也就是第3位向第4位产生进位或借位),AF被置 为1;如果低4位没有向高4位产生进位或借位,AF ;如果低4位没有向高4位产生进位或借位,AF 被置为0 被置为0。 AF标志,又称半进位标志,位于FR的第4 AF标志,又称半进位标志,位于FR的第4位。 判别标准:和CF一样,使用无符号数的加减运算来 判别标准:和CF一样,使用无符号数的加减运算来 作判断,只是判断进位和借位的位置不在操作数的 最高位,而是在低字节的第3 最高位,而是在低字节的第3位。
00110000 + 00001101 0 00111101
这次字节的加法运算后,最高位没有向更高一 位产生进位,CF应该等于0 位产生进位,CF应该等于0。
01010101 - 00111110 0 00010111
这次字节的减法运算后,最后位没有向更高一 位产生借位,CF应该等于0 位产生借位,CF应该等于0。
BX称为基址寄存器 BX称为基址寄存器,可以用于存放偏移量或 基址寄存器,可以用于存放偏移量或 者是偏移量的一部分(后面介绍指令寻址方 式时会详细分析),通常和DS、ES这两个段 式时会详细分析),通常和DS、ES这两个段 寄存器配合使用,用于定位数据段或附加段 中的内存单元;
SI称为源变址寄存器 SI称为源变址寄存器,用于存放偏移量或者是 源变址寄存器,用于存放偏移量或者是 偏移量的一部分,通常和DS、ES这两个段寄 偏移量的一部分,通常和DS、ES这两个段寄 存器配合使用,用于定位数据段或附加段中 的内存单元。 在串操作指令中,SI用于指明源串偏移量,所 在串操作指令中,SI用于指明源串偏移量,所 以被称为源变址寄存器。
BP称为基址指针寄存器 BP称为基址指针寄存器,用于存放偏移量, 基址指针寄存器,用于存放偏移量, 通常和SS段寄存器配合使用,用于定位堆栈 通常和SS段寄存器配合使用,用于定位堆栈 段中的内存单元。 SP称为堆栈指针 SP称为堆栈指针,用于存放偏移量,只能和 堆栈指针,用于存放偏移量,只能和 SS段寄存器配合使用,且始终指向堆栈的栈 SS段寄存器配合使用,且始终指向堆栈的栈 顶,在堆栈指令中隐含的使用它来定位栈顶 数据。
DI称为目的变址寄存器 DI称为目的变址寄存器,用于存放偏移量或者 目的变址寄存器,用于存放偏移量或者 是偏移量的一部分,通常和DS、ES这两个段 是偏移量的一部分,通常和DS、ES这两个段 寄存器配合使用,用于定位数据段或附加段中 的内存单元。 在串操作指令中,DI用于指明目的串偏移量, 在串操作指令中,DI用于指明目的串偏移量, 所以被称为目的变址寄存器。
4)零值标志位ZF(Zero Flag):如果CPU )零值标志位ZF( Flag):如果CPU 执行的指令要影响ZF标志,并且保证ZF标志 执行的指令要影响ZF标志,并且保证ZF标志 是有意义的,那么当指令得到的结果数据各位 全为“0”时,则ZF置“1”,否则ZF置“0”。 全为“0”时,则ZF置“1”,否则ZF置“0”。 ZF标志位位于FR的第6 ZF标志位位于FR的第6位。 实用价值:ZF标志的使用主要是进行比较, 实用价值:ZF标志的使用主要是进行比较, 并根据比较的结果来进行程序的分支或循环。 例如,对两个整数进行比较,即对两个整数进 行相减的操作,如果两个数是相等的,那么结 果为0 ZF=1;如果不等,那么结果非0 果为0,ZF=1;如果不等,那么结果非0, ZF=0。 ZF=0。
(b)地址指针寄存器:包括BX、SI、DI、 )地址指针寄存器:包括BX、SI、DI、 BP、SP、IP五个16位寄存器,用于存放逻 BP、SP、IP五个16位寄存器,用于存放逻 辑地址的偏移量或者偏移量的一部分(分 量).
其作用在寻址时类似于游标,通过相对于段 基址的相对字节距离来定位具体的字节或字 单元。
它标志着上次算术运算最高位(对字操作是 第15位,字节是第7位)是否产生进位(加法 15位,字节是第7 指令)或者借位(减法指令)。 如果有进位或借位产生,那么CF=1;如果没 如果有进位或借位产生,那么CF=1;如果没 有,那么CF=0。CF标志位位于FR的第0 有,那么CF=0。CF标志位位于FR的第0位。
5)符号标志位SF(Sign Flag):如果CPU )符号标志位SF( Flag):如果CPU 执行的指令要影响SF标志,并且用户把指令 执行的指令要影响SF标志,并且用户把指令 得到的结果数据看作带符号数,那么当结果为 负数时,SF置“1”;当结果为正数时,SF置 负数时,SF置“1”;当结果为正数时,SF置 “0”。 0”。 也就是说,SF标志位的取值和结果数据的最 也就是说,SF标志位的取值和结果数据的最 高位是一致的,因为补码的最高位就是符号位。 SF标志位位于FR的第7 SF标志位位于FR的第7位。
一般在汇编语言程序中的运算指令或者标志位 控制指令会影响特定标志位。
可以通过转移指令来判断标志位的变化,从而 实现程序中的分支结构或者循环结构。标志寄 存器是实现程序中分支、循环结构的重要硬件 存器是实现程序中分支、循环结构的重要硬件 基础。 基础。
1)进位标志位CF( 1)进位标志位CF(Carry Flag):在CPU Flag):在CPU 进行算术运算指令时,如果该指令要影响CF 进行算术运算指令时,如果该号数,那 么该标志位是有效标志。
第二章 IBM PC 微型计算机
2.1 8086/8088CPU的内部结构 8086/8088CPU的内部结构
由于汇编语言是建立在机器指令基础之上的, 是一种描述硬件运作的语言,所以要学习汇 编语言,必须对它对应的硬件结构先作了解。 特别是对于CPU,因为每一种CPU都有自 特别是对于CPU,因为每一种CPU都有自 己的指令系统,必须先对CPU的内部结构和 己的指令系统,必须先对CPU的内部结构和 工作机制作一个概要的理解。
CPU中的寄存器:8086CPU中总共有14个物 CPU中的寄存器:8086CPU中总共有14个物 理寄存器,逻辑上的寄存器有22个,下面就 理寄存器,逻辑上的寄存器有22个,下面就 它们的功能分别来讨论。参见教材P20图 它们的功能分别来讨论。参见教材P20图25. (a) 段寄存器:包括CS(Code 段寄存器:包括CS( Segment)、SS( Segment)、SS(Stack Segment)、DS Segment)、DS (Data Segment)、ES(Extra Segment) Segment)、ES( Segment) 四个16位物理寄存器,用于存放程序所要使 四个16位物理寄存器,用于存放程序所要使 用的4 用的4个存储段的段基值,分别对应于内存中 的四块存储区域,代码段、堆栈段、数据段、 附加段。
相关文档
最新文档