第2章-80x86计算机组织2014

合集下载

IBM-PC汇编语言程序设计第2章80X86计算机组织.

IBM-PC汇编语言程序设计第2章80X86计算机组织.
返回本节
第2章 80X86计算机组织
2.4.2
存储器单元的地址和内容
存储单元地址 :8086系统中,为了标识和存取每一个存储 单元,给每个存储单元规定一个编号,这就是存储单元地 址,地址从0开始编号,顺序地每次加1,用二进制表示, 书写格式为16进制。 16位二进制数可以表示多少个字节单元的地址呢? 存储单元的内容 :一个存储单元中存放的信息称为该存 储单元的内容,以字节为单位存储信息。 字节和字:
第2章 80X86计算机组织
2.3 8086CPU和寄存器组
2.3.1 2.3.2 Intel 8086CPU内部结构
8086寄存器组
2.3.3
标志寄存器
返回本章首页
第2章 80X86计算机组织
2.3.1
Intel
8086CPU内部结构
图1.2 8086CPU内部结构
图1.2 8086CPU内部结构
第2章 80X86计算机组织
2.段寄存器
8086CPU的4个16位的段寄存器分别称为代码段 寄存器 CS,数据段寄存器 DS,堆栈段寄存器 SS, 附加数据段寄存器ES。段寄存器用来确定该段在 内存中的起始地址。 代码段用来存放程序的指令序列。 CS 存放代码 段的段首址,指令指针寄存器IP指示代码段中指 令的偏移地址。
第2章 80X86计算机组织
图 1.4 表明了存储器 中部分 存储单 元存 放信息 情况。 从图 1.4可看到,地址为 34560H 的字节的存 储单元 中的内 容是 3 4 H, 而 地 址 为 34561H 的字节存储 单元中的内容是 12H。
返回本节
第2章 80X86计算机组织
2.3.3
标志寄存器
8086CPU中有一个很重要的16位标志寄存器,它 包含9个标志位,主要用于保存一条指令执行后, CPU所处状态信息及运算结果的特征。 1.条件标志 2.状态控制标志

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位。

汇编语言第2章80x86计算机组织

汇编语言第2章80x86计算机组织

控制标志位
• 控制标志位 :DF 方向标志,用于串处理指令处理
▪ DF位为1时,每次操作后使变址寄存器SI和 DI减量,使串处理从高地址向低地址方向处 理:
▪ 当DF位为0时,则使SI和DI增量,使串处理 从低地址向高地址方向处理:
系统标志位
• IF:中断标志。 当IF=1时,允许中断; IF=0时关闭中断
数据的宽度 • 地址总线宽度:用以确定可访问的存储器的最
大范围
地址总线宽度
• 10位:210=1024单元,1K • 20位:220=1024* 210单元=1024K,1M • 24位:224=16*1M,16M • 30位:230=1024M,1G • 32位:232=4G,即4GB
二、一些名词术语(2)
• TF:陷井标志(跟踪标志)。用于单步方式操作 • IOPL:I/O特权级。控制对I/O地址空间访问
段寄存器
• 8086/8088、80286:四个段寄存器 ▪ 代码段CS,数据段DS,堆栈段SS,附加段ES
• 80386及后继机型:六个段寄存器 ▪ 代码段CS,数据段DS,堆栈段SS,附加段ES、 FS、GS---都是16位
• ZF:零标志。运算结果为0,置1;否则置0。 • CF:进位标志。记录从最高有效位产生的进位值。
最高有效位有进位时置1,否则置0。 • AF:辅助进位标志。记录运算时第3位产生的进位
值。如第3位有进位时置1,否则置0。 • PF:奇偶标志。当结果操作数中1的个数为偶数时置
1,否则置0。
标志符号 举例
段中的某一存储单元的地址 4. SI、DI一般与DS联用:
在串处理指令中,SI和DS联用,DI和ES联用
8086系统的堆栈
• 是存储器中的特殊区域 – 在堆栈段内,“FILO” – SP始终指向栈顶,总是字操作,指示栈顶的 偏移地址; – BP可作为堆栈区中的一个基地址以便访问 堆栈中的其他信息

第2章 80x86计算机组织

第2章  80x86计算机组织

