《微处理器指令系统》PPT课件
合集下载
微处理器的指令系统.
BR 指令 X 基址值 IR 变址
段寄存器 段首址 左移 4 位
+
EA
+
PA
操作数
说明:X表示位移量,其值是用8位或16位二进制补码表示的有符号 BR表示基址寄存器,只能选用BX、BP之一;IR表示变址寄存器,只能选用SI DI之一。BR的内容加上IR的内容,再加上X,所得之和是操作数的偏移地址EA 所以,在基址加变址寻址方式中,操作数的偏移地址EA按如下公式计算:
BR
指令 基址值
段寄存器 段首址 左移 4 位
+
IR 变址值
EA
+
PA 操作数
图2.9 基址变址寻址
说明:BR表示基址寄存器,只能选用BX、BP之一;IR表示变址寄存器, 只能选用SI、DI之一。BR的内容加上IR的内容是操作数的偏移地址EA,所以,在基址变址 [BX]+[SI],用BX作基址寄存器,SI作变址 寻址方式中,操作数的偏移地址EA按如下公式计算: 寄存器时 [BX]+[DI],用BX作基址寄存器,DI作变址 EA= 寄存器时 [BP]+[SI],用BP作基址寄存器,SI作变址 寄存器时 [BP]+[DI],用BP作基址寄存器,DI作变址 【例2.7】 MOV AX,[BX][DI]。 执行前:BX=2000H,DI=0002H寄存器时 ,DS=3000H,(32002H)=1AFEH 目的操作数地址是AX。源操作数采用基址变址寻址,基址寄存器选用了BX,变址寄存 器选用了DI。由于源操作数选用BX作基址寄存器,所以其物理地址PA由数据段寄存器DS 的内容左移4位与偏移地址EA相加形成,即源操作数的PA=(DS)左移4位+BX+DI=32002H, (32002H)=1AFEH,所以 执行后:AX=1AFEH,BX、DI、DS、(32002H)未变。 【例2.8】 MOV [BX+SI],CX。 执行前:DS=1000H,BX=300H,SI=50H,CX=1234H,(10350H)=0FFFFH 目的操作数采用基址变址寻址方式,基址寄存器选用了BP,段寄存器就是DS,变址寄 存器选用了SI。所以,其物理地址PA由堆栈段寄存器DS的内容左移4位与偏移地址EA相加 形成,即目的操作数的PA=(DS)左移4位+BX+SI =10350H,所以 执行后:(10350H)=1234H,BX、SI、CX的内容不变。 5. 相对基址加变址寻址 在相对基址加变址寻址方式中,操作数的偏移地址EA是指令中指定的基址寄存器内容
微机原理第3章-指令系统
▲按给出偏移地址方式的不同,分为以下5种: 寄存器间接寻址 寄存器相对寻址 基址加变址寄存器 相对基址加变址寄存器 MOV AL, [ BX ] MOV AL, [ BX + 10H ] MOV AL, [ BX + SI ] MOV AL, [ BX + SI + 10H ]
(1)寄存器间接寻址
寄存器寻址方式的操作数是寄存器的值,指令中直接 使用寄存器名,包括8位或16位通用寄存器和段寄存器。可 使用的16位寄存器:AX、BX、CX、DX、SI、DI、SP、 BP;其中:AX、BX、CX、DX可分成两8位使用。
例: MOV AX,CX
;(AX)
(CX)
INC CX
;(CX)
(CX)+1
3.直接寻址(Direct Addressing)
0002
AH
AL
默认段寄存器的关系: ① 使用BX、SI、DI,默认段寄存器为DS
(BX)
PA = ( DS )×10H + (SI) (DI)
② 使用BP,默认段寄存器为SS PA = ( SS )×10H + ( BP )
使用BX、SI、DI的寄存器寻址,默认段寄存器为DS
寄存器组 AH AL BH BL CH CL DH DL SI DI BP SP AX BX CX DX DS ES SS CS IP 地 址 加 法 器
运 算 器
控制总线CB
码
器
PSW标志 寄存器
执行部件控制电路
CPU
总线
内存
例: MOV AX , [ BX + SI ]
若 ( DS ) = 4000H
( BX ) = 2000H ( SI ) = 100H 则内存操作数的物理地址为:
微机原理5_8086指令系统08
• 指令中的操作数:
– 可以是一个具体的数值 – 可以是存放数据的寄存器 – 或指明数据在主存位置的存储器地址
6
双操作数指令
MOV dst, src ; (dst) (src) ↑ ↑ ↑ 助记符 目的 源操作数 操作数 例: MOV AH,BL MOV AX,1234H
ADD dst, src ; (dst) (dst)+(src) ↑ ↑ ↑ 助记符 目的 源操作数 操作数 例: ADD AL,36H ADD BX,CX 大多数运算型指令都是双操作数指令,对这种指令, 有的机器(大中型)使用“三地址”指令:除给出参加 运算的两个操作数外,还要指出运算结果的存放地址 7
18
寄存器寻址
19
特 点
(1) 操作数就在寄存器中,不需要访问存
储器来取得操作数(指令执行时,操作就在 CPU的内部进行),因而执行速度快。
(2)寄存器号比内存地址短 * 在编程中,如有可能,尽量使用这种寻址 方式的指令。 * 寄存器寻址方式既可用于源操作数,也可 用于目的操作数,还可以两者都用于寄存器寻 址方式(如 MOV BX , AX )
物理地址 = 16d (DS) +
BP (SS)
(SI)
(DI)
28
物理地址 = 16d (SS) + (BP)
例:
MOV AX, [BX] MOV ES:[BX] , AX MOV DX, [BP] • MOV AX , [BX] ;
设 ( DS) = 2000H ,(BX) = 1000H PA =20000H + 1000H =21000H 指令的执行结果为: (AX) = 50A0H *指令中也可以通过“段跨越前缀”取 得其他段中的数据, 例如: MOV AX,ES: [BX] PA = 16d (DS) + (BX) PA = 16d (ES) + (BX) PA = 16d (SS) + (BP)
微处理器与系统结构PPT详细讲解
•29 •HLDA* •28 •WR*
有效,三态)
•27 •M/IO* 测试信号(输入、低电
•26 •DT/R* •25 •DEN*
平有效)
•24 •23 •22
•ALE* •INTA* •TEST
READY 准备就绪(输入 、高电平有效)
•21 •READY
•RESET
状态信号指示当前使用段
一、8086通用引脚信号
•1
•40 •VCC
•2
•39 •AD15 INTR可屏蔽中断请求
•3 •4
•38 •A16/S3 •37 •A17/S4
信号(输入、高有效)
•5 •6
•36 •35
•A18/S5 •A19/S6
NMI非屏蔽中断请求(
•7 •8
•34 •BHE/S7 •33 •MN/M
输入,上升沿触发)
•GND •AD14 •AD13 •AD12 •AD11 •AD10 •AD9 •AD8 •AD7 •AD6 •AD5 •AD4 •AD3 •AD2 •AD1 •AD0 •NMI •INTR •CLK •GND
二、8086最小模式引脚信号
M/ 存储器/IO控制信号
•1 •2 •3
•40 •39 •38
微处理器与系统结构PPT详 细讲解
第二章学习要点
重点掌握内容: 1.微处理器的基本结构。 2.Intel 8086微处理器的基本结构,包括: 功能结构、寄存器结构和总线结构。 3.Intel 8086微处理器系统的组成: 控制核心单元+存储器组织+I/O端口组织 4.Intel 8086微处理器在最小模式下的典型总线 操作和时序。 5.几个重要概念:时钟周期,总线周期,指令周期。
指令系统PPT课件
◆AX <--(DS:5000H),表示逻辑地址为DS:5000H的内存字单元的内容传 到AX中。DS内容为段地址,5000H为偏移量) ◆AL<--(DS:BX),表示逻辑地址为DS:BX的内存单元的内容传到AL中。 ◆AL<--(DS:BX+5),表示逻辑地址为DS:BX+5的内存单元的内容传到 AL中。
指令的执行:AX<--(DS:SI) 若初始条件为DS=2000H,SI=1000H,则该指令源操作数的物理地址为: 2000H×10H+1000H=21000H
8
指令中也可以不使用缺省的段寄存器,而另指定其它的段寄存 器,这就是段超越。指令指令中写眀段超越前缀从而指定其它的段 寄存器。如指令: MOV AX, ES:[BX]
14
一般情况下使用默认的段寄存器来寻找操作数,有些情况下允
许使用非默认的段寄存器,则在指令中必须写明段寄存器名,这叫 作段超越。
操作类型
默认段寄存器
用BP作指针的存储器寻址方式
SS
存储器寻址方式
DS
(BP作基址除外)
可超越使用的段寄存器
CS,ES,DS CS,ES,SS
15
8、访问I/O端口数据的寻址方式 访问I/O端口数据使用输入/输出指令,有两种不同的寻址方式可用。
再加上一个8位或16位的(有符号数)位移量,CS内容不变。因为位移量是相对 于IP来计算的,所以段内直接转移寻址也称为相对转移寻址。
段内直接转移方式既可以用在条件转移指令中,也可以用在无条件转移指令中, 同样也可以用在调用指令中。但是在条件转移指令中,只能用8位位移量。 【例】请看如下指令。 JMP A2 ;无条件转移到标号A2 指令执行:IP<--A2 JNZ A3 ;ZF标志为0则转移到A3,否则顺序执行 指令执行:如果ZF标志为0,则 IP<---A3
指令的执行:AX<--(DS:SI) 若初始条件为DS=2000H,SI=1000H,则该指令源操作数的物理地址为: 2000H×10H+1000H=21000H
8
指令中也可以不使用缺省的段寄存器,而另指定其它的段寄存 器,这就是段超越。指令指令中写眀段超越前缀从而指定其它的段 寄存器。如指令: MOV AX, ES:[BX]
14
一般情况下使用默认的段寄存器来寻找操作数,有些情况下允
许使用非默认的段寄存器,则在指令中必须写明段寄存器名,这叫 作段超越。
操作类型
默认段寄存器
用BP作指针的存储器寻址方式
SS
存储器寻址方式
DS
(BP作基址除外)
可超越使用的段寄存器
CS,ES,DS CS,ES,SS
15
8、访问I/O端口数据的寻址方式 访问I/O端口数据使用输入/输出指令,有两种不同的寻址方式可用。
再加上一个8位或16位的(有符号数)位移量,CS内容不变。因为位移量是相对 于IP来计算的,所以段内直接转移寻址也称为相对转移寻址。
段内直接转移方式既可以用在条件转移指令中,也可以用在无条件转移指令中, 同样也可以用在调用指令中。但是在条件转移指令中,只能用8位位移量。 【例】请看如下指令。 JMP A2 ;无条件转移到标号A2 指令执行:IP<--A2 JNZ A3 ;ZF标志为0则转移到A3,否则顺序执行 指令执行:如果ZF标志为0,则 IP<---A3
微机原理第02章1
第2章: 溢出和进位的对比
例1:3AH+7CH=B6H
无符号数运算: 58+124=182 范围内,无进位 有符号数运算: 58+124=182 范围外,有溢出
例2:AAH+7CH=(1)26H
无符号数运算: 170+124=294 范围外,有进位 有符号数运算: -86+124=28 范围内,无溢出
常用来存放双字长数据的高16位,或存放外设端口地址
第2章:(2)变址寄存器
16位变址寄存器SI和DI 常用于存储器变址寻址方式时提供地址
SI是源地址寄存器(Source Index) DI是目的地址寄存器(Destination Index)
在串操作类指令中, SI 、 DI 还有较特殊的 用法 现在不必完全理解,以后会详细展开
第2章:溢出和进位的应用场合
处理器对两个操作数进行运算时,按照无 符号数求得结果,并相应设置进位标志 CF; 同时,根据是否超出有符号数的范围设置 溢出标志OF 应该利用哪个标志,则由程序员来决定。 也就是说,如果将参加运算的操作数认为 是无符号数,就应该关心进位;认为是有 符号数,则要注意是否溢出
第2章:符号标志SF(Sign Flag)
运算结果最高位为1,则SF=1; 否则SF=0
有符号数据用最高有效位表示数据的符号 所以,最高有效位就是符号标志的状态
3AH+7CH=B6H,最高位D7=1:SF=1
84H+7CH=(1)00H,最高位D7=0:SF=0
第2章:奇偶标志PF(Parity Flag)
第2章:辅助进位标志AF(Auxiliary Carry Flag)
运算时D3位(低半字节)有进位或
借位时,AF=1;否则AF=0
这个标志主要由处理器内部使用, 用于十进制算术运算调整指令中, 用户一般不必关心 3AH+7CH=B6H,D3有进位:AF=1
第四章-指令系统PPT课件
指令系统中指令采用等长指令的优点:各种指令字长度是相等的,
指令字结构简单,且指令字长度是不变的 ;
采用非等长指令的的优点:各种指令字长度随指令功能而异,结
构灵活,能充分利用指令长度,但指令的控制较复杂 。
.
16
五、指令助记符
由于硬件只能识别1和0,所以采用二进制操作 码是必要的,但是我们用二进制来书写程序却 非常麻烦。
指令前缀 段取代 操作数长度取代 地址长度取代
操作码 Mod Reg或操作码 R/M S I B 位移量 立即数
.
19
七、 Pentium指令格式
指令前缀中的重复前缀指定串的重复操作,这样使 Pentium处理串比软循环快得多。
LOCK前缀用于多CPU环境中对共享存储器的排他性 访问
段取代用于改变默认段寄存器的情况
提供一个常数。
.
31
3、直接寻址
指令中地址码字段给出的地址A就是操作数的 有效地址EA(Effective Address),即EA=A。
.
32
3、直接寻址
操作数地址是不能修改的,与程序本身所在的位置 无关,所以又叫做绝对寻址方式
在早期的计算机中,主存储器的容量较小,指令中 地址码的位数要求不长,采用直接寻址方式简单快 速,也便于硬件实现,因此,常被作为主要的寻址 方式。
本章所讨论的指令,是机器指令。 一台计算机中所有机器指令的集合,称为这台计算机的指令系
统。 指令系统是表征一台计算机性能的重要因素,它的格式与功能
不仅直接影响到机器的硬件结构,而且也直接影响到系统软件, 影响到机器的适用范围
.
3
4.1 指令系统的发展与性能要求
3、发展情况
复杂指令系统计算机,简称CISC。但是如 此庞大的指令系统不但使计算机的研制周期 变长,难以保证正确性,不易调试维护,而 且由于采用了大量使用频率很低的复杂指令 而造成硬件资源浪费。
指令字结构简单,且指令字长度是不变的 ;
采用非等长指令的的优点:各种指令字长度随指令功能而异,结
构灵活,能充分利用指令长度,但指令的控制较复杂 。
.
16
五、指令助记符
由于硬件只能识别1和0,所以采用二进制操作 码是必要的,但是我们用二进制来书写程序却 非常麻烦。
指令前缀 段取代 操作数长度取代 地址长度取代
操作码 Mod Reg或操作码 R/M S I B 位移量 立即数
.
19
七、 Pentium指令格式
指令前缀中的重复前缀指定串的重复操作,这样使 Pentium处理串比软循环快得多。
LOCK前缀用于多CPU环境中对共享存储器的排他性 访问
段取代用于改变默认段寄存器的情况
提供一个常数。
.
31
3、直接寻址
指令中地址码字段给出的地址A就是操作数的 有效地址EA(Effective Address),即EA=A。
.
32
3、直接寻址
操作数地址是不能修改的,与程序本身所在的位置 无关,所以又叫做绝对寻址方式
在早期的计算机中,主存储器的容量较小,指令中 地址码的位数要求不长,采用直接寻址方式简单快 速,也便于硬件实现,因此,常被作为主要的寻址 方式。
本章所讨论的指令,是机器指令。 一台计算机中所有机器指令的集合,称为这台计算机的指令系
统。 指令系统是表征一台计算机性能的重要因素,它的格式与功能
不仅直接影响到机器的硬件结构,而且也直接影响到系统软件, 影响到机器的适用范围
.
3
4.1 指令系统的发展与性能要求
3、发展情况
复杂指令系统计算机,简称CISC。但是如 此庞大的指令系统不但使计算机的研制周期 变长,难以保证正确性,不易调试维护,而 且由于采用了大量使用频率很低的复杂指令 而造成硬件资源浪费。
《指令系统 》课件
指令系统的发展也推动了计算机系统的进步,如随着指令集架构的演进,计算机系统的功能越来越强大 ,性能也越来越高。
在人工智能领域的应用
指令系统在人工智能领域中也有 着广泛的应用。人工智能算法的 实现需要大量的计算和数据处理 ,而指令系统可以提供高效的运 算能力和数据处理能力,为人工 智能算法的运行提供支持。
总之,指令系统作为一种底层技术,在各个领域都有着广泛的应用前景,为各行业的发展提供了重要 的技术支持。
05 指令系统的未来发展
指令系统的发展趋势
指令系统向更高效能发展
01
随着技术的进步,指令系统将不断优化,提高执行效率和性能
。
指令系统向更智能化发展
02
人工智能技术的引入将使指令系统具备更强的自适应和学习能
指令系统还可以用于人工智能领 域的模型优化和算法加速,如通 过优化指令系统实现深度学习模 型的快速推理和训练,提高人工 智能应用的性能和效率。
此外,指令系统还可以用于人工 智能领域的安全性和隐私保护, 如通过加密指令或硬件安全模块 等手段保护用户隐私和数据安全 。
在其他领域的应用
除了计算机系统和人工智能领域,指令系统在其他领域也有着广泛的应用。如通信领域中,指令系统 可以用于信号处理和调制解调等操作;在图形处理领域中,指令系统可以用于图像处理和渲染等操作 ;在科学计算领域中,指令系统可以用于数值计算和模拟等操作。
研究如何将人工智能技术应用于指令系统,使其具备更强的智能化 能力。
未来指令系统的发展前景
01
广泛应用于云计算、大数据等领域
随着云计算、大数据等技术的普及,指令系统将在这些领域发挥重要作
用。
02
成为人工智能技术的关键组成部分
随着人工智能技术的发展,指令系统将成为实现人工智能的重要工具。
在人工智能领域的应用
指令系统在人工智能领域中也有 着广泛的应用。人工智能算法的 实现需要大量的计算和数据处理 ,而指令系统可以提供高效的运 算能力和数据处理能力,为人工 智能算法的运行提供支持。
总之,指令系统作为一种底层技术,在各个领域都有着广泛的应用前景,为各行业的发展提供了重要 的技术支持。
05 指令系统的未来发展
指令系统的发展趋势
指令系统向更高效能发展
01
随着技术的进步,指令系统将不断优化,提高执行效率和性能
。
指令系统向更智能化发展
02
人工智能技术的引入将使指令系统具备更强的自适应和学习能
指令系统还可以用于人工智能领 域的模型优化和算法加速,如通 过优化指令系统实现深度学习模 型的快速推理和训练,提高人工 智能应用的性能和效率。
此外,指令系统还可以用于人工 智能领域的安全性和隐私保护, 如通过加密指令或硬件安全模块 等手段保护用户隐私和数据安全 。
在其他领域的应用
除了计算机系统和人工智能领域,指令系统在其他领域也有着广泛的应用。如通信领域中,指令系统 可以用于信号处理和调制解调等操作;在图形处理领域中,指令系统可以用于图像处理和渲染等操作 ;在科学计算领域中,指令系统可以用于数值计算和模拟等操作。
研究如何将人工智能技术应用于指令系统,使其具备更强的智能化 能力。
未来指令系统的发展前景
01
广泛应用于云计算、大数据等领域
随着云计算、大数据等技术的普及,指令系统将在这些领域发挥重要作
用。
02
成为人工智能技术的关键组成部分
随着人工智能技术的发展,指令系统将成为实现人工智能的重要工具。
微处理器的指令系统
MOV 码 段
偏移地址
┇ 1200H
AH AL 11 22
22H 11H
数 据 段
7
寄存器间接寻址
由寄存器间接给出操作数的偏移地址; 存放偏移地址的寄存器称为间址寄存器,它们 是:BX,BP,SI,DI 操作数的段地址(数据处于哪个段)取决于选 择哪一个间址寄存器:
BX,SI,DI
BP
默认在数据段
偏移地址
┇ 1200H 22H 11H
数 据 段
寻址方式下,操作数的段地址默认为数据 段,但允许段重设,即由指令定义段。 例:MOV AX,ES:[1200H]
6
4、寄存器间接寻址
参与操作的操作数存放在内存中,其偏移地址 为指令中的寄存器的内容。 例:MOV AX,[BX] 设(BX)=1200H 代
转移类指令的转移目标地址的表示方式。
3.1.3 3.1.4
特定的存储器区域。
1.串操作指令寻址方式 隐含用SI、DI间址。 2.I/O端口寻址方式 直接和间接两种。在指令系统中讨论。
13
例:MOV AX,[BX+DATA] 设DS=2000H,BX=0220H,DATA=05H 则:AX=[20225H]
10
7、相对基址加变址
有效地址=基址+变址+位移量(与基址变址类 似) 例:MOV AX,[BP+SI+DATA] 隐含寻址: 指令隐含了的一个或两个操作数的地址,即操 作数在默认的地址中 例: MUL BL 指令的执行:AL×BL AX
2
1、立即寻址
指令中的源操作数是立即数,即源操作数是参 加操作的数据本身 例:MOV AX,1234H
《X86指令系统》课件
ຫໍສະໝຸດ 性能优化编译器优化
使用优化编译器可以改善程序的执行效率和性能,如循环展开、向量化和代码优化。
CPU缓存优化
通过合理地利用CPU缓存,可以减少缓存失效,提高程序的访问速度和执行效率。
多核并行优化
利用多核处理器的并行性能,可以将计算任务分解为多个并行子任务,从而提高程序的执行 效率。
X86架构发展
8086
2 浏览器
现代浏览器使用X86架构来执行JavaScript和其他浏览器功能,以提供快速和流畅的用户体 验。
3 游戏引擎
许多游戏引擎使用X86架构来实现图形渲染、物理模拟和游戏逻辑等关键功能。
8086是Intel公司推出的一款16位 微处理器,是X86指令系统的基 础。
Pentium
Pentium是Intel公司推出的一系列 高性能微处理器,对X86架构进 行了多项改进。
x86-64
x86-64是X86指令系统的64位扩展, 提供更大的寻址空间和更高的计 算性能。
应用实例
1 操作系统
X86架构广泛应用于各种操作系统,如Windows、Linux和Mac OS。
多线程程序中,线程之间 需要同步访问共享资源, 以避免竞争条件和数据不 一致。
内存管理
1
页式内存管理
2
页式内存管理是X86架构中常用的内存管
理方式,将内存划分为固定大小的页面。
3
内存模型
X86架构使用分段式内存模型,将内存划 分为逻辑段,每个逻辑段有自己的访问 权限和地址空间。
分段式内存管理
分段式内存管理是X86早期采用的一种内 存管理方式,将内存划分为逻辑段,每 个逻辑段有自己的访问权限和地址空间。
《X86指令系统》PPT课 件
使用优化编译器可以改善程序的执行效率和性能,如循环展开、向量化和代码优化。
CPU缓存优化
通过合理地利用CPU缓存,可以减少缓存失效,提高程序的访问速度和执行效率。
多核并行优化
利用多核处理器的并行性能,可以将计算任务分解为多个并行子任务,从而提高程序的执行 效率。
X86架构发展
8086
2 浏览器
现代浏览器使用X86架构来执行JavaScript和其他浏览器功能,以提供快速和流畅的用户体 验。
3 游戏引擎
许多游戏引擎使用X86架构来实现图形渲染、物理模拟和游戏逻辑等关键功能。
8086是Intel公司推出的一款16位 微处理器,是X86指令系统的基 础。
Pentium
Pentium是Intel公司推出的一系列 高性能微处理器,对X86架构进 行了多项改进。
x86-64
x86-64是X86指令系统的64位扩展, 提供更大的寻址空间和更高的计 算性能。
应用实例
1 操作系统
X86架构广泛应用于各种操作系统,如Windows、Linux和Mac OS。
多线程程序中,线程之间 需要同步访问共享资源, 以避免竞争条件和数据不 一致。
内存管理
1
页式内存管理
2
页式内存管理是X86架构中常用的内存管
理方式,将内存划分为固定大小的页面。
3
内存模型
X86架构使用分段式内存模型,将内存划 分为逻辑段,每个逻辑段有自己的访问 权限和地址空间。
分段式内存管理
分段式内存管理是X86早期采用的一种内 存管理方式,将内存划分为逻辑段,每 个逻辑段有自己的访问权限和地址空间。
《X86指令系统》PPT课 件
南京理工大学《微机原理与接口技术》第二章 指令系统(1)PPT课件
2009年
28.07.2020
1
标题添加
点击此处输入相 关文本内容
前言
点击此处输入 相关文本内容
标题添加
点击此处输入相 关文本内容
点击此处输入 相关文本内容
第二章 8086/8088 指令系统
2.1 概述
2.2 寻址方式
2.3 数据传送指令
2.4 算术运算指令
2.5 逻辑运算指令
2.6 串操作指令
MOV AX, 0102H
;AX←0102H
28.07.2020
11
立即数寻址方式
28.07.2020
12
例:
• 将立即数0102H送至AX寄存器
• 汇编指令: MOV AX,0102H ; • 指令功能: AX←0102H ; • 指令代码:B8 02 01
28.07.2020
13
28.07.2020
与机器指令一一对应,需要翻译成机器指令才能运
行
10110000 00000001
28.07.2020
MOV AL, 1 4
一、指令的组成
操作码 操作数
指令由操作码和操作数两部分组成
• 操作码说明计算机要执行哪种操作,如传送、运算、 移位、跳转等操作,它是指令中不可缺少的组成部 分
操作数是指令执行的参与者,即各种操作的对象
15
2 寄存器寻址方式
• 操作数存放在CPU的内部寄存器reg中:
– 8位寄存器r8: AH、AL、BH、BL、CH、CL、DH、DL – 16位寄存器r16: AX、BX、CX、DX、SI、DI、BP、SP – 4个段寄存器seg: CS、DS、SS、ES
• 寄存器名表示其内容(操作数)
28.07.2020
1
标题添加
点击此处输入相 关文本内容
前言
点击此处输入 相关文本内容
标题添加
点击此处输入相 关文本内容
点击此处输入 相关文本内容
第二章 8086/8088 指令系统
2.1 概述
2.2 寻址方式
2.3 数据传送指令
2.4 算术运算指令
2.5 逻辑运算指令
2.6 串操作指令
MOV AX, 0102H
;AX←0102H
28.07.2020
11
立即数寻址方式
28.07.2020
12
例:
• 将立即数0102H送至AX寄存器
• 汇编指令: MOV AX,0102H ; • 指令功能: AX←0102H ; • 指令代码:B8 02 01
28.07.2020
13
28.07.2020
与机器指令一一对应,需要翻译成机器指令才能运
行
10110000 00000001
28.07.2020
MOV AL, 1 4
一、指令的组成
操作码 操作数
指令由操作码和操作数两部分组成
• 操作码说明计算机要执行哪种操作,如传送、运算、 移位、跳转等操作,它是指令中不可缺少的组成部 分
操作数是指令执行的参与者,即各种操作的对象
15
2 寄存器寻址方式
• 操作数存放在CPU的内部寄存器reg中:
– 8位寄存器r8: AH、AL、BH、BL、CH、CL、DH、DL – 16位寄存器r16: AX、BX、CX、DX、SI、DI、BP、SP – 4个段寄存器seg: CS、DS、SS、ES
• 寄存器名表示其内容(操作数)
第章指令系统-PPT精品
累加器A
40H
寄存器R0
50H
内部RAM:40H
30H
内部RAM:50H
10H
(1) MOV A,#20H (2) MOV A,40H (3) MOV A,R0 (4) MOV A,R0
2020/2/25
第一章 概述
(1) A=20H (2) A=30H (3) A=50H (4) A=10H
2) 以Rn为目的地址的传送指令(3条)
和POP 。
2020/2/25
第一章 概述
5、变址寻址(index addressing )
• 以DPTR或PC为基址寄存器,A为变址寄存器,两者 内容相加形成的16位程序存储器地址为操作数地址, 又称基址+变址寄存器间接寻址。
• 如 MOVC A,A+DPTR 功能:把DPTR和A的内容相加后得到的程序存储器 地址单元的内容送A。
内 部 RAM
65H
3A H
2020/2/25
寄存器间接寻址示意图(MOV A,R0 )
第一章 概述
寄存器间接寻址的寻址范围:
• R0或R1为间接寻址寄存器寻址①片内RAM的低128 单元和②片外RAM低256单元。
• DPTR作为间接寻址寄存器寻址 片外RAM64KB单元。 • SP作间接寻址寄存器寻址 堆栈区,操作指令PUSH
2020/2/25
第一章 概述
3.3 指令系统
MCS-51单片机指令系统包括111条指令,按功能 分为:
• 数据传送指令 • 算术运算指令 • 逻辑运算指令 • 控制转移指令 • 位操作指令
2020/2/25
第一章 概述
指令的书写规则表
符号 Rn Ri #data #data16 addr16 addr11 direct rel bit (X)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Jcc指令实际虽然只有16条,但却有30个助记符 采用多个助记符,目的是为了方便记忆和使用
精选ppt
9
1. 判断单个标志位状态
⑴ JZ/JE和JNZ/JNE 利用零标志ZF,判断结果是否为零(或相等)
⑵ JS和JNS 利用符号标志SF,判断结果是正是负
⑶ JO和JNO 利用溢出标志OF,判断结果是否产生溢出
精选ppt
13
解答3 用JNS指令实现
mov bx,ax ror bx,1
错误!循环指令不影响SF等标志
;将AX的最低位D0移进最高位(符号位SF) jns even
;标志SF=0,即D0=0:AX内是偶数,程序转移 add ax,1
;标志SF=1,即D0=1:AX内的奇数,加1
even: shr ax,1
精选ppt
11
解答1 用JZ指令实现
test ax,01h
;测试AX的最低位D0(不用AND指令,以免改变AX) jz even
;标志ZF=1,即D0=0:AX内是偶数,程序转移 add ax,1
;标志ZF=0,即D0=1:AX内的奇数,加1
even: shr ax,1
;AX←AX÷2
用右移一位的方法实现除以2 本例中用RCR指令比SHR指令更好(AX=FFFFH) Inc→add?
代
( ±32KB范围)
码
不需要更改CS段地址,只要改变IP偏移
段
地址
段内转移——短转移(short jump ) 代
转移范围可以用一个字节表达,在段内 -128~+127范围的转移
码 段
精选ppt
4
目标地址的寻址范围:段间寻址
段间转移——远转移(far jump)
从当前代码段跳转到另一个代码段,
;IP←[mem],CS←[mem+2]
演示
精选ppt
7
2.6.2 条件转移指令
条件转移指令Jcc根据指定的条件确定程序是 否发生转移。其通用格式为:
Jcc label
;条件满足,发生转移 ;IP←IP+8位位移量; ;否则,顺序执行
label是一个标号、一个8位位移量,表示Jcc指令后的 那条指令的偏移地址,到目标指令的偏移地址的地址 位移
精选ppt
12
解答2 用JNC指令实现
mov bx,ax shr bx,1
还可用SAR、ROR和RCR指令
;将AX的最低位D0移进CF jnc even
;标志CF=0,即D0=0:AX是偶数,程序转移 add ax,1
;标志CF=1,即D0=1:AX内的奇数,加1
even: shr ax,1
;AX←AX÷2
JMP/Jcc/LOOP/JCXZ CALL/RET INT n/IRET 常用系统功能调用
精选ppt
2
目标地址的寻址方式
用于改变CS和IP,使程序跳转到目标地址
相对寻址方式
用标号表达
指令代码中提供目的地址相对于当前IP的位移量,
转移到的目的地址(转移后的IP值)就是当前IP值
加上位移量
直接寻址方式
Jcc只支持短转移的相对寻址方式,因而只能实现段 内-128~127的跳转
精选ppt
8
Jcc指令的分类
Jcc指令不影响标志,但要利用标志(表2-3) 在Jcc之前,通常有CMP、TEST、加减运算、逻辑运
算等指令 根据利用的标志位不同,分成三种情况:
⑴ 判断单个标志位状态 ⑵ 比较无符号数高低 ⑶ 比较有符号数大小
精选ppt
6
无条件转移指令JMP(jump)
JMP label
;段内转移、相对寻址
;IP←IP+位移量
演示
JMP r16/m16
;段内转移、间接寻址
;IP←r16/m16
演示 演示
JMP far ptr label ;段间转移、直接寻址
;IP←偏移地址,CS←段地址
演示
JMP far ptr mem ;段间转移,间接寻址
;AX←AX÷2
ቤተ መጻሕፍቲ ባይዱ
ADD BX,0 ;增加一条指令
精选ppt
14
例2.20 判断是否为字母Y
用标号表达
指令代码中提供目的逻辑地址,转移后的CS和IP值 直接来自指令操作码后的目的地址操作数
间接寻址方式
用寄存器或存储器操作数表达
指令代码中指示寄存器或存储单元,目的地址从寄 存器或存储单元中间接获得
精选ppt
3
目标地址的寻址范围:段内寻址
段内转移——近转移(near jump)
在当前代码段64KB范围内转移
⑷ JP/JPE和JNP/JPO 利用奇偶标志PF,判断结果中“1”的个数是偶是奇
⑸ JC/JB/JNAE和JNC/JNB/JAE 利用进位标志CF,判断结果是否进位或借位
精选ppt
10
例2.19将AX中存放的无符号数除以2,如果是 奇数则加1后除以2
问题:如何判断AX中的数据是奇数还是偶数? 解答:判断AX最低位是“0”(偶数),还是“1”(奇
数)。可以用位操作类指令
① 用逻辑与指令将除最低位外的其他位变成0,保留最 低位不变。判断这个数据是0,AX就是偶数;否则, 为奇数
② 将最低位用移位指令移至进位标志,判断进位标志 是0,AX就是偶数;否则,为奇数
③ 将最低位用移位指令移至最高位(符号位),判断 符号标志是0,AX就是偶数;否则,为奇数
8088支持在1MB范围内跳转
需要更改CS段地址和IP偏移地址
代 码
目标地址必须用一个32位数表达,叫做
段
32位远指针,它就是逻辑地址(CS:IP)
实际编程时,汇编程序根据目标地址的属
代
性,自动处理成短转移、近转移或远转移
码
程序员可用操作符short、near ptr 或far
段
ptr 强制成为需要的转移类型
第二章 微处理器指令系统
华北电力大学 计算机系 刘丽
精选ppt
1
2.6 控制转移类指令
8088CPU中,程序代码放在代码段,由CS:IP 获得物理地址
程序顺序执行时,CPU自动增量IP值 当程序遇到分支、循环、子程序调用时,采用控制
转移类指令修改CS和IP寄存器的值改变程序的执行 顺序
控制转移类指令重点掌握:
精选ppt
5
2.6.1 无条件转移指令
JMP label ;程序转向label标号指定的地址
只要执行无条件转移指令JMP,就使程序转到指定的 目标地址,从目标地址处开始执行指令
操作数label是要转移到的目标地址(目的地址、转移 地址)
JMP指令分成4种类型:
⑴ 段内转移、相对寻址 ⑵ 段内转移、间接寻址 ⑶ 段间转移、直接寻址 ⑷ 段间转移、间接寻址