微机原理串讲

合集下载

微机原理讲稿(6)

微机原理讲稿(6)

逻辑运算和移位指令包括逻辑运算、移位和循环移位指令¾逻辑运算指令包括AND、TEST、OR、XOR、NOT 五条指令(1)NOT OPRD9求反并将结果送回。

9操作数可以是8位或16位的寄存器或存贮器。

9对标志位不产生影响。

例:NOT AL(2)AND指令9一般格式:AND OPRD1,OPRD29功能:对操作数进行按位相“与”的逻辑运算。

9操作数可以是字节或字。

9目的操作数、源操作数的类型与加法指令相同。

9应用场合:使操作数若干位不变而某些位为09标志位:CF=0,OF=0PF、SF、ZF反映操作的结果,AF未定义例:AND AL,0FHAND AX,BXAND SI,BPAND AX,DATA_WORDAND DX,BUFFER[SI+BX]AND DATA_WORD,00FFHAND BLOCK[BP+DI],DX(3) TEST指令9一般格式:TEST OPRD1,OPRD29功能与AND指令相同,但不影响操作数,反映在标志位上9场合:常用于位测试,常与条件转移指令一起使用例:IN AL,PORTTEST AL,00101010BJNZ NEXT …NEXT:…(4) OR指令9一般格式: OR OPRD1,OPRD2 9操作数类型以及标志位均与AND指令相同9操作数的若干位不变,某些位置1例:OR AL,30HOR AX,00FFHOR BX,SIOR BX,DATA_WORDOR BUFFER,SIOR BUFFER[BX+SI],8000H(5) XOR指令9一般形式为XOR OPRD1,OPRD2 9操作数类型以及标志位均与AND指令相同9使操作数若干位维持不变,而某些位取反的情形。

例:XOR AL,0FHXOR AX,BXXOR DX,SIXOR CX,CONNT_WORDXOR BUFFER,DIXOR BUFFER[BX+SI],AXXOR AX,AXXOR SI,SI¾移位指令移位指令:逻辑左移SHL、算术左移SAL、逻辑右移SHR、算术右移SAR移位指令的操作对象:8位或16位的寄存器或存储器可以移一位,可以移多位,移多位时,移动位数必须放在寄存器CL中逻辑左移与算术左移完全相同(1) SAL/SHL指令9每移位一次在右面最低位补0 9左面的最高位移入标志位CF标志位的影响:若移动一位,则移位后,若操作数的最高位与CF不相等,则OF=1,否则OF=0,即若移位使得符号位发生变化,则OF=1 ;若移动多位,OF不确定。

微机原理考前复习串讲

微机原理考前复习串讲
微机原理与接口技术
复习重点

第一章第二章复习课件 第三章第四章复习课件 第五章第六章复习课件 总复习串讲课件 答疑课课件 课后重点习题及作业题 上机实验内容
微机原理与接口技术
第一章 微型计算机基础概论


1.微机系统的组成
2.掌握计算机中常用的数制与编码:

十进制、二进制数、十六进制的运算和转换; BCD码的表示及与二进制的转换 常用的ASCII码:数字、大小写英文字母的ASCII码表示 数据在内存中的存贮方式
8086/8088CPU结构

1. Intel 8088 CPU 的结构:执行部件及总线接口部件

(1) 执行部件 EU: ①通用寄存器(AX、BX、CX、DX); ②变址寄存器(SI、DI) ③堆栈指针寄存器(SP); ⑤标志寄存器(FR); (2) 总线接口部件 BIU: ① 4 个段地址寄存器( CS 、 DS 、 SS 、 ES );②指令指针寄存器 (IP) ③20位的地址加法器; ④六字节的指令队列; ④基数指针寄存器(BP); ⑥算术逻辑部件(ALU);
变量名及其属性、指令中的变量名
表达式与关系运算符 伪指令:DB、DW、DD、DUP、EQU、ORG、
段定义 / 过程定义 / 程序结束伪指令 :SEGMENT 、 ENDS、ASSUME、PROC、FAR、NEAR、 ENDP、END

常用 DOS 功能的调用方法: 1 、 2 、 9 、 0AH 、 4CH 号 调用 程序调试过程(编译、连接、运行、debug)