课堂练习
选择题
CPU访问的最大内存地址是1023,地址总线的 宽度是( B ) A.8 C.13 B.10 D.16
汇编语言程序设计
2.3 中央处理机
总线接口部件BIU 执行部件EU (Bus Interface Unit) (Execution Unit)
执行部件中包含算术逻 内部设有四个段地址寄存器, 算术逻辑 辑单元(ALU)、通用寄 一个指令指针寄存器IP,一 存器、状态标志寄存器、 个6字节指令队列缓冲器,20 数据暂存寄存器和执行部 位地址加法器和总线控制电 件的控制电路。 功能:从BIU的指令队列 路。 CPU 控制逻辑 中取出指令代码,经指令 主要功能:根据执行部件 译码器译码后执行指令所 EU的请求,负责从内存单元 规定的全部功能。执行指 中预取指令,并将它们送到 令所得结果或执行指令所 寄存器组 指令队列缓冲器暂存。即负 需的数据,都由EU向BIU 发出命令,对存储器或I/O 责完成CPU与存储器或I/O设 备之间的数据传送。 接口进行读/写操作。 返回本章首页
返回本节
汇编语言程序设计
各类存储器芯片
BIOS是由主板和各类接口卡(如:显 从读写属性上看分为两类: 卡、网卡等)厂商提供的软件系统, 随机存储器(RAM)和只读存储器(ROM) 可以通过它利用该硬件设备进行最基 本的输入输出。在主板和某些接口卡 从功能和连接上分类: 上插有存储相应BIOS的ROM。 – 随机存储器RAM ROM中的内容不可以被改写,断电后 不消失。 – 装有BIOS的ROM – 接口卡上的RAM
图2.1 Intel8086CPU内部结构
汇编语言程序设计
2.3.2
8086寄存器组
AX称为累加器。使用频度最高, BX称为基址寄存器。常用于存 用于算术、逻辑运算以及与外设 8086CPU中可供编程使用的有14个16位寄存器(register): CX称为计数器。一般作为循环 放存储单元地址。 传送信息等。 DX称为数据寄存器。常用来存 或串操作等指令中的隐含计数器。 放双字数据的高16位,或存放外 SP用于存放当前堆栈段中栈顶 设端口地址。 图 BP用于存放堆栈段中某一存储 的偏移地址 2 单元的偏移地址。 IP总是保存下一次将要从主存中 80 86 取出指令的偏移地址,程序不能 直接访问IP

汇编语言程序设计第2章

汇编语言程序设计第2章

19
• 1.实模式寻址 ——允许的最大寻址空间:1MB 地址范围 00000H ~ FFFFFH (1MB) A.存储器划分成段。段大小:0~64KB。 B.从0地址开始,每16B为一小段。 C.段的起始地址必须以小段的首地址开 始。——16进制表示的地址,最低位为0。 D.每个存储单元都有1个唯一的20位物理地 址。
20
• 1.实模式寻址 物理地址=段地址左移4位+偏移地址
15 0
16 位 段 地 址
15
0 0 0 0
0
+
19
16 位 偏 移 地 址
0
20 位 物 理 地 址
例如:段地址:1004H
偏移地址:0014H
物理地址=10040H+0014H=10054H
21
存储器的逻辑分段 存储器的逻辑分段: 逻辑分段:
11
80x86的标志寄存器 的标志寄存器
8086/8088
(P.23)
OF DF IF TF SF ZF
AF
PF
CF
80286
NT IOPL OF DF IF TF SF ZF AF PF CF
80386
VM RF NT IOPL OF DF IF TF SF ZF AF PF CF
80486
AC VM RF NT IOPL OF DF IF TF SF ZF AF PF CF
10000H 10001H 10002H 10003H 10004H 10005H
字节内容(10000H)=9FH;(10001H)=26H 字内容 (10000H)=269FH;(10001H)=4826H
访问两次内存
18
存储器寻址

第二章 80x86计算机组织(modify)

第二章  80x86计算机组织(modify)

③、数据段(Data Segment) : 数据段存放运行程序所用的数据
数据段寄存器DS存放数据段的段地址 各种主存寻址方式(有效地址EA)得到存储器中操作数的偏移 地址 处理器利用DS:EA存取数据段中的数据
④、附加段(Extra Segment) : 附加段是附加的数据段,也用于数据的保存:
------------------ --------------------- ---------------------------------------------
HLT
停机
指令执行过程见下页图
指令执行过程(取指/译码/执行)
输出指 置初值 令地址


