微机原理 第5章525控制转移类指令与处理器控制指令PPT课件

合集下载

微机原理课件ppt

微机原理课件ppt

04
微机程序执行过程
程序加载与执行
程序加载
将程序从存储介质中读取到内存中, 为程序的执行做好准备。
程序执行
CPU按照指令逐条执行程序,完成程 序所要求的任务。
指令执行流程
取指令
CPU从内存中读取指令并存放到指令寄存器 中。
指令译码
对指令进行译码,确定指令的操作码和操作 数。
执行指令
根据译码结果,完成相应的操作,如数据传 输、算术运算、逻辑运算等。
的外设接口。进入21世纪后,微机进一步 发展为DSP(数字信号处理)和FPGA(现 场可编程门阵列)等高性能计算平台。现在 ,微机已进入物联网和人工智能时代,成为
智能硬件的核心组成部分。
微机的应用领域
总结词
微机广泛应用于工业控制、智能家居、医疗设备、航 空航天等领域。
详细描述
由于微机具有体积小、功耗低、价格实惠等优点,它被 广泛应用于各种领域。在工业控制领域,微机可以用于 实现自动化生产线的控制和监测。在智能家居领域,微 机可以用于实现智能照明、智能安防、智能家电控制等 功能。在医疗设备领域,微机可以用于实现医疗影像处 理、医疗数据分析和医疗设备控制等功能。在航空航天 领域,微机可以用于实现飞行控制、导航数据处理和卫 星通信等功能。
立即数
表示常数或立即操作数的值。
注释
用于解释指令的含义和功能,方便阅读和理解。
指令类型
数据传输指令
用于在内存和寄存器之间传输数据,如 MOV指令。
逻辑运算指令
用于进行逻辑运算,如AND、OR、XOR等 指令。
算术运算指令
用于进行算术运算,如ADD、SUB、MUL 、DIV等指令。
控制转移指令
用于改变程序的执行流程,如JMP、CALL 、RET等指令。

微机原理PPT课件

微机原理PPT课件

06.08.2020
7
微机原理及应用 吴丽娟
5.1.2 86系列 CPU的寻址方式
为什么要设置多种寻址方式? 希望用最短的指令长度访问尽可能大的存储器空间 希望给多样的程序设计技术和数据结构对数据访问的灵 活性和有效性提供支持 变址寻址便于处理表格和矩阵 相对寻址便于编制浮动的、可重入的程序
第5章 86系列微型计算机的指令系统
5.1 86系列汇编语言及指令的格式与寻址方式 5.2 传送类指令 5.3 数据操作类指令 5.4 串操作指令 5.5 控制类指令
06.08.2020
1
微机原理及应用 吴丽娟
指令是让计算机完成某种操作的命令, 指令的集合称作 指令系统, 不同系列计算机有不同的指令系统。
5.1.1 86系列汇编语言指令语句格式
任何一种汇编语言的指令语句都是与机器指令一一对应的, 它通过汇编程序将其翻译成机器指令代码 (目标代码), 让CPU 执行某种操作。86系列汇编语言指令语句格式如图 5.1 所示。 图中由前向后的箭头表示是可选项, 由后向前的箭头表示是重 复项, 圆头方框表示是语句中的关键字。
下面主要以MOV指令为例, 介绍86系列CPU的寻址方式。
06.08.2020
8
微机原理及应用 吴丽娟
MOV指令的功能 格式:MOV 目的操作数(dest) , 源操作数(src)
06.08.2020
9
微机原理及应用 吴丽娟
1. 立即数寻址
8086 CPU指令系统中, 有一部分指令所用的8位或16位操作
06.08.2020
3
微机原理及应用 吴丽娟
(1) 标号是给该指令所在地址取的名字, 必须后跟冒号“:”, 它可 以缺省, 是可供选择的标识符。86系列汇编语言中可使用的标 识符必须遵循下列规则:

微机原理课件——很全的

微机原理课件——很全的

