《微处理器指令系统》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章-指令系统

微机原理第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

微机原理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详细讲解

微处理器与系统结构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课件

指令系统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

微机原理第02章1

微机原理第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课件

第四章-指令系统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。但是如 此庞大的指令系统不但使计算机的研制周期 变长,难以保证正确性,不易调试维护,而 且由于采用了大量使用频率很低的复杂指令 而造成硬件资源浪费。

《指令系统 》课件

《指令系统 》课件
指令系统的发展也推动了计算机系统的进步,如随着指令集架构的演进,计算机系统的功能越来越强大 ,性能也越来越高。
在人工智能领域的应用
指令系统在人工智能领域中也有 着广泛的应用。人工智能算法的 实现需要大量的计算和数据处理 ,而指令系统可以提供高效的运 算能力和数据处理能力,为人工 智能算法的运行提供支持。
总之,指令系统作为一种底层技术,在各个领域都有着广泛的应用前景,为各行业的发展提供了重要 的技术支持。
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指令系统》课件

《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课 件

南京理工大学《微机原理与接口技术》第二章 指令系统(1)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
• 寄存器名表示其内容(操作数)

第章指令系统-PPT精品

第章指令系统-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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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种类型:
⑴ 段内转移、相对寻址 ⑵ 段内转移、间接寻址 ⑶ 段间转移、直接寻址 ⑷ 段间转移、间接寻址
相关文档
最新文档