时序控制信号(控制命令)
③ +1
输出
时序逻辑电路
;数据段超越,使用数据段的数据
;附加段超越,使用附加段的数据
段超越的示例
• 没有段超越的指令实例:
MOV AX,[2000H] ;AX←DS:[2000H] ;从默认的DS数据段取出数据
• 采用段超越前缀的指令实例:
MOV AX,ES:[2000H] ;AX←ES:[2000H] ;从指定的ES附加段取出数据
– – – – CS(代码段)指明代码段的起始地址 SS(堆栈段)指明堆栈段的起始地址 DS(数据段)指明数据段的起始地址 ES(附加段)指明附加段的起始地址
• 每个段寄存器用来确定一个逻辑段的起始地 址,每种逻辑段均有各自的用途
①、代码段(Code Segment): 代码段用来存放程序的指令序列
• 若运算结果为0,则ZF = 1; 否则ZF = 0 注意:ZF为1表示的结果是0 3AH + 7CH=B6H,结果不是零:ZF = 0

第二章 80x86计算机组织

第二章 80x86计算机组织
例: MOV CX , 200H
AGAIN: ……
…… LOOP AGAIN ;(CX)-1(CX),结果0转AGAIN
DX——Data可以作为数据寄存器使用。 一般在双字长乘除法运算时,
把DX和AX组合在一起存放一个双字长(32位)数,DX用来存放高16位;
对某些I/O操作DX可用来存放I/O的端口地址(口地址 256)。
AX——(Accumulator)作为累加器。 它是算术运算的主要寄存器, 所有I/O指令都使用这一寄存器与外部设备交换数据。 例: IN OUT AL , 20H 30H , AX
BX——Base用作基址寄存器使用。 在计算内存储器地址时,经常用来存放基址。
例:
MOV
AX, [BX+03H]
CX——Count可以作计数寄存器使用。 在循环LOOP指令和串处理指令中用作隐含计数器。
微处理器内部主要由四部分组成:
(1) 内部寄存器陈列 用来寄存参与运算的数据(8位), 经常可以连成寄存器对(16位)用来存放操作数地址。 16位专用寄存器
如: 程序计数器PC,堆栈指针SP
(2) 累加器和算术逻辑单元 对数据进行算术运算、逻辑运算场所, 运算结果 标志触发器记忆 或送某个寄存器等等。
8088
内部操作均按16位设计,
内部寄存器、运算部件及
除对外数据线为8根外,其余与8086基本相同。
为与当时已有的8 位外设接口芯片兼容。
IBM PC、IBP PC/XT 采用8088CPU
8
8088CPU结构特点小结:
(1) 内部结构 是16位的
(内部寄存器,内部运算部件,内部操作按 16位设计); (2)外部数据总线8条,能处理16位数据,也能处理8位数据; (具有16位运算指令,包括*、/指令) (3) 汇编语言与8080/8085兼容,即能执行整套8080/8085的指令.

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

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

8086/8088
OF DF IF TF SF ZF AF PF CF
80286
NT IOPL OF DF IF TF SF ZF AF PF CF
80386
VM RF NT IOPL OF DF IF TF SF ZF AF PF CF
80486
AC VM RF NT IOPL OF DF IF TF SF ZF AF PF CF
2.1 80x86 Pro 执行一条指令所 需时间的比较。(16页) 实模式、保护模式 和 虚拟模式 的区别。
工作方式
1.实地址方式 2.保护方式 3.虚拟8086方式
1.实地址方式
‫‏‬
该方式工作在开机或复位后,进入保护 方式工作之前。其主要目的是为进入保 护方式作必要配置和准备。
2.2 基于微处理器的计算机系统构成-6
文件编辑程序

用来建立、输入或修改文本。
翻译程序(汇编程序、解释程序、编译程序)(19页)

汇编程序:将汇编语言程序翻译成机器语言程序。