3、方式2
双向选通输入输出方式 ( 仅适用于A口 )
A口及B口的工作方式相互独立,互不影响
方式1输入(A口)
DB7~DRD
INTR
PC5
STBA (选通信号) IBFA (输入缓冲器满)
外 设
PC7 PC6
PC3
INTRA
(中断请求信号)
A 组 端口C
PA7~PA0
(高4位)
PC7~PC4
外 设
RD WR A1 A0 RESET CS
B 组 控 制
内部逻辑
端口C (低4位)
B 组 端口B
PC3~PC0
(8位)
PB7~PB0
CPU接口
外设接口
5.2.1 8255A的内部结构
A 组 控 制
内部数据总线 (8位)
端口A (8位) 端口C (高4位)
CPU
外 部 设 备
CPU
D7 D6 D5 D4 D3 D2 D1 D0
缓冲器
D0 移位器
外 部 设 备
并行接口
串行接口
5.2 可编程并行接口8255A
5.2.1 8255A的内部结构
A 组 控 制
内部数据总线 (8位)
端口A (8位)
D7~D0
C P U
数据总线
数据 总线 缓冲器
读/写 控制 逻辑
5.1 并行通信及接口接口
通信:CPU与外部设备之间的信息交换、计算机与 计算机之间的信息交换都称为通信 并行通信:在多条传输线上同时传输多位数据 串行通信:利用单条传输线,将多位数据按照先后 顺序逐位进行传输
D7 D6 D5 D4 D3 D2 D1 D0 缓冲器 D7 D6 D5 D4 D3 D2 D1 D0

控制转移类指令.ppt

控制转移类指令.ppt
无条件地转移到其他代码段内标号所指定的目标地址处。 操作: 如果标号为其它代码段内定义的标号,则
(IP)←标号的偏移地址 (CS)←标号的段地址 如果标号为本代码段内定义的标号,则该指令同JMP NEAR PTR lable。 说明: ① 也可直接使用数值表达式来给出目标地址,这时可省略FAR属性说明。 JMP 2000H:0100H ② 机器指令代码直接提供了转向地址的段地址和偏移地址,属于直接转 移方式。 ③ 使用绝对地址来表示转移目标地址,因此属于绝对转移。
(2)条件转移指令分为以下四类。
① 单标志位测试转移指令 通过测试单个标志位的状态来决定是否转移的指令。 例:
ADD AX,BX JC LAB1 ;如果 CF = 1,转至 LAB1
CMP CX,DX JE LAB2 ;如果 ZF = 1,转至 LAB2
② 无符号数比较转移指令
该类指令将参与比较的两个数据看作是无符号数,并根据比较运算后 标志位CF和ZF的状态来判断它们之间的大小关系,从而决定是否转移。 例:
说明:
① 8位位移量是带符号数,因此跳转的范围为( -128 --- +127 )。
② 指令中的转移目标地址用相对于当前IP所指向指令的相对位移量来 表示,因此属于相对转移。
例1:
0000H EB 04 0002H B0 01 0004H B3 02 0006H B1 03

例2:
0000H B0 01 0002H B3 02 0004H B1 03 0006H EB F8 0008H B2 04
JBE/JNA 标 CF=1或ZF=1 号
JG/JNLE 标 SF⊕OF=0且

ZF=0
带符号数 比较转移
JGE/JNL 号

控制转移类指令ppt课件(全)

控制转移类指令ppt课件(全)

(4)CJNE @Ri,#data,rel 该指令功能:若(( Ri ))≥ data,(CY)=0; 若(( Ri ))<data ,CY=1; 若(( Ri ))≠ data,则PC←(PC)+rel,转移; 若(( Ri ))=data,则程序顺序执行.
例:如果(A) ≠ 00H,转移到CX1;如果(R1) ≠ 10H, 转移到CX2;如果(A) ≠(60H),转移到CX3。程序段 如下:
(2)指令长短不一样。LJMP是3字节指令;AJMP、 SJMP是2字节指令;JMP是1字节指令。
(3)指令机器码构成不同。AJMP、LJMP、JMP后跟 的是绝对地址,而SJMP后跟的是相对地址。
(4)地址特点不同。LJMP、AJMP、SJMP的转移目标 地址是固定的,程序执行过程中不变;JMP的转移目 标地址随程序的执行是动态变化的。
1. 长跳转指令 LJMP (3字节) LJMP addr16 ; PC addr16
•执行该指令时, 将目标语句的16位地址addr16装入 PC, 程序无条件转向指定的目标语句执行。 •由于长跳转指令提供的是16位地址,对应64KB的程 序存储器地址空间,所以可跳转到64KB程序存储器 地址空间的任何地方。 •实际应用中长跳转汇编指令写作“LJMP 目标语句 标号”的形式,如“LJMP LOOP”。
• 指令对A、DPTR和标志位均无影响。
注意:以上四条指令结果均不影响程序状态 字寄存器 PSW 。
5.LJMP、AJMP、SJMP、JMP四条无条件转移指令的 区别:
(1)转移范围不一样。LJMP、JMP转移范围是64KB; AJMP转移范围是与当前PC值同一个2KB区间;SJMP 转移范围是相对当前PC值的-128B~+127B范围内。