扩展原则:
每个芯片的地址线、数据线、控制线并联,仅片选端分 别引出,以实现每个芯片占据不同的地址范围
字位扩展

微机原理讲稿 (2)

微机原理讲稿 (2)

(1) 4个通用寄存器既可以作为16位寄存器使用,也可以 作为8位寄存器使用。当BX寄存器作为8位寄存器时, 分为BH和BL,BH为高8位,BL为低8位。 (2) AX寄存器也常称为累加器,8086指令系统中有许多 指令都是通过累加器的动作来执行的。当累加器作为16 位来使用时,可以进行按字乘操作、按字除操作、按字 输入/输出和其他字传送等;当累加器作为8位来使用 时,可以实现按字节乘操作、按字节除操作、按字节输 入/输出和其他字节传送,以及十进制运算等。 (3) 加法器是算术逻辑的主要部件,绝大部分指令的执 行都由加法器来完成。 (4) 标志寄存器FR共有16位,其中7位未用,所用的各 位含义如下:
(3) 当指令队列已满,而且执行部件又没有总线访问时, 总线接口部件便进入空闲状态。 (4) 在执行转移指令、调用指令和返回指令时,下面要 执行的指令就不是在程序中紧接着的那条指令了,而总 线接口部件往指令队列装入指令时,总是按顺序进行的, 这样,指令队列中已经装入的字节就没有用了。遇到这 种情况,指令队列中的原有内容被自动消除,总线接口 部件会接着往指令队列中装入另一个程序段中的指令。
15
图2.5
16
例如,代码段寄存器CS=2000H,指令指针寄存器存 放的是偏移地址IP=2200H,存储器的物理地址为 20000H+2200H=22200H。 每一个存储单元看成是具有两种类型的地址: 物理地址和逻辑地址。 物理地址就是实际地址,它具有20位的地址值,并 是唯一标识1MB存储空间的某一个字节的地址。 逻辑地址由段基址和偏移地址组成。程序以逻辑 地址编址,而不是用物理地址。 4个段寄存器分别指向4个现行可寻址的分段的起始 字节单元。一般指令程序存放在代码段中,段地址来 源于代码段寄存器,偏移地址来源于指令指针IP。当 涉及到一个堆栈操作时,段地址寄存器为SS,

微机原理与接口技术串讲

微机原理与接口技术串讲

十六进制 8 9 A B C D E F
相互转换
• 其它数制->十进制
• 按权展开:数值=各位数字与对应权值的乘积之和 n
• XnXn-1…X1X0X-1…X-m = Xi×Pi (P为数制基数)
• 1101.011B=13.375 ,6C2m.A1H = 1730.6289
• 十进制->其它数制
8086最小模式系统配置
RD WR M/IO
8086
ALE
BHE, A19-16 AD15
READY AD0
DEN DT/R
8282
STB DQ
8286
CS
CS
A19
A19
AB
IO
M A0
A0
D15
D0
D15
D0
DB OE
最小模式读写时序
• 总线周期
• CPU通过数据总线对存储器或IO端口进行一次读或者写操作所需要 的时间
7、(看图)地址信号锁存后,RD信号有效,使得能从存储 器中读出数据。 8、(看图)数据要读入CPU,还需要DEN信号有效,作为8 286的选通信号,是数据能通过8286传送。 T3的时候 9、T3状态一开始,CPU检查READY信号,如果为低电平, 表示存储器速度较慢,数据没有准备好,需要在T3和T4状态 中插入Tw状态。CPU在每个Tw状态检查READY信号,若检 测到高电平,则进入T4状态,否则继续插入Tw状态,在Tw 期间,控制信号及状态信号都保持进Tw之前的状态。 10、READY信号为高电平,CPU读取输入的数据,数据传输 完毕后进入高阻态。 T4的时候 11、读取数据后,数据从数据总线上撤除,各个控制信号和 状态信号线进入无效状态,DEN、RD信号撤销。一个读总线 周期结束。

微机原理串讲