编译程序:将高级语言翻译成机器语言。
解释程序:将直接把高级语言在机器上运行,边解释边 执行。
经翻译程序翻译后,源程序变为 .obj 文件。
2.2 基于微处理器的计算机系统构成-7
连接程序
– 把要执行的程序与库文件或其他已经翻译好的子 程序连接在一起,形成.exe文件。
装入程序
– 用来把程序从外存传送到内存,以便机器执行。 计算机开始后需立即启动,把常驻监督程序装入 存储器,使机器运转起来。
调试程序(DEBUG)
– 系统提供给用户的能监督和控制用户程序的一种 工具,可以装入、修改、显示或逐条执行一个程 序。

第二章 80x86计算机组织

第二章  80x86计算机组织

80x86汇编语言程序设计
1. 状态标志取值的一般规则
ZF(Zero Flag):零标志。若运算结果为0,则ZF = 1,否则 ZF = 0。
SF(Sign Flag):符号标志。若运算结果为负数,则SF = 1, 否则SF = 0。 CF(Carry Flag):进位标志。若加法时结果最高位向前有进 位或减法时最高位向前有借位,则CF = 1,否则CF = 0。 OF(Overflow Flag):溢出标志。若带符号数的运算结果超 出了补码表示的范围,则OF = 1,否则OF = 0。 AF(Auxiliary Carry Flag):辅助进位标志。若加法时结果 低4位向前有进位或减法时结果低4位向前有借位,则AF = 1,否 则AF = 0。 PF(Parity Flag):奇偶标志。若结果最低字节中1的个数为 偶数,则PF = 1,否则PF = 0。
80x86程序可以存取的最小数据单位是字节。例如,若要读取的位 数不足8位,则只能先读出一个完整字节,再屏蔽掉其它位。
字的存储采取“低字节在低地址,高字节在高地址,字的地址由低 地址表示”的小端方式,双字也类似。
要正确理解内存单元的地址和值,地址表示位置,值是相应位置处 的内容。同一地址既可以看作字节单元地址,也可以看作字甚至双字 单元地址,取决于具体的使用方式。
2013-1-20
80x86汇编语言程序设计
80x86 CPU有3种工作模式:实模式、保护模式和虚拟8086模 式。 在实模式下,段地址和偏移地址均为16位。20位物理地址由 16位段地址左移4位加16位偏移地址得到,只能寻址1MB的内存 空间,且每段≤64KB。 在实模式下,32位CPU下的程序可以使用32位寄存器和32位操 作数,但采用32位寄存器表示偏移地址时,只使用低16位,高 16位为0。CS:IP总是指向下一条要执行的指令,EIP的高16位为 0。SS:SP指向堆栈段的栈顶,ESP的高16位为0。 状态标志是CPU进行条件判断和控制程序执行流程的依据,最 常用的是4个:CF、OF、SF和ZF。其中,CF表示无符号溢出,OF 表示带符号溢出。

第2章 80X86计算机组织

第2章   80X86计算机组织

24
逻辑段的起始地址必须是16的倍数,所以其20位物理 地址用16进制表示时最低位为0。 1M的内存空间最多有64K个小段,每个小段包含16 个字节,首地址最低位为0(用16进制表示)。 寄存器是16位,用16位寄存器如何表示20位的物理 地址? 20位的物理地址由段的起始地址和偏移地址(有效 地址)组成。段地址的高16位存放在16位段寄存器中,低 4位为0000,可以不用保存,偏移地址存放在16位通用或 专用寄存器中。 存储单元地址通常表示为:16位段地址:16位偏移地 址 物理地址=16*(段地址寄存器)+偏移地址。 一般都用16进制表示。 例:2000H:1234H的物理地址为多少?
3

2.1.2

汇编语言
为了克服机器语言的缺点,人们采用助记符表 示机器指令的操作码,用变量代替操作数的存放 地址等,这样就形成了汇编语言。所以汇编语言 是一种用符号书写的、基本操作与机器指令相对 应的、并遵循一定语法规则的计算机语言。
用汇编语言编写的程序称为汇编源程序。 汇编语言是一种符号语言,比机器语言容易理解 和掌握,也容易调试和维护。但是,汇编语言源 程序要翻译成机器语言程序才可以由计算机执行。 这个翻译的过程称为“汇编”,这种把汇编源程 序翻译成目标程序的语言加工程序称为汇编程序。
17
数据段用来存放程序中用到的数据,DS 与BX、DI、SI 或16位数表示数据存放的 存储单元的物理地址。 堆栈段是一个特殊的存储区域,采用先进 后出或后进先出的原则,SS与SP表示堆 栈栈顶的物理地址,SS与BP表示堆栈中 某一单元的物理地址。 附加段是一个附加的数据段,常用于字符 串的处理。ES与DI表示附加段中存储单 元的物理地址。 18
存放操作数、操作数的地址以及运算的中间结果