微机原理及应用(第五版)PPT课件

微机原理及应用(第五版)PPT课件
压缩BCD码占80位,即10个字节.能存储20位 BCD数,但在80387中只用了18位BCD数.余下 1个字节的最高位为符号位.其余7位不用.
7位不用
最高位是符号位
2021
微机原理及应26用
1.2.3 实型数
任何一个二进制数可以表示成: N=+Y×2J 称为浮点表示法
80387规定: 指数采用移码表示。短型实数阶码占8位;长型实数
• 80386对字符串的操作有:移动;传送; 比较;查找等.
• 分类:字节串;字串;双字串.
2021
微机原理及应22用
1.1.5 位及位串
• 80x86CPU都支持位操作.80386/80486有位串操 作.位串最长是232个位.
• 位偏移量:一个位在位串中的地址.由字节地址 和位余数组成.
设位串是从m地址开始存储的,位偏移量分别为23 和-18的位在什么地方?

11110010B
左移一位 11100100B
右移一位 11111001B
[-14]补 [-28]补 [-7]补
2021
微机原理及应19用
3).反码表示的负数
左移和右移空位全补1.

11110001B
左移一位 11100011B
右移一位 11111000B
7.有关0的问题
[-14]补 [-28]补 [-7]补
• 二进制:数的后面加后缀B. • 十进制:数的后面加后缀D或不加. • 十六进制:数的后面加后缀H.
2021
微机原理及应5用
1.1.3 整数
1.无符号数
8、16、32位全部用来表示数值本身。
最低位LSB是0位,最高位MSB是7、15、31。
2.带符号整数

《控制转移类指令》PPT课件

《控制转移类指令》PPT课件
错误的 rel16
正确的 rel16
IP目的 ← IP当前 + rel16 LABEL IP目的 ← IP源 + rel16 + 3
微机原理
← IP源 ← 05H ← 00H ← IP当前
← IP目的
微机原理
例:设标号偏移地址=1000H,执行完JMP指 令后的当前IP值为0009H,则
位移量=1000H-0009H = 0FF7H
控制转移类指令
微机原理
• 段内近调用过程 —— CALL LABEL
(IP当前)→ SS:SP 保护现场 IP 值入栈 • 段内近调用返回 —— RET
(IP当前)← SS:SP 恢复现场 IP 值出栈 • 段间远调用过程 —— CALL LABEL
(CS当前)→ SS:SP 保护现场 CS 值入栈 (IP当前)→ SS:SP 保护现场 IP 值入栈 • 段间远调用返回 —— RET
LOOPNZ指令
微机原理
控制转移类指令
JMP —— 无条件转移指令 • 段内直接短转移
JMP SHORT LABEL ;IP目的 ← IP当前 + rel8(8 bit 符号数) rel8 在-128 ~ +127之间
• 段内直接近转移
JMP NEAR LABEL ;IP目的 ← IP当前 + rel16 (16 bit 符号数) rel16 在-32768 ~ +32767之间
• 指令特点
仅有段内短转移,IP目的 = IP当前 + rel8 rel8 值在页内,即-128 ~ +127间
• 前导指令
CMP、TEST、DEC CX 等
注:执行 JXX 指令前的指令必须影响 标志位

微机原理第五章(4)PPT教学课件

