SlideShare a Scribd company logo
1 of 105
第二章   80x86 计算机组织结构 ,[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object]
2.1  80x86  计算机的基本结构 ,[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],图  2-1  计算机的基本结构
2.1.1 中央处理器 ,[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],2.1.2  总线结构
[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
8 位数据总线上传送的信息 8088CPU 数据总线上的数据传送情况
[object Object],16 位数据总线上传送的信息
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
小结 ,[object Object],[object Object],[object Object],[object Object],[object Object]
2.1.3         存储器 ,[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],图 2-2 IBM  PC 机及其兼容机的存储器映像
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
CPU 对存储器的读写
[object Object],[object Object],[object Object],[object Object],[object Object]
 
2.1.4  外部设备 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2.2 80x86 CPU  的寄存器   ,[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object]
2.2 80x86 CPU  的寄存器 寄存器分为 3 类: 通用寄存器 、控制寄存器、段寄存器。  图  2-3 80x86 寄存器组
2.2.1  通用寄存器 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
表 2-.2  通用寄存器的用途   通用寄存器 主  要  用   途 显示或 隐含使用 EAX , AX 累加器       在算术运算中作为累加器 在乘法操作中,存放乘数和乘积  在除法操作中,存放被除数、商和余数  在串操作指令中存放操作数  在 DOS 、 BIOS 的功能调用中存放功能号 (AH) 在一般操作中存放操作数或结果 显示 隐含 隐含 隐含 显示 显示 EBX , BX 基址寄存器 在间接寻址或基址变址寻址时用于基址寄存器 在一般操作中存放操作数或结果 显示 显示 ECX , CX 计数器   在循环指令中,作循环次数计数器 在移位操作时用于移位次数计数器 在串操作时可作为循环次数计数器 隐含 显示 显示 EDX , DX 数据寄存器 在 16 位乘法中用于存放乘积高位 在 32 位 ÷16 位除法中用于存放被除数高位及余数 I/O 指令间接寻址时用于存放端口地址寄存器 隐含 隐含 隐含 ESP , SP 堆栈指针寄存器 在堆栈操作中用作堆栈指针 隐含 EBP , BP 基址指针寄存器 在相对堆栈段的基址加变址寻址时用于基址寄存器 在利用堆栈来向子程序传递参数时用于基址寄存器 显示 ESI , SI 源变址寄存器 间接寻址时用于地址寄存器和变址寄存器 串操作时用于源变址寄存器 显示 隐含 EDI , DI 目的变址寄存器 间接寻址时用于地址寄存器和变址寄存器 串操作时用于目的变址寄存器 显示 隐含
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object]
8086CPU 的 8 位寄存器存储逻辑
16 位寄存器及所分成的两个 8 位寄存器的数据存储情况
字在寄存器中的存储 ,[object Object]
几条汇编指令 ,[object Object]
[object Object],几条汇编指令
[object Object],[object Object],[object Object]
 
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object]
2.2.2  控制寄存器 ,[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],图 2-4  8086/8088  标志寄存器
图 2-5  80286 ~ Pentium 的标志寄存器
表 2-3  8086/8088 标志寄存器状态功能表 名  称 标志位状态 功  能 进位标志 CF CF=1 ; CY CF=0 ; NC CF=1 运算结果最高位有进位或有借位(用于多字节加减运算)否则 CF=0 。  ( DEBUG 中  CF=1 : CY , CF=0 : NC ) 奇偶标志 PF PF=1 ; PE PF=1 ; PO 运算结果的低 8 位中所含 “ l ” 的个数为偶数: PF=1 ,否则 PF=0 。 ( DEBUG 中 PF=1 : PE , PF=0 : PO ) 辅助进位标志 AF AF=1 ; AC , AF=0 ; NA AF=1 :运算结果低四位向高四位有进位或有借位(用于 10 进制运算指令)否则 AF=0  。 ( DEBUG 中  AF=1 : AC , AF=0 : NA ) 结果为 0 标志 ZF ZF=1 ; ZR ZF=0 ; NZ ZF=1 运算结果为 0 , ZF=0 运算结果不为 0 ; ( DEBUG 中  ZF=1 : ZR , ZF=0 : NZ ) 符号标志  SF SF=1 ; NG SF=0 ; PL 运算结果为正(符号位为 0 ) SF=1 ; 运算结果为负(符号位为 1 ) SF=0 。 ( DEBUG 中  SF=1 : NG , SF=0 : PL ) 溢出标志 OF=1 ; OV OF=0 ; NV 带符号数的运算结果产生溢出时, OF=1 ;否则 OF=0  。 ( DEBUG 中 OF=  1 : OV , OF= 0 : NV )   方向标志 DF=1 ; DN DF=0 ; UP 串操作指令用的标志, DF=1 执行字符串操作指令时使地址指针自动增量(字符串处理顺序由低向高进行); DF=0 使地址指令自动减量。可通过指令 STD 置 DF =1 , CLD 清 DF =0 ( DEBUG 中  DF=1 : DN , DF=0 : OP )   中断标志 IF=1 ; EI IF=0 ; DI 可屏蔽中断的标志; IF=1 允许中断(允许 CPU 响应可屏蔽外部中断); IF=0 禁止中断,关中断; 可通过指令 STI 置 IF=1 , CLI 清 IF=0 ( DEBUG 中  IF=1 ; EI , IF=0 ; DI ) 单步(跟踪)标志 TF TF=1 TF=0 CPU 按跟单步踪方式执行指令
ZF 标志位 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object]
PF 标志 ,[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SF 标志 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
溢出标志 OF ( Overflow Flag ) ,[object Object],[object Object],[object Object],[object Object]
辅助进位标志 AF ( Auxiliary Carry Flag ) ,[object Object],[object Object],[object Object],[object Object]
方向标志 DF ( Direction Flag ) ,[object Object],[object Object],[object Object],[object Object],[object Object]
中断允许标志 IF ( Interrupt-enable Flag ) ,[object Object],[object Object],[object Object],[object Object],[object Object]
陷阱标志 TF ( Trap Flag ) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2.2.3  段寄存器 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
寄存器与存储器的比较: 寄  存  器  存  储  器   在 CPU 内部  在 CPU 外部 访问速度快   访问速度慢 容量小,成本高   容量大,成本低 用名字表示   用地址表示 没有地址   地址可用各种方式形成
2.3  内存组织结构 ,[object Object],[object Object]
2.3.1  内存的地址与字节、字的存放 ,[object Object],[object Object],[object Object],[object Object],图 2-6  内存单元的地址与内容
[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],图 2-7 某单元内容的内容
 
 
[object Object],[object Object],[object Object],[object Object]
2.3.2  堆栈 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2.4  80x86 CPU 的工作模式 ,[object Object],[object Object]
2.4.1  实模式 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
图 2-10  物理地址的组合
图 2-11  实模式下的存储器的段结构
[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
 
 
[object Object],[object Object],[object Object],[object Object],[object Object],图 2-12
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
图 2-13  内存分配方法
[object Object],[object Object],[object Object],[object Object],[object Object],图 2-14  段与段之间的关系
[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object]
练习:存储器的逻辑地址与物理地址 10011111 00100110 01001000 逻辑地址 段地址  :  偏移地址 1000  :  0000 H 1000 : 0001H 1000 : 0002H 1000 : 0003H 1000 : 0004H 1000 : 0005H 物理地址 10000 H 10001H 10002H 10003H 10004H 10005H 10000011 01011100 10100010 字节内容( 10000H )= 9FH ;( 10001H )= 26H 字内容  ( 10000H )= 269FH ;( 10001H )= 4826H 访问两次内存
段寄存器的引用   段和段寄存器的引用示意图
[object Object],[object Object],[object Object]
[object Object],[object Object]
一般情况下,段寄存器及其指针寄存器的引用关系如下表所示。表中的“ 可选用的段寄存器”即是可以用强置说明这些段寄存器的值来作为其操作数地址的段地址 。 访问存储器方式 缺省的段寄存器 可选用的段寄存器 偏移量 取指令 CS   IP 堆栈操作 SS   SP 一般取操作数 DS CS 、 ES 、 SS 有效地址 串操作 源操作数 DS CS 、 ES 、 SS SI 目标操作数 ES   DI 使用指针寄存器 BP SS CS 、 DS 、 ES 有效地址
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2.4.2  保护模式 ,[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object]
2.5  存储器管理机制 ,[object Object],[object Object]
习题  -  选择题 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
习题 – 问答题 ,[object Object],[object Object],[object Object],[object Object]
[object Object]
 

More Related Content

What's hot

Ch1 系统启动
Ch1 系统启动Ch1 系统启动
Ch1 系统启动guest4d1b8c
 
程式設計師的自我修養 Chapter 10 記憶體
程式設計師的自我修養 Chapter 10 記憶體程式設計師的自我修養 Chapter 10 記憶體
程式設計師的自我修養 Chapter 10 記憶體Shu-Yu Fu
 
系統程式 -- 第 11 章 嵌入式系統
系統程式 -- 第 11 章 嵌入式系統系統程式 -- 第 11 章 嵌入式系統
系統程式 -- 第 11 章 嵌入式系統鍾誠 陳鍾誠
 
Cpu執行過程與步驟
Cpu執行過程與步驟Cpu執行過程與步驟
Cpu執行過程與步驟銘訓 陳
 
[嵌入式系統] MCS-51 實驗 - 使用 IAR (1)
[嵌入式系統] MCS-51 實驗 - 使用 IAR (1)[嵌入式系統] MCS-51 實驗 - 使用 IAR (1)
[嵌入式系統] MCS-51 實驗 - 使用 IAR (1)Simen Li
 
[ZigBee 嵌入式系統] ZigBee Architecture 與 TI Z-Stack Firmware
[ZigBee 嵌入式系統] ZigBee Architecture 與 TI Z-Stack Firmware[ZigBee 嵌入式系統] ZigBee Architecture 與 TI Z-Stack Firmware
[ZigBee 嵌入式系統] ZigBee Architecture 與 TI Z-Stack FirmwareSimen Li
 
[嵌入式系統] 嵌入式系統進階
[嵌入式系統] 嵌入式系統進階[嵌入式系統] 嵌入式系統進階
[嵌入式系統] 嵌入式系統進階Simen Li
 
2018 VLSI/CAD Symposium Tutorial (Aug. 7, 20:00-21:00 Room 3F-VII)
2018 VLSI/CAD Symposium Tutorial (Aug. 7, 20:00-21:00 Room 3F-VII)2018 VLSI/CAD Symposium Tutorial (Aug. 7, 20:00-21:00 Room 3F-VII)
2018 VLSI/CAD Symposium Tutorial (Aug. 7, 20:00-21:00 Room 3F-VII)Simen Li
 
系統程式 -- 第 4 章 組譯器
系統程式 -- 第 4 章 組譯器系統程式 -- 第 4 章 組譯器
系統程式 -- 第 4 章 組譯器鍾誠 陳鍾誠
 
系統程式 -- 第 12 章
系統程式 -- 第 12 章系統程式 -- 第 12 章
系統程式 -- 第 12 章鍾誠 陳鍾誠
 
系統程式 -- 第 5 章 連結與載入
系統程式 -- 第 5 章 連結與載入系統程式 -- 第 5 章 連結與載入
系統程式 -- 第 5 章 連結與載入鍾誠 陳鍾誠
 

What's hot (19)

Ch1 系统启动
Ch1 系统启动Ch1 系统启动
Ch1 系统启动
 
系統程式 -- 第 2 章
系統程式 -- 第 2 章系統程式 -- 第 2 章
系統程式 -- 第 2 章
 
18 cpu02
18 cpu0218 cpu02
18 cpu02
 
程式設計師的自我修養 Chapter 10 記憶體
程式設計師的自我修養 Chapter 10 記憶體程式設計師的自我修養 Chapter 10 記憶體
程式設計師的自我修養 Chapter 10 記憶體
 
系統程式 -- 第 11 章 嵌入式系統
系統程式 -- 第 11 章 嵌入式系統系統程式 -- 第 11 章 嵌入式系統
系統程式 -- 第 11 章 嵌入式系統
 
系統程式 -- 附錄
系統程式 -- 附錄系統程式 -- 附錄
系統程式 -- 附錄
 
系統程式 - 第二章
系統程式 - 第二章系統程式 - 第二章
系統程式 - 第二章
 
Cpu執行過程與步驟
Cpu執行過程與步驟Cpu執行過程與步驟
Cpu執行過程與步驟
 
[嵌入式系統] MCS-51 實驗 - 使用 IAR (1)
[嵌入式系統] MCS-51 實驗 - 使用 IAR (1)[嵌入式系統] MCS-51 實驗 - 使用 IAR (1)
[嵌入式系統] MCS-51 實驗 - 使用 IAR (1)
 
系統程式 - 附錄
系統程式 - 附錄系統程式 - 附錄
系統程式 - 附錄
 
Ch2 1
Ch2 1Ch2 1
Ch2 1
 
Cpu
CpuCpu
Cpu
 
[ZigBee 嵌入式系統] ZigBee Architecture 與 TI Z-Stack Firmware
[ZigBee 嵌入式系統] ZigBee Architecture 與 TI Z-Stack Firmware[ZigBee 嵌入式系統] ZigBee Architecture 與 TI Z-Stack Firmware
[ZigBee 嵌入式系統] ZigBee Architecture 與 TI Z-Stack Firmware
 
[嵌入式系統] 嵌入式系統進階
[嵌入式系統] 嵌入式系統進階[嵌入式系統] 嵌入式系統進階
[嵌入式系統] 嵌入式系統進階
 
2018 VLSI/CAD Symposium Tutorial (Aug. 7, 20:00-21:00 Room 3F-VII)
2018 VLSI/CAD Symposium Tutorial (Aug. 7, 20:00-21:00 Room 3F-VII)2018 VLSI/CAD Symposium Tutorial (Aug. 7, 20:00-21:00 Room 3F-VII)
2018 VLSI/CAD Symposium Tutorial (Aug. 7, 20:00-21:00 Room 3F-VII)
 
系統程式 -- 第 4 章 組譯器
系統程式 -- 第 4 章 組譯器系統程式 -- 第 4 章 組譯器
系統程式 -- 第 4 章 組譯器
 
系統程式 -- 第 12 章
系統程式 -- 第 12 章系統程式 -- 第 12 章
系統程式 -- 第 12 章
 
系統程式 -- 第 5 章 連結與載入
系統程式 -- 第 5 章 連結與載入系統程式 -- 第 5 章 連結與載入
系統程式 -- 第 5 章 連結與載入
 
作業系統
作業系統作業系統
作業系統
 

Similar to Ch2 80x86计算机组织结构

Erlang Optimize
Erlang OptimizeErlang Optimize
Erlang OptimizeFeng Yu
 
Linux Tracing System 浅析 & eBPF框架开发经验分享
Linux Tracing System 浅析 & eBPF框架开发经验分享Linux Tracing System 浅析 & eBPF框架开发经验分享
Linux Tracing System 浅析 & eBPF框架开发经验分享happyagan
 
第6章 输入输出技术
第6章 输入输出技术第6章 输入输出技术
第6章 输入输出技术jugn
 
Linux性能监控cpu内存io网络
Linux性能监控cpu内存io网络Linux性能监控cpu内存io网络
Linux性能监控cpu内存io网络lovingprince58
 
Osc scott linux下的数据库优化for_postgresql
Osc scott linux下的数据库优化for_postgresqlOsc scott linux下的数据库优化for_postgresql
Osc scott linux下的数据库优化for_postgresqlOpenSourceCamp
 
Tilera和fos的学习
Tilera和fos的学习Tilera和fos的学习
Tilera和fos的学习sibeliuscn
 
Altibase管理培训 安装篇
Altibase管理培训 安装篇Altibase管理培训 安装篇
Altibase管理培训 安装篇小新 制造
 
03 计算机的逻辑部件02
03 计算机的逻辑部件0203 计算机的逻辑部件02
03 计算机的逻辑部件02Huaijin Chen
 
接口芯片
接口芯片接口芯片
接口芯片jugn
 
第7章 常用接口芯片
第7章 常用接口芯片第7章 常用接口芯片
第7章 常用接口芯片jugn
 
Sy03091说明书
Sy03091说明书Sy03091说明书
Sy03091说明书guest8f3690
 
MySQL新技术探索与实践
MySQL新技术探索与实践MySQL新技术探索与实践
MySQL新技术探索与实践Lixun Peng
 

Similar to Ch2 80x86计算机组织结构 (20)

Godson x86
Godson x86Godson x86
Godson x86
 
17 cpu01
17 cpu0117 cpu01
17 cpu01
 
10 存储系统02
10 存储系统0210 存储系统02
10 存储系统02
 
09 存储系统01
09 存储系统0109 存储系统01
09 存储系统01
 
Erlang Optimize
Erlang OptimizeErlang Optimize
Erlang Optimize
 
Linux Tracing System 浅析 & eBPF框架开发经验分享
Linux Tracing System 浅析 & eBPF框架开发经验分享Linux Tracing System 浅析 & eBPF框架开发经验分享
Linux Tracing System 浅析 & eBPF框架开发经验分享
 
第6章 输入输出技术
第6章 输入输出技术第6章 输入输出技术
第6章 输入输出技术
 
19 cpu03
19 cpu0319 cpu03
19 cpu03
 
Linux性能监控cpu内存io网络
Linux性能监控cpu内存io网络Linux性能监控cpu内存io网络
Linux性能监控cpu内存io网络
 
Osc scott linux下的数据库优化for_postgresql
Osc scott linux下的数据库优化for_postgresqlOsc scott linux下的数据库优化for_postgresql
Osc scott linux下的数据库优化for_postgresql
 
Nio trick and trap
Nio trick and trapNio trick and trap
Nio trick and trap
 
Tilera和fos的学习
Tilera和fos的学习Tilera和fos的学习
Tilera和fos的学习
 
Altibase管理培训 安装篇
Altibase管理培训 安装篇Altibase管理培训 安装篇
Altibase管理培训 安装篇
 
03 计算机的逻辑部件02
03 计算机的逻辑部件0203 计算机的逻辑部件02
03 计算机的逻辑部件02
 
接口芯片
接口芯片接口芯片
接口芯片
 
第7章 常用接口芯片
第7章 常用接口芯片第7章 常用接口芯片
第7章 常用接口芯片
 
Php
PhpPhp
Php
 
Sy03091说明书
Sy03091说明书Sy03091说明书
Sy03091说明书
 
Ch2 4
Ch2 4Ch2 4
Ch2 4
 
MySQL新技术探索与实践
MySQL新技术探索与实践MySQL新技术探索与实践
MySQL新技术探索与实践
 

Ch2 80x86计算机组织结构

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. 8 位数据总线上传送的信息 8088CPU 数据总线上的数据传送情况
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 19.
  • 20.  
  • 21.
  • 22.
  • 23.
  • 24. 2.2 80x86 CPU 的寄存器 寄存器分为 3 类: 通用寄存器 、控制寄存器、段寄存器。 图 2-3 80x86 寄存器组
  • 25.
  • 26. 表 2-.2 通用寄存器的用途 通用寄存器 主 要 用 途 显示或 隐含使用 EAX , AX 累加器       在算术运算中作为累加器 在乘法操作中,存放乘数和乘积 在除法操作中,存放被除数、商和余数 在串操作指令中存放操作数 在 DOS 、 BIOS 的功能调用中存放功能号 (AH) 在一般操作中存放操作数或结果 显示 隐含 隐含 隐含 显示 显示 EBX , BX 基址寄存器 在间接寻址或基址变址寻址时用于基址寄存器 在一般操作中存放操作数或结果 显示 显示 ECX , CX 计数器   在循环指令中,作循环次数计数器 在移位操作时用于移位次数计数器 在串操作时可作为循环次数计数器 隐含 显示 显示 EDX , DX 数据寄存器 在 16 位乘法中用于存放乘积高位 在 32 位 ÷16 位除法中用于存放被除数高位及余数 I/O 指令间接寻址时用于存放端口地址寄存器 隐含 隐含 隐含 ESP , SP 堆栈指针寄存器 在堆栈操作中用作堆栈指针 隐含 EBP , BP 基址指针寄存器 在相对堆栈段的基址加变址寻址时用于基址寄存器 在利用堆栈来向子程序传递参数时用于基址寄存器 显示 ESI , SI 源变址寄存器 间接寻址时用于地址寄存器和变址寄存器 串操作时用于源变址寄存器 显示 隐含 EDI , DI 目的变址寄存器 间接寻址时用于地址寄存器和变址寄存器 串操作时用于目的变址寄存器 显示 隐含
  • 27.
  • 28.
  • 29. 8086CPU 的 8 位寄存器存储逻辑
  • 30. 16 位寄存器及所分成的两个 8 位寄存器的数据存储情况
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.  
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43. 图 2-5 80286 ~ Pentium 的标志寄存器
  • 44. 表 2-3 8086/8088 标志寄存器状态功能表 名 称 标志位状态 功 能 进位标志 CF CF=1 ; CY CF=0 ; NC CF=1 运算结果最高位有进位或有借位(用于多字节加减运算)否则 CF=0 。 ( DEBUG 中 CF=1 : CY , CF=0 : NC ) 奇偶标志 PF PF=1 ; PE PF=1 ; PO 运算结果的低 8 位中所含 “ l ” 的个数为偶数: PF=1 ,否则 PF=0 。 ( DEBUG 中 PF=1 : PE , PF=0 : PO ) 辅助进位标志 AF AF=1 ; AC , AF=0 ; NA AF=1 :运算结果低四位向高四位有进位或有借位(用于 10 进制运算指令)否则 AF=0 。 ( DEBUG 中 AF=1 : AC , AF=0 : NA ) 结果为 0 标志 ZF ZF=1 ; ZR ZF=0 ; NZ ZF=1 运算结果为 0 , ZF=0 运算结果不为 0 ; ( DEBUG 中 ZF=1 : ZR , ZF=0 : NZ ) 符号标志 SF SF=1 ; NG SF=0 ; PL 运算结果为正(符号位为 0 ) SF=1 ; 运算结果为负(符号位为 1 ) SF=0 。 ( DEBUG 中 SF=1 : NG , SF=0 : PL ) 溢出标志 OF=1 ; OV OF=0 ; NV 带符号数的运算结果产生溢出时, OF=1 ;否则 OF=0 。 ( DEBUG 中 OF= 1 : OV , OF= 0 : NV )   方向标志 DF=1 ; DN DF=0 ; UP 串操作指令用的标志, DF=1 执行字符串操作指令时使地址指针自动增量(字符串处理顺序由低向高进行); DF=0 使地址指令自动减量。可通过指令 STD 置 DF =1 , CLD 清 DF =0 ( DEBUG 中 DF=1 : DN , DF=0 : OP )   中断标志 IF=1 ; EI IF=0 ; DI 可屏蔽中断的标志; IF=1 允许中断(允许 CPU 响应可屏蔽外部中断); IF=0 禁止中断,关中断; 可通过指令 STI 置 IF=1 , CLI 清 IF=0 ( DEBUG 中 IF=1 ; EI , IF=0 ; DI ) 单步(跟踪)标志 TF TF=1 TF=0 CPU 按跟单步踪方式执行指令
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58. 寄存器与存储器的比较: 寄 存 器 存 储 器 在 CPU 内部 在 CPU 外部 访问速度快 访问速度慢 容量小,成本高 容量大,成本低 用名字表示 用地址表示 没有地址 地址可用各种方式形成
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.  
  • 64.  
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74. 图 2-10 物理地址的组合
  • 75. 图 2-11 实模式下的存储器的段结构
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.  
  • 82.  
  • 83.
  • 84.
  • 85.
  • 86.
  • 87. 图 2-13 内存分配方法
  • 88.
  • 89.
  • 90.
  • 91. 练习:存储器的逻辑地址与物理地址 10011111 00100110 01001000 逻辑地址 段地址 : 偏移地址 1000 : 0000 H 1000 : 0001H 1000 : 0002H 1000 : 0003H 1000 : 0004H 1000 : 0005H 物理地址 10000 H 10001H 10002H 10003H 10004H 10005H 10000011 01011100 10100010 字节内容( 10000H )= 9FH ;( 10001H )= 26H 字内容 ( 10000H )= 269FH ;( 10001H )= 4826H 访问两次内存
  • 92. 段寄存器的引用 段和段寄存器的引用示意图
  • 93.
  • 94.
  • 95. 一般情况下,段寄存器及其指针寄存器的引用关系如下表所示。表中的“ 可选用的段寄存器”即是可以用强置说明这些段寄存器的值来作为其操作数地址的段地址 。 访问存储器方式 缺省的段寄存器 可选用的段寄存器 偏移量 取指令 CS   IP 堆栈操作 SS   SP 一般取操作数 DS CS 、 ES 、 SS 有效地址 串操作 源操作数 DS CS 、 ES 、 SS SI 目标操作数 ES   DI 使用指针寄存器 BP SS CS 、 DS 、 ES 有效地址
  • 96.
  • 97.
  • 98.
  • 99.
  • 100.
  • 101.
  • 102.
  • 103.
  • 104.
  • 105.