IBM—PC(80x86)汇编语言与接口技术-第2章 80x86计算机组织

IBM—PC(80x86)汇编语言与接口技术-第2章 80x86计算机组织

• 80386是1985年研制出的一个32位微处理器, 内部及外部数据总线均为32位,地址线也为32 位,因此它可处理4G(232)字节的物理存储 空间。
• 1989年Intel公司又研制出新一代的微处理器 80486,80486芯片内除了有一个与80386相同 结构的主处理器外,还集成了一个浮点处理部 件FPU以及一个8K字节的高速缓冲存储器 (cache),使80486的计算速度和总体性能比 80386有了明显的提高。
• Intel公司在1982年推出了80286微处理器,它仍 然是16位结构。80286的内部及外部数据总线都 是16位的,但它的地址线是24位的,可寻址16M 字节的存储空间。
80286有两种工作方式,即实模式和保护模式: 实模式与8086工作方式相同,但速度比8086快。
保护模式除了仍具有16M字节的存储器物理地址空 间外,她还能为每个任务提供1G字节的虚拟存储 器地址空间。保护方式把操作系统及各任务所分配 到的地址空间隔离开,避免程序之间的相互干扰, 保证系统在多任务环境下正常工作。
• 8086是1978年Intel公司推出的16位微处理器。
(1)8086有16位数据总线,处理器与外部传送数据 时,一次可传送16位二进制数。
(2)8086有20位地址总线,寻址空间提高到1M字节。
(3)8086采用了流水线技术,可以实现处理器的内 部操作与存储器或I/O接口之间的数据传送操作重叠 进行,从而提高了处理器的性能。
2.2 基于微处理器的 计算机系统的构成
硬件:
中央处理机 CPU
总线控制 逻辑 系 统 总 线
存储器
接口
...
接口
大容量 存储器
...
I/O设备
I/O子系统

组织设计-第2章 80x86 计算机组织 精品

组织设计-第2章 80x86 计算机组织 精品

第2章80x86 计算机组织1.教学目的:掌握INTEL80X86微处理器的结构及内存单元地址与内容的含义和关系,了解计算机接口的构成,为汇编语言编程奠定基础。

2.教学要求:①熟练掌握INTEL80X86微处理器的结构②掌握内存单元地址与内容的含义和关系③了解计算机接口的构成3.教学重点:①微处理器的功能结构②微存储器组织4.掌握难点:①微处理器的寄存器组②存储器寻址5.教学进程安排:P19~326.教学方法:①重点讲授微处理器的功能结构和微存储器组织②一般叙述计算机接口的构成7.教学内容摘要:2.1 80x86微处理器80x86微处理器是美国Intel公司生产的微处理器系列。

该公司成立于1968年,1969设计了4位的4004芯片,1973年开发了8位的8080芯片,1978推出了16位的8086芯片,由此开始了Intel公司80x86微处理器系列的历史。

2.1.1 微处理器概况➢晶体管数:芯片中包含的晶体管数目,说明器件的集成度;➢主频:芯片中所用的主时钟频率,反映计算机的运算速度;➢数据总线:负责计算机中数据在各组成部分之间的传送;➢数据总线宽度:芯片内部数据传送的宽度;➢外部数据总线宽度:芯片内和芯片外数据交换的宽度;➢地址总线宽度:传送地址的总线宽度,根据这一数值可以确定处理机可以访问的存储器的最大范围。

例:20位地址总线可以访问220=1048576个存储单元。

存储容量的换算:1K=210B=1024B; 1M=210K=1024K; 1G=210M=1024M;➢高速缓存:存储速度比较快的存储器,现在有很多都做在芯片中2.2 基于微处理器的计算机系统构成微型计算机系统包括硬件和软件两部分。

2.2.1 硬件系统图2.1给出了微型计算机组成框图。

图2.1 微型计算机硬件系统组成把运算器、控制器、主存储器和输入/输出接口称为组成计算机硬件系统的五大部件。