微机原理第五章(4)PPT教学课件
▲ 计算机要利用显示器、键盘等外设时, 须据程序设计的需要进行有关转换。
2020/12/10
14
例 将CPU运算的结果通过显示器显示时,如二进制数“A9”
需将结果转换成其对应的ASCII码才能进行显示。
显示缓冲区 存放的内容 (字符的ASCII 码)
CPU运算后所得的二进制数 10101001
例1
4
3.几种程序结构 顺序结构 分支结构 循环结构 子程结构
2020/12/10
5
顺序结构
2020/12/10
6
Y N
两个分支
分支结构
、、、 CMP AL, BL JG great
AL≤BLxit: 、、、 、、、
2020/12/10
7
分支结构
N
Y
N
、、、
CMP AL, 0 JG great JL less
AL=0处理
Y
JMP exit
less: AL<0处理
三个分支
JMP exit great:
AL>0处理 exit: 、、、
2020/12/10
8
循环结构
循环初始设置 循环条件判断? N
Y 循环体
当型循环 (当条件成立进入循环)
▲ BX是一个16位寄存器
二进制 十六进制
1010 1001 0011 1110 A93E
屏幕上的显示 ‘A’ ‘9’ ‘3’ ‘E’ 对应的ASCII 41H 39H 33H 45H
?
▲ 用十六进显示时,每4位用一个字符显示,共4个
其中: 0000 →’0’ 30H , 1010 →’A’ 41H
subp subp
PROC 、、 、、

微机原理第五章《指令系统》课件知识点讲解要点归纳

微机原理第五章《指令系统》课件知识点讲解要点归纳
第五章 指令系统(1)
概念:
• 指令:要求计算机执行某种操作的命令 • 一台计算机,其所有机器指令的集合构成机器的指令系统 • CISC-Complex Instruction Set Computer,复杂指令系统 计算机 • RISC-Reduced Instruction Set Computer,精简指令系统 计算机 • RISC计算机提出的依据 • RISC计算机的主要特点:
第五章 指令系统(14)
指令 I1 I2 I3 I4 I5 I6 I7 Pi 0.45 0.30 0.15 0.05 0.03 0.01 0.01 操作码 00 01 10 1100 1101 1110 1111 长度(位) 2 2 2 4 4 4 4
这种方案的操作码的平均长度为: L=(0.45+0.30+0.15)×2+(0.05+0.03+0.01+0.01)×4=2.2(位) 这种方案虽然使操作码的平均长度稍有增长,但给操作码译码带来方便,通常 称作“扩展操作码法” 。
OP D1 D2 D3 三地址指令
OP
OP
D1
D
D2
二地址指令
单地址指令
OP
说明:
零地址指令
•三地址指令包含三个地址,其基本操作是 : (D1) OP (D2)→ D3
•二地址指令包含两个地址,其基本操作是:(D1) OP (D2)→ D1或D2
•单地址指令中只包含一个地址,可有两种情况:
(1) 本指令为双操作数指令,但约定一个操作数固定存放在累加器(AC)中,其基本 操作是: (AC) OP (D)→ AC (2) 本指令为单操作数指令,例如将某个地址D中的内容加1或减1等。
a 0 0 0 0 0 0 0 0 1 1

微机原理 第5章5.2.5控制转移类指令与处理器控制指令

微机原理 第5章5.2.5控制转移类指令与处理器控制指令

第5章
比较有符号数大小
有符号数的大用(Greater),小用(Less)
表示。 两数的大小分成4种关系: ⑴ 小于(不大于等于):JL(JNGE) ⑵ 大于等于(不小于): JGE ( JNL ) ⑶ 小于等于(不大于):JLE(JNG) ⑷ 大于(不小于等于): JG ( JNLE )
例:比较有符号数
JMP label
小方向转移时,位移量为负 again: dec cx …… jmp again …… jmp output …… output: mov result,al
当向地址增大方向转移时,位移量为正;向地址减
;标号again的指令
;转移到again处继续执行 ;转向output ;标号output的指令
;CX≠0且ZF=1,循环到标号label
LOOPNZ/LOOPNE label
;CX←CX-1, ;CX≠0且ZF=0,循环到标号label
JCXZ label ;CX=0,转移到标号label
循环指令默认利用CX计数器
label操作数采用直接短转移寻址方式
例5.50
【例5.50】将S1和S2中每个数据依次相加,结果保存在S2中。
第5章
二、条件转移指令
Jcc label
;cc为跳转条件:满足,转移IP←label ;不满足,顺序执行
指定的条件cc如果成立,程序转移到由标号label
指定的目标地址去执行指令;条件不成立,则程 序将顺序执行下一条指令 操作数label是采用直接寻址方式的短转移标号 表示Jcc指令跳转到的那条指令的偏移地址 距当前IP地址-128~+127个单元的范围之内
指令格式
RET
RET i16