微机原理串讲

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
如果(DS)=2000H, (23012H) = CDH, (23013H) = ABH 则操作数的物理地址为: 存储器 20000H+3102H = 23102H 指令执行后:(AX) = ABCDH
AH
AL
23102H
MOV操作码 02H 31H
代 码 段
. .
CDH ABH
数 据 段
25
3 寄存器寻址
微机原理复习
1
第1章
1.1 1.3 1.5
微机系统概述
微型机的发展 微机系统的组成 微机系统的主要性能指标
本章要点: 微机系统的组成(硬件系统和软件系统) 微机的性能指标(字长、内存容量、运算速 度等)
2
1. 位 ( bit) 计算机能表示的最基本最小的单位 计算机中采用二进制表示数据和指令,故: 位就是一个二进制位,有两种状态,“ 0” 和 “ 1” 2. 字节 ( Byte )

• • •
•(见下页图示)
31
MOV AX,DATA[BX]
DS 6000
BX 1000 + DATA 2A00 63A00
AX AH AL
. . .
操作码
00 偏移量低 2A 偏移量高
代 码 段
. . .

微机原理实验四串操作指令

微机原理实验四串操作指令

实验四串操作指令程序实验一、实验目的1. 熟悉五种串操作指令的功能,会编写常用的串操作应用程序。

2. 会使用DEBUG 命令查看串操作运行的结果。

二、实验环境1. 硬件:PC 微机2. 软件:Masm for Windows 汇编集成开发环境三、实验讲义串指连续存放在存储器中的一些数据字节、字或者双字。

串操作允许对程序连续存放的数据块进行操作。

这是唯一一种可以从存储器到存储器的指令。

源串一般存放在数据段,偏移地址由SI 指定;目标串必须在附加段,偏移地址由DI 指定。

在每次进行串操作后,SI 和DI 两个指针会自动修改。

修改的是增量方向还是减量方向由标志位DF 决定,DF=0 为增量操作,DF=1 为减量操作。

CX 中存放的是数据块的长度,可在CX 前加重复前缀标志,对串进行连续操作。

执行串指令之前,一般先进行如下操作:源串首地址(末地址)→ SI目的串首地址(末地址)→ DI串长度→ CX建立方向标志DF1. 重复前缀标志助记符判断条件说明REP CX 0 CX=CX-1,若CX 0 则重复REPE 或REPZ CX 0 且ZF=1 CX=CX-1,若CX 0 且ZF=1 则重复REPNE 或REPNZ CX=0 且ZF=0 EX=CX-1,若CX 0 且ZF=0 则重复2. 方向标志指令方向标志由标志位DF 决定,有CLD 和STD 两种指令。

CLD 将DF 置0,地址为增量操作。

STD 将DF 置1,地址为减量操作。

3. 串传送指令格式: [REP] MOVS DESTS, SRCS[REP] MOVSB/ MOVSW / MOVSD功能:将DS:SI 中的源串数据传送到ES:DI 规定的目的串单元中。

加重复前缀REP 可实现连续存放的数据块的传送。

例1:将源串中前三个字节的数据传送到目的串。

源串在数据段(DATAS)中,存放在SRC 单元中;目的串在附加数据段(EDATAS)中,存放在DEST 单元中。

微机原理讲稿(7)

微机原理讲稿(7)

¾程序控制指令主要指程序转移指令,转移类指令可改变CS与IP的值(段间转移)或仅改变IP 的值(段内转移),以改变指令执行的顺序。

1.无条件转移、调用和返回指令2.条件转移指令3.循环控制指令4.软中断指令及中断返回指令1.无条件转移、调用和返回指令转移有段内转移和段间转移段内转移:CS不变,IP改变段间转移:CS、IP均改变(1)无条件转移指令JMP9指令的一般格式为JMP OPRD 其中OPRD是转移的目的地址9包括直接转移和间接转移9直接转移指令直接给出转移目的地址,包括短程(SHORT)、近程(NEAR)和远程(FAR)3种形式9间接转移指令的目的地址由存储器或寄存器给出,包括段内间接转移和段间间接转移9直接转移的3种形式•短程转移JMP SHORT NEXT其中目的地址与JMP指令所处地址的距离位于范围-128~127NEXT是本段内的一个标号。