计算机硬件的五大部件是通过总线连接起来的,构成了计算机的基本硬件系统。

第2章 80x86计算机组织

第2章 80x86计算机组织

例: MOV AX, FFFFH MOV BX, 1 ADD AX, BX 指令执行后,(AX)=0, OF=0, CF=1, ZF=1, SF=0
10
2.4 2.4 存储器
存储器是用来存放程序、数据、中间结果和最终结 果的记忆装置。 • 存储单元的地址和内容
存储器以字节(8bit)为单位存储信息 每个字节单元有一个地址,从0编号,顺序加1 地址也用二进制数表示(无符号整数,写成十六进制) 16位二进制数可表示216=65536=64K个地址 0000H ~ FFFFH 字长16位,一个字要占用相继的两个字节 低位字节存入低地址,高位字节存入高地址 机器以偶地址访问(读/写)存储器 8086访问内存是以字为单位,字单元地址用它的低地址 来表示
18
第2章 作业
Page 33
2.2 ~ 2.5
19
11
存储器
7 字节 1 0 0 1 6 0 0 0 1 5 0 1 0 0 4 1 0 1 1 3 1 0 1 0 2 1 1 1 1 1 1 1 1 1 0 1 0 0 1 0000H 0001H 0002H 0003H (0000H)=9FH (0001H)=26H (0002H)=1EH (0003H)=D7H
在CPU外部 访问速度慢 容量大,成本低 用地址表示 地址可用各种方式形成
16
2.5 2.5 外部设备
外部设备与主机(CPU和存储器)的通信是通过外设 接口(Interface)进行的,每个接口包括一组寄存器。 数据寄存器:存放外设和主机间传送的数据 状态寄存器:保存外设或接口的状态信息 命令寄存器:保存CPU发给外设或接口的控制命令 外设中每个寄存器有一个端口(Port)地址,构成一个 独立于内存的I/O地址空间:0000H ~ FFFFH

汇编语言第2章