第5章 微机CPU的指令系统PPT课件

第5章 微机CPU的指令系统PPT课件

XCHG AH , AL
(AX)=3466H
XCHG AX , [BX+SI] (AX)=2510H
2
5.1 汇编语言指令格式
➢ 一般格式:
[标号:] 指令助记符 [操作数1] [,[操作数2] [,[操作数3]]] [;注释]
➢ 常用格式:
[标号:] 指令助记符 目的操作数,源操作数 [;注释]
➢ 标号 ✓ 合法的标识符,必须用英文的“:”与指令隔开;
➢ 操作数 ✓ 可以使用任何一种寻址方式;
2020/7/16
5
5.2 数据传送类指令
这类指令的执行不会 影响标志位的状态。
1、 传送指令MOV ➢ 格式: MOV 目的操作数 ,源操作数
✓ 目的操作数:8位/16位,R/M
✓ 源操作数: 8位/16位,R/M/Imm ➢ 功能:将源操作数指定的值送到目的操作数指定的位置上。 ➢ 例如:MOV AX , 1200H
➢ 注释 ✓ 必须用英文的“;”开头。
2020/7/16
3
指令中有关操作数的规定
➢ 两个操作数不能同时为段寄存器; ➢ 两个操作数不能同时为存储器寻址方式; ➢ 立即数不能作为目的操作数; ➢ 立即数不能直接传送给段寄存器; ➢ CS 不能作为目的操作数,IP不能作为操作数; ➢ 以上规定对所有指令都有效。
(CX)=0FF87H (DX)=0087H
➢ 试比较以下三条指令的异同: ✓ MOV AX , 87H (AX)=0087H ✓ MOVSX AX , 87H (AX)=0FF87H ✓ MOVZX AX , 87H (AX)=0087H
直接传送 扩展后,再传送 扩展后,再传送
2020/7/16
13

PLC第五章 状态转移图及步进指令ppt课件

PLC第五章 状态转移图及步进指令ppt课件
K 100 LD T3 SET S25 LD X001 OUT S0 STL S25
图5.4 运料小车控制编程 (a)步进梯形图 (b)指令程序
LDI Y001 OUT Y002 LD X003 AND X002 OUT S21
LD X003 ANI X002 OUT S0
LD X001 OUT S0 RET END
ANB/ORB MPS/MRD/MPP
MC/ MCR
初始状态/一般状态
分支,汇 合状态
输出处理 转移处理
可使用 可使用 可使用
可使用 可使用 不可使用
不可使用 不可使用 不可使用
注:①在中断程序与子程序内,不能使用STL指令 ②在STL指令内不禁止使用跳转指令,但其动作复杂,建议不要使用
2021/4/16
(2) MPS/MRD/MPP指令的位置
在状态内,不能直接从STL内母线中直接使用 MPS/MRD/MPP指令(见图5.6),而应在LD或LDI 指令以后编制程序
2021/4/16
图5.6 MPS/MRD/MPP指令的位置
(3) 状态的转移方法
OUT指令与SET指令对于STL指令后的状态(S)具有同样的 功能,都将自动复位转移源(见图5.7),此外,还有自保持功 能。但是使用OUT指令时,在STL图中用于向分离的状态转移
2021/4/16
状态转移图表示法
2021/4/16
图5.1 状态转移图表示法
状态转移图的画法
➢在状态转移图中,用矩形框来表示“步”或“状态”,方框中 用状态器S及其编号表示
➢与控制过程的初始情况相对应的状态称为初始状态,每个状态 的转移图应有一个初始状态,初始状态用双线框来表示 。与步 相关的动作或命令用与步相连的梯形图符来表示 。当某步激活 时,相应动作或命令被执行 。一个活动步可以有一个或几个动 作或命令被执行