如果段内标号定义在前,并且目的地址与JMP指令所处地址的距离位于范围-128~127内,则SHORT 可以省略。

•近程转移JMP NEAR PTR LOOP1或JMP LOOP1其中目的地址与JMP指令应处于同一地址段范围之内,NEAR往往予以省略。

•远程转移JMP FAR PTR LOOP2远程转移是段间转移,目的地址与JMP指令所在地址不在同一段内,执行该指令时要修改CS和IP的内容。

9间接转移指令的两种形式•段内间接转移JMP CXJMP WORD PTR[BX]指令的操作是一个16位的寄存器或存储器地址。

•段间间接转移JMP DWORD PTR[BX]该指令指定的双字指针的第一个字单元内容送入IP,第二个字单元内容送入CS。

所定义的单元必须是双字单元。

(2)调用和返回指令9CALL指令调用一个过程或子程序,调用过程或子程序结束后,使用返回指令RET返回主程序。

9过程或子程序有段间(即远程FAR)和段内调用(即近程NEAR)之分,CALL、RET也有FAR和NEAR之分。

微机原理串讲20121225

微机原理串讲20121225

寻址方式


立即数:立即寻址方式 (指令队列)
寄存器:寄存器寻址方式(速度最快)

存储器

EA=
直接寻址方式 寄存器间接寻址方式
BX BP Ⅰ

SI DI Ⅱ

Disp8 Disp16 Ⅲ


寄存器相对寻址方式
基址变址寻址方式 相对基址加变址寻址方式
指令系统
数据传送类指令 算术运算类指令 位处理类指令 字符串处理类指令 控制转移类指令
BHE
地址总线
存储器
I/O芯片
DEN
DT/R
T
8286 (2)
数据总线
OE
8086存贮器结构

奇存储体
偶存储体
D7~D0 D15~D8
பைடு நூலகம்
数据总线DB7~DB0 数据总线DB15~DB8

D7~D0
D7~D0 偶地址存贮体 (低字节)

对准字 非对准字
BHE
A0 A19~A1
奇地址存贮体 (高字节) SEL A18~A0
二进制←→十进制数←→ BCD码
二进制数运算规则

算术运算 加法、减法、乘法、除法 逻辑运算 与、或 、非、异或

数据表示方法

数值数据
无符号数(所有位均表示数值;数值范围) 有符号数(原码、补码)

符号数据:ASCII码(美国信息交换标准码)
0~9 A~F a~f 回车 换行 → → → → → 30H~39H 41H~46H 61H~66H 0DH 0AH

过程调用指令 CALL 过程返回指令 RET
返回地址:入栈/出栈 修改IP / CS IP
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

源变址寄存器 Source Index 目的变址寄存器 Destination Index 基址指针寄存器 Base Point 堆栈指针寄存器 Stack Point
通 用 寄 存 器
8086
指 针 寄存器
数据段寄存器 Data Segment 附加段寄存器 Extra Segment 堆栈段寄存器 Stack Segment 代码段寄存器 Code Segment 指令指针寄存器 Instruction Pointer 状态标志寄存器 Processor Status Word
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
微机原理复习
1
第1章
1.1 1.3 1.5
微机系统概述
微型机的发展 微机系统的组成 微机系统的主要性能指标
本章要点: 微机系统的组成(硬件系统和软件系统) 微机的性能指标(字长、内存容量、运算速 度等)
2
1. 位 ( bit) 计算机能表示的最基本最小的单位 计算机中采用二进制表示数据和指令,故: 位就是一个二进制位,有两种状态,“ 0” 和 “ 1” 2. 字节 ( Byte )
; 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] 错误例 :
段寄存器
的 内 部 寄 存 器
控制寄存器
3. 学习寄存器注意事项(思考):
(1)8086对存储器的管理为什么采用分段的 办法? (2)CPU内部有什么寄存器?名称和功能分别 是什么?状态标志寄存器中OF、IF的含义? (3) AX,BX,CX,DX能用来存放偏移地址吗? 哪些可以?哪些不可以?
(4)有几个段寄存器?其功能是什么?