汇编语言第2章
逻辑地址:选择器:偏移地址
32位物理地址
分页机制 (可选)
第二章 80x86计算机组织
2.5 外部设备
接口
第二章 80x86计算机组织
2.5 外部设备
第二章 80x86计算机组织 总 结
重点:8位、16位和32位寄存器组中各寄存器的名称、主
要用途和它们之间的关系。内存的地址和内容的表 示以及物理地址的形成
第二章 80x86计算机组织
重点
2.4.2 实模式存储器寻址
有四个,即DS,CS,SS,ES
2. 段寄存器:专门存放段地址的寄存器,8086~80286
段之间的分布情况: (1) 段与段可以独立存放 (2) 段与段可以重叠,即每个段可以 是小于64K个字节的长度
第二章 80x86计算机组织
2.4.3 保护模式存储器寻址
15 8 7
N 低位字节
N
0
• 1字=16位
• 1双字=32位 • 1K=210个字节 • 1G=230个字节
高位字节
N+1
• 1M=220个字节 • 1T=240个字节
第二章 80x86计算机组织
重点
2.4.1 存储单元的地址和内容
• 物理地址:也叫存储器地址,即每一个字节单元给的一个 唯一的编号,从0开始编号,顺序每次加1 • 存储单元的内容:一个存储 单元中存放的二 进制信息 例如:(1000H)=88H 代表存储单元的内容
注:同一个物理地址即可表示字节单元的地址,也可表示字 单元的地址
第二章 80x86计算机组织
重点
2.4.2 实模式存储器寻址
V86模式:也称为虚拟8086模式,是在保护模式下 仍能运行和设计工作于实模式下的程序 和 8086程序,同时支持多任务等的诸多特性
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2)逻辑地址(EA) :由段基址和偏移地址组成(均为 16位)。举例:代码段逻辑地址可表成CS:IP 又如逻辑地址为2000H:2000H对应的物理地址 22000H 物理地址与逻辑地址关系就是公式: 物理地址=段基址×10H+偏移地址
第2章 8086计算机组织
什么是段基址和偏移地址?
段基址(又称段地址): 段首地址的高16位 偏移地址:相对于段首地址的偏移量。
1. 80x86的通用寄存器
80x86的16位通用寄存器是:
AX SI BX DI CX BP DX SP
80x86的8位通用寄存器是:
AH BH CH DH AL BL CL DL 对其中某8位的操作,并不影响另外对应8位的数据
第2章 8086计算机组织
2. 80x86的专用寄存器
1.指令指针寄存器IP
有符号数据用最高有效位表示数据的符号 所以,最高有效位就是符号标志的状态
3AH + 7CH=B6H,最高位D7=1:SF = 1
84H + 7CH=(1)00H,最高位D7=0:SF = 0
第2章 8086计算机组织
奇偶标志PF(Parity Flag)
当运算结果最低字节中“1”的个数为零或偶
数时,PF = 1;否则PF = 0
AF
PF
CF
第2章 8086计算机组织
进位标志CF(Carry Flag)
当运算结果的最高有效位有进位(加法)或借位(减法) 时,进位标志置1,即CF = 1;否则CF = 0。
3AH + 7CH=B6H,没有进位:CF = 0
AAH + 7CH=(1)26H,有进位:CF = 1
[debug]
第2章 8086计算机组织
最大寻址范围216=64KB(0000H~FFFFH)
第2章 8086计算机组织
地址运算
逻辑地址由 段基址和偏移 地址组成。程 序以逻辑地址 编址,而不是 用物理地址。 当CPU需要访问 存储器时,由 地址加法器完 成下面物理地 址运算: 物理地址=段基址×10H+偏移地址
第2章 8086计算机组织
第2章 8086计算机组织
微型计算机系统的三个层次
•微型计算机
•以微处理器为核心,配上由大规模集成电路制作的只读 存储器(ROM)、读写存储器(RAM)、输入/输出接 口电路及系统总线等所组成的计算机,称为微型计算机。 •将这些组成部分集成在一片超大规模集成电路芯片上, 称为单片微型计算机,简称单片机。
1个内存单元存放8位信息(1Byte),称该存储单元内容
第2章 8086计算机组织
一、存储器的分段(实模式)
8086存储器操作采用了典型的存储器分 段技术,对存储器的寻址操作不是直接 用20位的物理地址,而是采用段地址加 段内偏移地址的二级寻址方式。 物理地址=段基址×10H+偏移地址 =(段基址左移4 位+偏移地址)
第2章 8086计算机组织
20位地址加法器 8086 可用 20 位地址寻址 1MB 的内存空间,但 8086 内部所有的寄存器都是 16 位的,所以 20 位地 址加法器可根据 16 位寄存器提供的信息计算出 20 位的物理地址。
第2章 8086计算机组织
16位指令指针寄存器IP
IP总是保存着EU要执行的下一条指令的偏移地址, 而不是物理地址。程序不能直接对指令指针寄存 器进行存取,但能在程序运行中自动修正,使之 指向要执行的下条指令,有些指令(如转移,调 用,中断,返回)能使IP的值改变,或使IP的值 存进堆栈,或由堆栈恢复原有的值。
(1)4个16位段地址寄存器:CS,DS,ES,SS (2) 1个16位的指令指针寄存器IP(instruction Pointer) (3)20位地址加法器。用来产生20位地址 (4)6字节的指令队列缓冲器(8088为4字节): CS:16位代码段寄存器(Code Segment Register) DS:16位数据段寄存器(Data Segment Register) SS:16位堆栈段寄存器(Stack Segment Register) ES:16位附加段寄存器(Extra Segment Register)
存储器逻辑段分布举例
已知代码段、 数据段、附加 段和堆栈段的 段基址分别为: (CS)=1055H (DS)=250AH、 (ES)=8FFBH (SS)=EFF0H, 它们在存储器 中的分布情况 如图:
二、保护模式下的80x86
支持多任务处理功能
支持虚拟存储器特性
存 储 器
段基地址32
所选存储单元
方向标志DF(Direction Flag

用于串操作指令中,控制地址的变化方 向:
设置DF=0,存储器地址自动增加; 设置DF=1,存储器地址自动减少。
CLD指令复位方向标志:DF=0
STD指令置位方向标志:DF=1
第2章 8086计算机组织
中断允许标志IF(Interrupt-enable Flag)
第2章 8086计算机组织
2.2 8086微处理器
8086是Intel系列的16位微处理器,有16根数 据线和20根地址线。因为可用20位地址,所以可 寻址的地址空间达220即1M字节单元。
第2章 8086计算机组织
第2章 8086计算机组织
第2章 8086计算机组织
1、总线接口部件(BIU)组成:
用于控制外部可屏蔽中断是否可以被处 理器响应:
设置IF=1,则允许中断; 设置IF=0,则禁止中断。
CLI指令复位中断标志:IF=0 STI指令置位中断标志:IF=1
第2章 8086计算机组织
陷阱标志TF(Trap Flag)
用于控制处理器进入单步操作方式: 设置TF=0,处理器正常工作; 设置TF=1,处理器单步执行指令。
16 15
AH BH CH DH
8 7
AX BX CX DX SP BP SI DI IP FLAGS CS DS SS ES FS GS AL BL CL DL
0
8086 / 8088 / 80286
寄 存 器
80x86的程序可见寄存器组
通用寄存器 专用寄存器 段寄存器
第2章 8086计算机组织
第2章 8086计算机组织
微型计算机系统的三个层次
•微型计算机系统
以微型计算机为中心,配以相应的外围设备以及控制微型 计算机工作的软件,就构成了完整的微型计算机系统。
微型计算机如果不配有软件,通常称为裸机
软件分为系统软件和应用软件两大类。
微型计算机系统的三个层次: 微处理器 微型计算机 微型计算机系统
第2章 8086计算机组织
辅助进位标志AF(Auxiliary Carry Flag)
运算时D3位(低半字节)有进位或
借位时,AF = 1;否则AF = 0。
这个标志主要由处理器内部使用, 用于十进制算术运算调整指令中,用 户一般不必关心
3AH + 7CH=B6H,D3有进位:AF = 1
第2章 8086计算机组织
外设中每个寄存器有一个端口(Port)地址,构成 一个独立于内存的 I / O 地址空间:0000H ~ FFFFH
第2章 8086计算机组织
问题
什么是溢出?
溢出和进位有什么区别? 处理器怎么处理,程序员如何运用? 如何判断是否溢出?
第2章 8086计算机组织
作业: 教材33页 2.2 2.3 2.4 2.5
零标志ZF(Zero Flag)
若运算结果为0,则ZF = 1;
否则ZF = 0
注意:ZF为1表示的结果是0
3AH + 7CH=B6H,结果不是零:ZF = 0
84H + 7CH=(1)00H,结果是零:ZF = 1
第2章 8086计算机组织
符号标志SF(Sign Flag)
运算结果最高位为1,则SF = 1;否则SF = 0
单步执行指令——处理器在每条指令执行结束时,
便产生一个编号为1的内部中断 这种内部中断称为单步中断 所以TF也称为单步标志 利用单步中断可对程序进行逐条指令的调试 这种逐条指令调试程序的方法就是单步调试
第2章 8086计算机组织
2.3 8086的存储器组织
8086有20根地址线,具有220=1M字节的存储器地 址空间。内存单元按照00000H~FFFFFH来编址。 80286有24根地址线000000H~FFFFFFH 80386 /80486有32根地址线00000000H~FFFFFFFFH
第2章 8086计算机组织
3. 标志寄存器FLAGS
标志(Flag)用于反映指令执行结果
80x86处理器的各种标志形成了一个16位的标 志寄存器FLAGS(程序状态字PSW寄存器)
程序设计需要利用标志的状态
15 12 11 10 9 8 7 6 5 4 3 2 1 0
OF DF IF TF SF ZF
第2章 8086计算机组织
2.2.2 80x86的寄存器组
对汇编语言程序员来说,80x86内部结构 就是可编程的寄存器组
8个通用寄存器 1个指令指针寄存器 1个标志寄存器 4个段寄存器
第2章 8086计算机组织
80x86的寄存器结构
31
EAX EBX ECX EDX ESP EBP ESI EDI EIP EFLAGS
第2章 8086计算机组织
存储器的逻辑分段
第2章 8086计算机组织
什么是物理地址和逻辑地址?
表示一个存储单元的地址有两种形式: (1)物理地址(PA) :就是实际地址,具有20位地址值, 它是惟一唯一标识1M字节存储空间的某一个字节的地 址。寻址范围220=1MB(00000H~FFFFFH)计Fra bibliotek机硬件基本结构
相关文档
最新文档