微机原理课件第5讲

微机原理课件第5讲
▪ 段寄存器seg DS,ES,SS,CS
常用的符号
▪ 内存 mem: [nn], [bx],[si],[di],[bp] [bx/bp+count], [si/di+count] [bx+si/di+count], [bp+si/di+count]
▪ 立即数 imm ▪ 位移量 disp
数据传送指令(14条)
①通用数据传送指令
③地址目标传送指令
MOV 字节或字的传送 LEA 装入有效地址
PUSH 入栈操作
LDS 装入数据段寄存器
POP 出栈操作
LES
XCHG 交换字或字节
装入附加段寄存器
④标志传送指令
XLAT 表转换
②输入输出指令
LAHF 标志寄存器低字节装入AH SAHF AH内容装入标志寄存器低字节
⑤XLAT表转换指令
举例
设全班共10(学号0~9)名同学,成绩存放在 TABLE中,要求查找学号为5的同学的成绩。
TABEL DB 40H,64H,3CH,3FH,44H ;学生成绩
DB 60H,5FH,59H,4CH,52H ;
…………… MOV AL,5 ;
AL 学号5
MOV BX,OFFSET TABLE ;BX 表格首地址
注意 交换限在寄存器之间、寄存器和存储单元之间。
段寄存器不能作为操作数,存储单元之间不能进行交 换;操作数不能为立即数。
④XCHG交换指令
举例
设AX=2000H,DS=3000H,BX=1800H, (31A00H)=1995H。则执行指令XCHG AX, [BX+200H]后,结果如何?
解:把内存中的一个字与AX中的内容进行交换。 源操作数物理地址 =3000×10H(16)+1800H+200H=31A00H, 指令执行后:AX=1995H,(31A00H)=2000H
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第5 章
5.2.5 控制转移类指令
➢ 控制转移类指令用于实现分支、循环、过程 等程序结构,是仅次于传送指令的常用指令
重点掌握:JMP/Jcc/LOOP CALL/RET INT n/IRET 常用系统功能调用 一般了解: LOOPZ/LOOPNZ INTO
控制转移类指令通过改变IPБайду номын сангаас和CS) 值,实现程序执行顺序的改变
1. 判断单个标志位状态 2. 比较无符号数高低 3. 比较有符号数大小
第5 章
判断单个标志位状态
➢ 这组指令单独判断5个状态标志之一
⑴JZ/JE和JNZ/JNE:利用零标志ZF,判断结果是否
为零(或相等)
补充例题1
⑵JS和JNS:利用符号标志SF,判断结果是正是负
⑶JO和JNO:利用溢出标志
补充例题2
➢ 操作数label是采用直接寻址方式的短转移标号 表示Jcc指令跳转到的那条指令的偏移地址 距当前IP地址-128~+127个单元的范围之内
第5 章
Jcc指令的分类
➢Jcc 指令 不 影 响 标 志 , 但 要 利 用 标 志 (表5.31)。根据利用的标志位不同, 18条指令分成3种情况:
mov word ptr [bx],0 mov word ptr [bx+2],1500h JMP far ptr [bx] ;转移到1500h:0
第5 章
二、条件转移指令
Jcc label
;cc为跳转条件:满足,转移IP←label ;不满足,顺序执行
➢ 指定的条件cc如果成立,程序转移到由标号label 指定的目标地址去执行指令;条件不成立,则程 序将顺序执行下一条指令
【例5.47】设DS:[1200H]=00H,DS:[1201H]=20H
MOV AX, 1200H JMP AX JMP WORD PTR [1200H]
;IP=1200H ;IP=2000H
第5 章
段间直接转移
JMP far ptr label
;IP←label的偏移地址 ;CS←label的段地址
移地址

当向地址增大方向转移时,位移量为
正;向地址减小方向转移时,位移量
为负


