微机原理串讲
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
段寄存器
的 内 部 寄 存 器
控制寄存器
3. 学习寄存器注意事项(思考):
(1)8086对存储器的管理为什么采用分段的 办法? (2)CPU内部有什么寄存器?名称和功能分别 是什么?状态标志寄存器中OF、IF的含义? (3) AX,BX,CX,DX能用来存放偏移地址吗? 哪些可以?哪些不可以?
(4)有几个段寄存器?其功能是什么?
3102H
执行后,(AH) = 31H,(AL) = 02H
立即寻址指令在存 储器中的存放形式
存储器
MOV操作码
立 即 数
操作码 低 8位 高 8位
代 码 段
02H 31H
代 码 段
23
2 直接寻址
指令中直接给出操作数的16位偏移地址
偏移地址也称为有效地址(EA, Effective Address)
(5)BX,BP,SP,SI,DI,IP存放的偏移地址在构 成物理地址时,与段地址是如何配合使用?
10
4.存储器组织
地址:辨识存储器和I/O寄存器内的存储单元。
地址空间:所有地址的组合。
地址线决定地址空间的大小:n ——2n
11
•物理地址:存储单元的实际地址编码, 每个存 储单元都有一个唯一的20位地址作为该存储单元 的物理地址。 CPU访问存储器时,必须先确定所要访问 的存储单元的物理地址才能存取该单元中的内容。 •偏移地址:指段内任意一个存储单元,其相对 于段起始地址的偏移量,也称为有效地址EA。是 一个16位的地址。 •逻辑地址:段地址:偏移地址 2000H:0123H
20根地址线, 16根数据线,寻 址范围1MB。
6
1.8086的内部结构
AH BH CH DH AL BL CL DL SP BP SI DI
16位
地址 加法 器
∑
20位
通用 寄存器
CS DS SS ES IP 内部暂存器
16位
输入/输出 控制电路 外 部 总 线
ALU
标志寄存器
执行部分 控制电路
30
例: MOV AX, [BX+8] • MOV CX, TABLE[SI] • MOV AX, [BP+1000H] ; 默认段寄存器为SS
指令操作例:MOV AX,DATA[BX]
若(DS)=6000H, (BX)=1000H, DATA=2A00H,
(63A00H)=66H, (63A01H)=55H 则物理地址 = 60000H + 1000H + 2A00H = 63A00H 指令执行后:(AX)=5566H
源变址寄存器 Source Index 目的变址寄存器 Destination Index 基址指针寄存器 Base Point 堆栈指针寄存器 Stack Point
通 用 寄 存 器
8086
指 针 寄存器
数据段寄存器 Data Segment 附加段寄存器 Extra Segment 堆栈段寄存器 Stack Segment 代码段寄存器 Code Segment 指令指针寄存器 Instruction Pointer 状态标志寄存器 Processor Status Word
微机原理复习
1
第1章
1.1 1.3 1.5
微机系统概述
微型机的发展 微机系统的组成 微机系统的主要性能指标
本章要点: 微机系统的组成(硬件系统和软件系统) 微机的性能指标(字长、内存容量、运算速 度等)
2
1. 位 ( bit) 计算机能表示的最基本最小的单位 计算机中采用二进制表示数据和指令,故: 位就是一个二进制位,有两种状态,“ 0” 和 “ 1” 2. 字节 ( Byte )
•
•
× MOV AX, [DX] × MOV CL, [AX]
28
指令操作例:MOV
AX,[SI]
•若 (DS)=6000H, (SI)=1200H, (61200H)=44H, (61201H)=33H •则指令执行后,(AX)=3344H。
DS 6000
SI 1200
存储器
60000 +) 1200
相邻的8位二进制数称为一个字节
1 Byte = 8 bit
3
3.微型计算机的层次
4
4.微型计算机的硬件结构
地址总线 AB
C P U
存 储 器
I/O 接 口
输 入 设 备
I/O 接 口
输 出 设 备
I/O 接 口
数据总线DB
控制总线 CB
5
第2章 8086微处理器
8086CPU的内部结构和特点 8086CPU外部引线及功能 内部寄存器的功能 8086的存储器管理 8086的工作时序
; SI
(AX)
指令执行后:(AX)=2233H,(SI)=2233H
AX
2233H
SI
27
4 寄存器间接ቤተ መጻሕፍቲ ባይዱ址
操作数的偏移地址(有效地址EA)放在寄存器中 只有SI、DI、BX和BP可作间址寄存器
(BX) (BP) (SI) (DI)
EA =
例: MOV AX, [BX] MOV CL, CS:[DI] 错误例 :
由一个基址寄存器的内容和一个变址寄存器的内 容相加而形成操作数的偏移地址,称为基址-变址寻 址。
EA =
(BX) (BP)
+
(SI)
(DI)
同一组内的寄存器不能同时出现。
33
• • • • • • •
例: MOV AX, [BX] [SI] MOV AX, [BX+SI] MOV AX, DS: [BP] [DI] 错误例: × MOV AX, [BX] [BP] × MOV AX, [DI] [SI]
MOV AX,[BX+BASE] [SI]
MOV AX,[BX+SI+BASE] MOV AX,[BX] BASE [SI] MOV AX,[BX+SI] BASE
36
指令操作例:MOV AX,DATA[DI][BX]
8000 2000 1000
操作码
代码段
83000 83000H
AX AH AL
. . .
YY XX 数据段
. . .
35
7 相对的基址-变址寻址
在基址-变址寻址的基础上再加上一个相对位移量 注意事项同基址-变址寻址
EA =
(BX)
(BP)
+
(SI) (DI)
+
8位
16位
位移量
例: MOV AX,BASE [SI] [BX]
默认的段寄存器为DS,但也可以显式地指定其他 段寄存器——称为段超越前缀
偏移地址也可用符号地址来表示,如ADDR、VAR 例:
MOV MOV AX , [2A00H] DX , ES: [2A00H]
MOV
SI , TABLE_PTR
24
指令操作例:MOV AX,[3102H]
AL (3102H) , AH (3103H)
17
3、8086 CPU中标志寄存器的主要作用是( D )。 A:检查当前指令的错误 B:纠正当前指令执行的结果与错误 C:决定是否停机 D:产生影响或控制某些后续指令所需的 标志
18
判断题
1 、 I/O 端口与存储器单元独立编址的主要优 点是I/O端口不占用存储器单元。( √ ) 2 、 8086 系统中寄存器和存储器都是 CPU 内 部的存储单元。( × )
操作数放在某个寄存器中
源操作数与目的操作数字长要相同
寄存器寻址与段地址无关 例: MOV MOV MOV 错误例: × MOV × MOV AX, BX [3F00H], AX CL, AL AX, BL ES: AX, DX ; 字长不同 ; 寄存器与段无关
26
指令操作例:MOV SI,AX 指令执行前:(AX)=2233H
14
举例
下图表示的是8086系统中的( A )操作。 A:读存储器 B:写存储器 C:读I/O口 D:写I/O口
CLK M/IO
AD RD
地址信号
数据信号
15
填空题 1、8086/8088系统启动时,CS=(0FFFFH),IP=(0000H )。若开机后要系统从 08000H 单元开始执行程序,应在 ( 0FFFF0H )处设置一条跳转指令。 2 、设 DS=4500H , AX=0508H , BX=4000H , SI=0320H , 8086以最小方式执行 MOV [BX+SI+0100H],AX指令时, 引脚M/IO=( 1 ),RD=( 1 ),WR=(0), 地址总线上的地址 = ( 49420 ) H ,数据总线传输的数据 = (0508)H。
61200
AX 33H 44H
29
61200H
44H
33H
数 据 段
5 寄存器相对寻址
EA=间址寄存器的内容加上一个8/16位的位移量
(BX)
EA =
(BP) (SI) (DI)
+
8位
16位
位移量
寄存器相对寻址常用于存取表格或一维数组中的 元素——把表格的起始地址作为位移量,元素的下 标值放在间址寄存器中(或反之)
34
指令操作例:MOV AX,[BX][SI]
假定:(DS)=8000H, (BX)=2000H, SI=1000H 则物理地址 = 80000H + 2000H + 1000H = 83000H 指令执行后: (AL)=[83000H] . . (AH)=[83001H] .
DS BX + SI
如逻辑指令、移 位指令等。
20
80x86的8大寻址方式
• • • • • • • 1、立即寻址 mov cx,2129h 2、寄存器寻址 mov cx,ax 3、存储器寻址 mov cx,[2000h] 4、寄存器间接寻址 mov cx,[bp] 5、寄存器相对寻址 mov cx,[bx+1000h] 6、基址变址寻址 mov cx,[bx+si] 7、相对基址变址寻址 mov cx,[bp+si+100h] • 8、隐含寻址
8位
1 2
3 4
指令队列
执行部件(EU)
总线接口部件(BIU)
AH BH CH DH SI DI
AL BL CL DL
AX BX CX DX
累加器 Accumulator 基数寄存器 Base 计数寄存器 Count 数据寄存器 Data 变 址 寄存器
数 据 寄存器
BP SP DS ES SS CS IP PSW
21
1 立即寻址
操作数(为一常数)直接由指令给出 (此操作数称为立即数) 立即寻址只能用于源操作数 例:
MOV MOV
错误例:
AX, 1C8FH BYTE PTR[2A00H], 8FH
× MOV
2A00H, AX
; 错误!
22
指令操作例:MOV AX,3102H
AX AH AL
; AX
•
• • •
•(见下页图示)
31
MOV AX,DATA[BX]
DS 6000
BX 1000 + DATA 2A00 63A00
AX AH AL
. . .
操作码
00 偏移量低 2A 偏移量高
代 码 段
. . .
63A00H
66H 55H
. . .
数 据 段
32
6 基址-变址寻址
若操作数的偏移地址: 由基址寄存器(BX或BP)给出 —— 基址寻址方式 由变址寄存器(SI或DI)给出 —— 变址寻址方式
19
第3章 汇编
•了解汇编程序的基本概念
什么是助记符、指令、伪 指令?汇编上机的过程, 每个阶段文件的后缀?
•掌握常见的几种寻址方式中操作数寻址过程 •掌握间接寻址和基址变址寻址方式中寄存器的约定 •了解段超越的概念及其使用 •掌握80X86基本汇编指令 •了解伪指令语句的格式及作用 •掌握程序的结构
•物理地址 = 段地址 10H + 偏移地址
12
5.时序
指令周期:是指一条指令经取指、译码、读 写操作数到执行完成的过程。 若干总线周期组成一个指令周期。 总线周期:是指CPU完成一次访问内存(或接 口)操作所需要的时间。 一个总线周期至少包括4个时钟周期。 时钟周期:相邻两个脉冲之间的时间间隔, 是计算机内部最小的时间单位。
如果(DS)=2000H, (23012H) = CDH, (23013H) = ABH 则操作数的物理地址为: 存储器 20000H+3102H = 23102H 指令执行后:(AX) = ABCDH
AH
AL
23102H
MOV操作码 02H 31H
代 码 段
. .
CDH ABH
数 据 段
25
3 寄存器寻址
16
选择题 1 、设 SS=2000H , SP=0100H , AX=2107H ,执行 指令 PUSH AX后,数据 21H的存放地址是( B )。 A:200FEH B:200FFH C:20101H D:20102H 2 、若显示器的最高分辨率为 1280×1024 、 32 位真 色彩,所需最小缓存为( C )。 A:2MB B:4MB C:5MB D:6MB