• • •
•(见下页图示)
31
MOV AX,DATA[BX]
DS 6000
BX 1000 + DATA 2A00 63A00AX AH ຫໍສະໝຸດ L. . .操作码
00 偏移量低 2A 偏移量高
代 码 段
. . .
63A00H
66H 55H
. . .
数 据 段
32
6 基址-变址寻址

若操作数的偏移地址: 由基址寄存器(BX或BP)给出 —— 基址寻址方式 由变址寄存器(SI或DI)给出 —— 变址寻址方式
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]
17
3、8086 CPU中标志寄存器的主要作用是( D )。 A:检查当前指令的错误 B:纠正当前指令执行的结果与错误 C:决定是否停机 D:产生影响或控制某些后续指令所需的 标志
18
判断题
1 、 I/O 端口与存储器单元独立编址的主要优 点是I/O端口不占用存储器单元。( √ ) 2 、 8086 系统中寄存器和存储器都是 CPU 内 部的存储单元。( × )
由一个基址寄存器的内容和一个变址寄存器的内 容相加而形成操作数的偏移地址,称为基址-变址寻 址。

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]
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
标志寄存器
执行部分 控制电路
(5)BX,BP,SP,SI,DI,IP存放的偏移地址在构 成物理地址时,与段地址是如何配合使用?
10
4.存储器组织

地址:辨识存储器和I/O寄存器内的存储单元。


地址空间:所有地址的组合。
地址线决定地址空间的大小:n ——2n
11
•物理地址:存储单元的实际地址编码, 每个存 储单元都有一个唯一的20位地址作为该存储单元 的物理地址。 CPU访问存储器时,必须先确定所要访问 的存储单元的物理地址才能存取该单元中的内容。 •偏移地址:指段内任意一个存储单元,其相对 于段起始地址的偏移量,也称为有效地址EA。是 一个16位的地址。 •逻辑地址:段地址:偏移地址 2000H:0123H
8000 2000 1000
操作码
代码段
83000 83000H
AX AH AL
. . .
YY XX 数据段
. . .
35
7 相对的基址-变址寻址
在基址-变址寻址的基础上再加上一个相对位移量 注意事项同基址-变址寻址

EA =

(BX)
(BP)
+
(SI) (DI)
+
8位
16位
位移量
例: MOV AX,BASE [SI] [BX]
3102H
执行后,(AH) = 31H,(AL) = 02H
立即寻址指令在存 储器中的存放形式
存储器
MOV操作码
立 即 数
操作码 低 8位 高 8位
代 码 段
02H 31H
代 码 段
23
2 直接寻址

指令中直接给出操作数的16位偏移地址
偏移地址也称为有效地址(EA, Effective Address)
21
1 立即寻址
操作数(为一常数)直接由指令给出 (此操作数称为立即数) 立即寻址只能用于源操作数 例:

MOV MOV
错误例:
AX, 1C8FH BYTE PTR[2A00H], 8FH
× MOV
2A00H, AX
; 错误!
22
指令操作例:MOV AX,3102H
AX AH AL
; AX
如果(DS)=2000H, (23012H) = CDH, (23013H) = ABH 则操作数的物理地址为: 存储器 20000H+3102H = 23102H 指令执行后:(AX) = ABCDH
AH
AL
23102H
MOV操作码 02H 31H
代 码 段
. .
CDH ABH
数 据 段
25
3 寄存器寻址

操作数放在某个寄存器中


源操作数与目的操作数字长要相同
寄存器寻址与段地址无关 例: MOV MOV MOV 错误例: × MOV × MOV AX, BX [3F00H], AX CL, AL AX, BL ES: AX, DX ; 字长不同 ; 寄存器与段无关
26
指令操作例:MOV SI,AX 指令执行前:(AX)=2233H
如逻辑指令、移 位指令等。
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、隐含寻址

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。
19
第3章 汇编
•了解汇编程序的基本概念
什么是助记符、指令、伪 指令?汇编上机的过程, 每个阶段文件的后缀?
•掌握常见的几种寻址方式中操作数寻址过程 •掌握间接寻址和基址变址寻址方式中寄存器的约定 •了解段超越的概念及其使用 •掌握80X86基本汇编指令 •了解伪指令语句的格式及作用 •掌握程序的结构
相关文档
最新文档