➢ 段内转移——短转移(short ptr) 段
目标地址与JMP指令的下一条地址之间 的差值为-128~+127
第5 章
目标地址的范围:段间
➢ 段间转移——远转移(far ptr)

从当前代码段跳转到另一个代码 段,可以在1MB范围
例:比较有符号数
next:
cmp ax,bx jnl next xchg ax,bx ...
;比较ax和bx ;若ax≥bx,转移 ;若ax<bx,交换
结果:AX保存较大的有符号数
第5 章
三、循环指令(loop)
LOOP label ;CX←CX-1,
;CX≠0,循环到标号label
LOOPZ/LOOPE label ;CX←CX-1,
第5 章
一、无条件转移指令
JMP 目标地址;
➢ 只要执行无条件转移指令JMP,就使程序转到指 定的目标地址处,从目标地址处开始执行指令
➢ 根据目标地址(目的地址、转移地址)的表达形 式以及跳转的距离
➢ JMP指令分成5种类型: ⑴ 段内直接短转移 ⑵ 段内直接近转移 例:JMP LABLE ⑶ 段内间接转移 ⑷ 段间直接转移 ⑸ 段间间接转移
OF,判断结果是否产生
溢出
补充例题3
⑷JP/JPE和JNP/JPO:利用奇偶标志PF,判断结果
中“1”的个数是偶是奇
补充例题4
⑸JC和JNC:利用进位标志CF,判断结果是否进位
或借位
补充例题5
第5 章
比较无符号数高低
➢ 无符号数的大小用高(Above)低(Below) 表示
➢ 两数的高低分成4种关系: ⑴ 低于(不高于等于):JB(JNAE)
;转移到again处继续执行
j…m…p output
;转向output
output: mov result,al ;标号output的指令
第5 章
段内间接转移
JMP r16/m16
;IP←r16/m16
➢ 将一个16位寄存器或主存字单元内容送入IP 寄存器,作为新的指令指针,但不修改CS寄存 器的内容。
⑵ 高于等于(不低于): JAE ( JNB ) ⑶ 低于等于(不高于):JBE(JNA) ⑷ 高于(不低于等于): JA ( JNBE )
例5.49:比较无符号数
➢【例5.49】比较无符号数AX、BX和CX的大小,将最 小数存于AX中。
CMP
BX,CX
JB
NEXT1 ;若BX<CX,则继续比较AX和BX
码 段
更改CS段地址和IP偏移地址
目标地址必须用一个32位数表达,

叫做32位远指针,它就是逻辑地
码 段

第5 章
段内直接转移
JMP label
;IP←label
➢ 当向地址增大方向转移时,位移量为正;向地址减 小方向转移时,位移量为负
again: d…e…c cx
;标号again的指令
j…m…p again
XCHG BX,CX
NEXT1: CMP AX,BX
JAE
NEXT2 ;若AX≥BX,则放小数到AX
RET
NEXT2: XCHG AX, BX
RET
第5 章
比较有符号数大小
➢ 有符号数的大用(Greater),小用(Less) 表示。
➢ 两数的大小分成4种关系: ⑴ 小于(不大于等于):JL(JNGE) ⑵ 大于等于(不小于): JGE ( JNL ) ⑶ 小于等于(不大于):JLE(JNG) ⑷ 大于(不小于等于): JG ( JNLE )
第5 章
目标地址的表达形式
➢直接寻址方式
用标号表达
转移地址象立即数一样,直接在指令 的机器代码中
➢间接寻址方式
用寄存器或存储器 操作数表达
转移地址在寄存器或主存单元中
例JMP AX
第5 章
目标地址的范围:段内
➢ 段内转移——近转移(默认)
跳转的距离在-32768~+32767之间。

不需要更改CS段地址,只要改变IP偏 码
➢ 将标号所在段的段地址作为新的CS值, 标号在该段内的偏移地址作为新的IP值;这 样,程序跳转到新的代码段执行
第5 章
段间间接转移
JMP far ptr mem
;IP←[mem],CS←[mem+2]
➢ 用一个双字存储单元表示要跳转的目标地 址。这个目标地址存放在主存中连续的两个 字单元中的,低位字送IP寄存器,高位字送 CS寄存器
相关文档
最新文档