第三章 8086的指令系统 8086指令特点 8086的寻址方式 8086的指令格式及数据类型 8086的指令集.

Slides:



Advertisements
Similar presentations
输入输出程序设计 输入输出的基本概念 无条件方式输入输出 查询方式输入输出 中断方式输入输出.
Advertisements

计算机体系结构 应用程序 软件 操作系统 编译器 固件 指令集 输入输出 CPU 硬件 内存 (I/O) 集成电路 元件,逻辑门.
x86/Pentium指令系统 x86寻址方式 1.比例变址寻址方式 (Scaled Indexed Addressing)
微型计算机技术 教 学 指 导(七) 太原广播电视大学 郭建勇.
第10章 DOS功能调用与BIOS中断调用.
第7章 8086/8088汇编语言程序设计 7.1 引言 7.2 顺序程序设计 7.3 分支结构程序设计 7.4 循环结构程序设计
§1 指令的构成和操作数的类型 一、指令构成 一条指令由操怍码字段和操作数字段构成。 1、操作码字段 操作码字段表明指令执行何种性质的操作。
大连理工大学软件学院 软件工程系 赖晓晨 计算机组成与结构 大连理工大学软件学院 软件工程系 赖晓晨
8051 指令.
汇编语言与接口技术 教师:范新民.
本周实验安排 实验内容:(P231)人名排序的例子。
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年10月30日.
得技通电子 问题 1 右何者非為假指令 (1) XRL (2) EQU (3) MACRO (4) ORG.
第3章 80x86汇编语言程序设计(下).
第3章 80x86汇编语言程序设计(中) 时间不够的情况下只讲16位汇编.
第三章 指令系统及其寻址方式 3.1 寻址方式 3.2 指令格式 3.3 指令系统.
4.1 汇编语言 4.2 顺序结构程序 4.3 分支程序设计 4.4 循环程序设计 4.5 子程序设计
第3章 80x86汇编语言程序设计(上) 16位汇编版本 时间不够的情况下只讲16位汇编.
9.1 可编程并行输入/输出接口芯片8255A 9.2 可编程计数器/定时器 可编程串行输入/输出接口芯片8251A
3.3.5 程序控制指令 控制转移指令分为: 转移指令 循环控制指令 调用和返回指令 中断指令.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月26日.
微机原理与接口技术 第3章 8086/8088指令系统 黄强 深圳大学 信息工程学院.
第5章 循环与分支程序设计  循环程序设计  分支程序设计.
汇编语言程序设计 Assembly Language Programming
第三章 寻址方式与指令系统 3.1 寻址方式 一条指令通常由两大部分构成: 操作码 操作数
第7章 并行接口 7.1 简单并行接口 7.2 可编程并行接口8255A 7.3 键盘接口 7.4 LED显示器接口.
微机原理与接口技术 第2章 8086系统结构 朱华贵 2015年09月17日.
第九章 计数器和定时器电路 第一节 概述 第二节 Intel 8253的控制字 第三节 Intel 8253的工作方式 第九章 计数器和定时器电路 第一节 概述 第二节 Intel 8253的控制字 第三节 Intel 8253的工作方式 第四节 Intel 8253在IBM PC机上的应用.
Assembly Language Programming
复 习 一. 计算机中的数和编码 1. 2,10,16进制数及其之间的转换(整数) 按权展开,除x取余 2
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年12月10日.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月05日.
输入输出与中断 主要内容 CPU与外设之间数据传送方式 中断技术 8086中断系统和中断处理.
第八章 输入输出程序设计 总线 CPU MEM I/O接口 I/O设备.
第3章 IA-32指令系统 3.1 基本数据类型 3.2 IA-32的指令格式 3.3 IA-32指令的操作数寻址方式
汇编语言程序设计 吴 向 军 中山大学计算机科学系
第8章 寻址方式与指令系统.
微机原理及应用 主讲:谢维成 西华大学 电气信息学院 1.
微机原理及应用 主讲:郑海春.
第一章 8086程序设计 第二章 MCS-51程序设计 第三章 微机基本系统的设计 第四章 存贮器与接口 第五章 并行接口
汇编语言程序设计课程设计 第二次实验 DEBUG基本命令与算术运算指令
第二章 8086/8088系统结构 主要内容 8086/8088微处理器的内部结构 8086/8088 CPU 的引脚与功能
微型计算机原理及应用.
第3章 微型计算机输入输出接口 3.1 输入/输出接口 3.2 输入输出数据传输的控制方式 3.3 开关量输入输出接口 欢迎辞.
第六章 子程序结构 §6.1 子程序的设计方法 §6.2 嵌套与递归子程序 §6.3 子程序举例 §6.4 DOS系统功能调用.
1.3 微型计算机的结构和工作原理.
條件處理.
第九章 高级宏汇编语言 9.1 结构 结构就是将逻辑上有一定关系的一组数据,以某种方式组合在一起所形成的数据形式。
第5章 循环与分支程序设计 学习目标: 了解并掌握循环程序的构造方法,尤其是对循环控制条件的设置以及可能出现的边界情况的考虑。掌握起泡排序算法这种多重循环程序设计中的常用方法。交换标志位的设置在此算法中更能提高效率。学会在数组排序算法中采用折半查找法来提高查找效率。学会使用跳跃表法实现CASE结构。
4.1 汇编语言程序格式 4.2 MASM中的表达式 4.3 伪指令语句 4.4 DOS系统功能调用和BIOS中断调用
3.4.5 控制转移指令(Control transfer instructions) (一)、控制转移指令概述
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月19日.
第五章:输入输出基本技术 主讲教师:范新民.
第二章 8086微处理器. 第二章 8086微处理器 微处理器的基本结构 8086微处理器的主要特性和内部结构 8086CPU的工作模式和引脚信号 8086的存储器管理 8086的总线操作和时序.
第10章 可编程外围接口芯片8255A及其应用 10.1 概述 A的工作原理 A的应用举例.
习题3 1、 分别说明下列指令的原操作数和目的操作数各采用什么寻址方式。 设定如下: ①立即寻址 ② ① ②寄存器寻址
3.4.2 算术运算指令(Arithmetic) 算术运算指令内容: 8086/8088提供加、减、乘、除等六种基本算术操作
第九章 BIOS和DOS中断 在存储器系统中,从地址0FE000H开始的8K ROM(只读存储器)中装有BIOS(Basic Iuput /output System)例行程序。驻留在ROM中的BIOS给PC系列的不同微处理器提供了兼容的系统加电自检,引导装入,主要I/O设备的处理程序以及接口控制等功能模块来处理所有的系统中断。使用BIOS功能调用,给程序员编程带来很大方便,程序员不必了解硬件操作的具体细节,直接用指令设置参数,然后中断调用BIOS中的子功能,所以利用BIOS功能编写的程序简洁,可读性好,
第2章 80x86计算机组织  计算机系统  存储器  中央处理机  外部设备.
《微型计算机原理与接口技术》 第4版 王良 宁德师范学院 吴宁 乔亚男 编著 清华大学出版社 出版
第5章 循环与分支程序设计  循环程序设计  分支程序设计.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年12月17日.
第八章 中断系统.
第5章 循环与分支程序设计 5.1 循环程序设计 5.2 分支程序设计
微机原理与接口技术 西安邮电大学计算机学院 宁晓菊.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月06日.
第3章 80x86的指令系统和寻址方式 § x86的寻址方式 § x86的指令系统
第6章 子程序结构 在程序设计中,我们会发现一些多次无规律重复的程序段或语句序列。解决此类问题一个行之有效的方法就是将它们设计成可供反复调用的独立的子程序结构,以便在需要时调用。在汇编语言中,子程序又称过程。 调用子程序的程序称为主调程序或主程序。 2019/7/20 ch6.
微机原理与接口技术 第5章 汇编语言程序设计 西安邮电大学计算机学院 王 钰.
微机原理与接口技术 西安邮电大学计算机学院 宁晓菊.
Presentation transcript:

第三章 8086的指令系统 8086指令特点 8086的寻址方式 8086的指令格式及数据类型 8086的指令集

3.1 8086指令特点 1.8086具有灵活的指令格式 2.8086有较强的运算指令 3.8086指令有极强的寻址能力 3.1 8086指令特点 1.8086具有灵活的指令格式 2.8086有较强的运算指令 3.8086指令有极强的寻址能力 4.8086指令有处理多种数据能力 B085采用变字节指令格式,指令长度为1—6个字节.每种指令的功能以及指令的类型不 同,所需的数据长度和来源以及操作方式也不同.根据不同的需要,对指令中每个字节的功能 做了具体的规定.这种功能字节按照规定,组成变字节指令,既能有效地占用最小存储空间,又 便于使用和记忆. SHL,SAL 8086指令系统可处理8位或16位的、带符号或不带符号的数据,也可以处理十进制数. 对8位及16位操作数均可进行标准的逻辑运算、移位、数据传送等操作.还有一组单字节指令 可以对字节和字符串进行处理,使传送效率大大提高.

3.2 8086的寻址方式 寻址方式就是指令中用于说明操作数所在地址的方法 MOV AX, 1234H ;B8 34 12 3.2 8086的寻址方式 寻址方式就是指令中用于说明操作数所在地址的方法 MOV AX, 1234H ;B8 34 12 MOV AX, [1234H] ;A1 34 12

一、 8086的寻址方式说明 1.有效地址EA(Effective Address) 当操作数在内存中时,指令的地址码(操作码)给出所访问的内存单元的逻辑地址。在寻址方式中,逻辑地址的形成是由多个分量组合而成,该组合地址又叫有效地址。

2、MOV数据传送指令 其格式为: MOV 目的操作数,源操作数 目的操作数和源操作数均可采用不同的寻址方式, 两个操作数的类型必需一致。

二、寻址方式介绍 1.立即寻址(Immediate addressing) 操作数就在指令中,紧跟在操作码后面,作为指令一部分存放在内存的代码段中,这种操作数称为立即数。 例: MOV AX , 34EAH B8 EA 34 MOV BL , 20H B3 20

2、寄存器寻址 (Register addressing) 操作数在寄存器中,指令中源操作数和目的操作数都可用这种寻址方式。 例: MOV AL , BL 88 D8 MOV AX , 1234H B8 34 12 MOV AL , AH 88 E0

3、直接寻址(Direct addressing) 当指令中的源操作数或目的操作数,采用直接给出被访问内存单元的逻辑地址时,这种寻址方式称直接寻址。 例: MOV AX , [3E4CH] A1 4C 3E MOV [1234H] , AL A2 34 12

4、寄存器间接寻址(Register indirect addressing) 内存单元的逻辑偏移地址通过寄存器间接给出。 例: MOV SI , 61A8H MOV DX , [SI]

5、基址/变址寻址(Based/Indexed addressing) 这种寻址方式中提出位移量的概念,即在寄存器间接寻址给出的偏移地址上,加一相对位移量。位移量是一带符号的16位16进制数。当使用BX或BP寄存器时,称基址寻址;使用SI或DI寄存器时,称变址寻址。 例: MOV CX , 36H[BX] MOV -20[BP] , AL

6、基址加变址寻址(Based Indexed addressing) 它的EA是由三部分组成的,基址寄存器 BX或BP的内容加上变址寄存器的内容再加 位移量。物理地址由基址寄存器按规则选 择段寄存器,也可以使用段超越。 例: MOV AX , 8AH[BX][SI] 该例中EA=8AH+BX+SI 物理地址=DS×10H+8AH+BX+SI

在指令中没有明显的标出,而指定寄存器参加操作,称之为“隐含寻址”。 7、其他 A、隐含寻址 在指令中没有明显的标出,而指定寄存器参加操作,称之为“隐含寻址”。 DAA MUL BL

B、串寻址(String addressing) 串寻址方式仅在8086的串指令中使用。规定源操作数的逻辑地址为DS:SI;目的操作数的逻辑地址为ES:DI。当执行串指令的重复操作时,根据设定的方向标志DF,SI和DI会自动调整。

总结--段约定

总结--内存地址形成

c、I/O(输入/输出)端口寻址 (I/O port addressing) 当操作数在外部设备时,使用I/O指令。此时有两种不同的寻址方式访问I/O端口。 (1) 直接端口寻址方式。 (2) 采用DX寄存器间接寻址方式 (3) 输入指令中目的操作数可为AL或 AX;输出指令中源操作数可为AL或AX。 例: IN AL , 25H E5 25H MOV DX , 3E4H OUT DX , AL EE

IN AL/AX, DX/n AL AX n DX OUT DX/n, AL/AX

3.3 8086的指令格式及数据类型 指令由操作码和操作数(地址码)组成。8086的指令长度是可变的,一条指令一般由1-6个字节组成。 3.3 8086的指令格式及数据类型 指令由操作码和操作数(地址码)组成。8086的指令长度是可变的,一条指令一般由1-6个字节组成。 Daa Mov al,20 Mov ax,2000 Mov [bx],word ptr 2000 Mov [bx+00],word 2000 Mov [bx+1000],word 2000

一、指令中的操作数 1、单操作数指令 指令助记符 指令的16进制代码 INC AX 40H INC BX 43H

2、双操作数指令 指令助记符 指令的16进制代码 MOV AL , 04 B004H MOV AX , 04 B80400

3、三个操作数指令 8086指令系统中,大多数指令中只有1-2个操作数,但也有少数指令中有3个操作数,不过有一操作数隐含在操作码中。 例: ADC AX , BX 该指令完成操作数AX、BX和CF位相加。 DAA MOV AL,12 MOV AX,1234 MOV [BX+12],34 MOV [BX+12],3456 MOV [BX+1234],3456

二、指令中的数据类型 无符号数 带符号数 ASCII码 BCD数(压缩BCD和非压缩BCD)

3.4 8086的指令集 8086指令系统按功能可分为6大类型: 1、 数据传输类 2、 算术运算类 3、 逻辑运算类 4、 串操作类 3.4 8086的指令集 8086指令系统按功能可分为6大类型: 1、         数据传输类 2、         算术运算类 3、         逻辑运算类 4、         串操作类 5、         程序控制类 6、         处理机控制类

一、数据传送指令 数据传送指令又可以分成4种: l 通用数据传送 l输入/输出数据传送 l 目的地址传送 l 标志寄存器转送

指令的共同特点是: 1、除POP和SAHF指令外,这类指令的操作结果不会影响FR寄存器中的标志。   2、指令中有两个操作数,目的操作数和源操作数,其执行过程为: 目的操作数 源操作数, 当指令中仅列出一个操作数时,另一操作数为隐含。

常用的符号 累加器 a ax,al 寄存器 r: ax,bx,cx,dx,si,di,sp,bp, al,ah,cl,ch,bl,bhdl,dh 段寄存器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] 立即数 im

1、通用数据传送指令 1)、MOV 传送指令 指令格式为: MOV 目的 ,源 功能:目的 源

mov r,oprd Oprd: r, mem,seg, im mov mem, oprd Oprd: r, seg, im mov seg, oprd Oped: r, mem 注意:1、mem不能到mem 2、seg做目的操作数时, 不包括cs。 3、类型匹配

2)PUSH 进栈指令 Oprd: r, mem, seg 其操作过程是: a、SP-2,指示堆栈中可以存放数据的位置 b、存源操作数,完成进栈操作。

3)POP 出栈指令 指令格式为:POP oped Oped: r, mem, seg(不包括 CS!!!) 其操作过程是: a、将SS:SP所指示的栈顶处的两个字 节的数据,弹到目的操作数中; b、SP+2,指示当前栈顶位置,完成出栈操作。

4)XCHG 交换指令 指令格式为: XCHG 目的操作数 ,源操作数 XCHG R, OPRD OPRD: R, MEM 操作数不能为立即数;    源和目的不能同时为存储单元;     段寄存器不能作为操作数。

举例: 把2000H单元的字和3000H单元互换

2、累加器专用传送指令 1) IN 输入指令 2)OUT 输出指令 指令格式为: IN AL , n IN AX , n IN AL , DX IN AX , DX 2)OUT 输出指令 指令格式为: OUT n , AL OUT n , AX OUT DX , AL OUT DX , AX

3) XLAT 换码指令 指令格式为:XLAT 功能[bx+al]->al 例:查表求n的平方。n:[0-9] 1、将0-9的平方表建立在偏移地址为2000H的内存中,如图。 2、查表

完成求5的平方指令序列为: MOV BX , 2000H ;指向平方表的首地址 MOV AL , 5 ;将5换码成5的平方值 XLAT ;查表,平方值在AL中

3、目标地址传送指令 这类指令有: 1)LEA 有效地址传送到寄存器 2)LDS 装入一个新的物理地址 3)LES 装入一个新的物理地址

4、标志寄存器传送指令 1)LAHF FR寄存器的低8位送AH 2)SAHF AH 送 FR寄存器的低8位 3)PUSHF FR寄存器推入堆栈 4)POPF 从栈顶中弹出存入FR寄存器

举例: 1、把FR各位清零 2、把TF置1,其他位不变

二、算术运算指令 1、算术加法指令 1) ADD 算术加法 指令功能:目的地目的操作数+源操作数 格式 ADD R,OPRD 1、算术加法指令                1)   ADD 算术加法 指令功能:目的地目的操作数+源操作数 格式 ADD R,OPRD OPRD: R,MEM,IM ADD MEM, OPRD OPRD:R,im 算术指令影响标志位 讨论寻址能力

二、算术运算指令 1、算术加法指令 2)ADC 带进位算术加法 指令功能:目的地目的操作数+源操作数+CF 3)INC 加1指令 1、算术加法指令                2)ADC 带进位算术加法 指令功能:目的地目的操作数+源操作数+CF 3)INC 加1指令 指令功能:目的地目的操作数+1 4) DAA 对压缩BCD数加法操作的结果进行校正 指令功能:对AL寄存器的内容进行十进制调整 5)   AAA 对非压缩BCD数加法操作的结果进行校正 举例:多位的加法

2、算术减法指令 1) SUB 算术减法 指令功能:目的地目的操作数-源操作数 2) SBB 带进位算术减法 指令功能:目的地目的操作数-源操作数-CF 3) DEC 减1指令 指令功能:目的地目的操作数-1 4) DAS 对压缩BCD数减法操作的结果进行校正 指令功能:对AL寄存器的内容进行十进制调整 5) AAS 对非压缩BCD数减法操作的结果进行校正 6) CMP 比较指令 指令功能:两个操作数相减,不产生运算结果仅影响标志 7) NEG 取补指令 指令功能:0-目的操作数 BCD码-1  SUB DEC 把DXAX取补  CX=0.SUB SBB, NEG DX; 0-DX NEG AX SBB DX,0 DX-CY

3、算术乘法指令 1) MUL 无符号数乘法 指令功能:完成两个操作数相乘 MUL OPRD; AL*OPRD->AX AX*OPRD->DX AX OPRD: R, MEM 2)  IMUL 带符号数乘法 3) AAM 非压缩BCD数乘法操作结果校正 指令功能:完成两个非压缩BCD数乘法结果的十进制数调整 举例:把扩展BCD转二进制数 DX=BCD2*100+BCD1*10+BCD0 AL=-1 BL=2 IMUL BL, AX=?

4、算术除法指令 DIV 无符号数除法 指令功能:完成两个操作数相除 DIV OPRD AX/OPRDAL:商,AH:余数 DXAX/OPRD AX:商,DX:余数 IDIV 带符号数除法 另外还有: CBW 带符号数字节扩展、 CWD 带符号数字扩展、 AAD 非压缩BCD数除法校正 举例:把AL二进制数转为扩展BCD数

三、位操作指令 指令的共同点是: (1) 可以按二进制位进行操作; (2)逻辑运算指令按逻辑门电路的运算规则, (1) 可以按二进制位进行操作; (2)逻辑运算指令按逻辑门电路的运算规则, (3) 逻辑移位指令有左移和右移,移出的位都 进入CF标志 (4)因移空位的补充方式不同有多种指令形 式 (5)逻辑移位指令中,移动超过1次则用CL寄 存器做计数器 (6) 执行逻辑操作指令,CF均被清0

1、 逻辑运算指令 1) NOT 逻辑求反 指令功能:将8位、16位寄存器或存储器内容求反 2) AND 逻辑与操作 指令功能:将8位、16位寄存器或存储器内容和源操作数“与” 3) OR 逻辑或操作 指令功能:将8位、16位寄存器或存储器内容和源操作数“或” 4)XOR 逻辑异或操作 指令功能:将8位、16位寄存器或存储器内容和源操作数“异或” 5)TEST 测试指令 指令功能:将8位、16位寄存器或存储器内容和源操作数“与” ,不产生运算结果,仅影响状态标志

AND 可以使指定位为0 OR 可以使指定位为1 XOR 可以使指定位为非

2、逻辑移位指令 1)SHL 逻辑左移 指令功能:将8位、16位寄存器或存储器内容左移,移空的位补0 SHL OPRD, 1 OR SHL OPRD,CL 2)SAL 算术左移 举例:扩展BCD码BCD 码

2、逻辑移位指令 3)SHR 逻辑右移 指令功能:将8位、16位寄存器或存储器内容右移,移空的位补0 4)SAR 算术右移 指令功能:将8位、16位寄存器或存储器内容右移,移空的位由最高位补充。 举例:BCD 码扩展BCD码

5)ROL 不带进位循环左移 指令功能:将8位、16位寄存器或存储器内容左移,移空的位由移出位补充。 6)ROR 不带进位循环右移 指令功能:将8位、16位寄存器或存储器内容右移,移空的位由移出位补充。

7)RCL 带进位循环左移 指令功能:将8位、16位寄存器或存储器内容左移,移空的位由CF位补充。 8)RCR 带进位循环右移 指令功能:将8位、16位寄存器或存储器内容右移,移空的位由CF位补充。 举例:倒序程序

四、串处理指令 源操作数指针 DS:SI, 目的操作数指针 ES:DI 每操作一次SI,DI修改一次,方向由DF控制 重复操作的退出 cx控制 条件控制(ZF标志)

四、串处理指令 1、串传送指令 MOVSB / MOVSW 2、串比较指令 CMPSB/COMPSW 3、串搜索指令 SCASB/SCASW 4、串装入指令 LODSB/LODSW 5、串存储指令 STOSB/STOSB 6、指令前缀 REP、REPZ/REPE、REPNZ/REPNE

五、程序控制转移指令 1、无条件转移指令 JMP 目标地址 1)、段内直接转移 JMP LABEL IP+位移量->IP 位移量=LABEL指令地址-JMP地址-3 2)、短转移指令 IP+CBW(位移量)->IP 位移量(8bit)=LABEL指令地址-JMP地址-2 Jmp E9 EB

3)、段内间接转移 JMP OPRD; OPRD ->IP OPRD:r,MEM JMP AX

3)、段间直接转移 JMP far LABEL 4)、段间间接转移 offest LABEL ->IP seg LABEL ->cs 4)、段间间接转移 JMP OPRD; OPRD:MEM offest OPRD ->IP seg OPRD ->cs JMP DWORD PTR [SI]

2、条件转移指令 1) 单条件转移指令 ① JC ;CF标志为1,则转移 ② JNC ;CF标志为0,则转移 1)         单条件转移指令 ①    JC ;CF标志为1,则转移 ②    JNC ;CF标志为0,则转移 ③    JE/JZ ;ZF标志为1,则转移 ④    JNE/JNZ ;ZF标志为0,则转移 ⑤    JS ;SF标志为1,则转移 ⑥    JNS ;SF标志为0,则转移 ⑦    JO ;OF标志为1,则转移 ⑧    JNO ;OF标志为0,则转移 ⑨    JP/JPE ;PF标志为1,则转移 ⑩    JNP/JPO ;PF标志为0,则转移 除二四舍五入

条件A处理 Y 条件A判断 N 条件B处理 Y 条件B判断 N

2)用于无符号数的条件转移指令 ①  JA/JNBE ;高于/不低于等于转移,CF∨ZF=0 ②  JNA/JBE ;不高于/低于等于转移,CF∨ZF=1 ③  JB/JNAE ;低于/不高于等于转移,CF=1 ④  JNB/JAE ;不低于/高于等于转移,CF=0

3)用于带符号数的条件转移指令 ① JG/JNLE ;大于/不小于等于转移,(SF ∨OF)∨ ZF=0 ② JGE/JNL ③  JL/JNGE ;小于/不大于等于转移,(SF ∨OF)=1 ④ JLE/JNG ;小于等于/不大于转移,(SF ∨OF)∨ ZF=1

3、循环控制指令 2)另外还有:LOOPZ/LOOPE指令、LOOPNZ/LOOPNE指令、JCXZ指令。 1)LOOP指令 执行该指令,CX-1,若CX≠0,转移到目标地址,即: IP←IP+8位位移量(带符号扩展到16位)。由于指令自动对CX寄存器做减1操作,故使用LOOP指令前,需将循环操作次数值赋给CX寄存器。 2)另外还有:LOOPZ/LOOPE指令、LOOPNZ/LOOPNE指令、JCXZ指令。 对倒序程序段的循环

4、子程序调用和返回指令 1)CALL指令 段内直接调用 例:CALL LABLE a、IP->栈 b、 IP+位移量->IP 段内间接调用 例:CALL WORD PTR [SI] 段间直接调用 例:CALL FAR 目标地址 段间间接调用 例:CALL DWORD PTR [SI]

和调用指令CALL 相对应的是返回指令RET。返回指令通常作为一个子程序或过程的最后一条指令,它用以返回到调用这个子程序的断点处。 关于RET n 指令,这条指令称为带参数返回指令。 对倒序程序段的调用 Ax*10

5、中断指令和中断返回指令 1)INT n 中断指令 2)INTO 溢出中断指令 3)IRET 中断返回指令

六、处理器控制指令 1、标志控制指令 STC ;使CF 置1 CLC ;使CF 清0 CMC ;使CF 取反 STD ;使DF 置1 CLD ;使DF 清0 STI ;使IF置1 CLI ;使IF 清0

2、外同步指令 HLT 处理器暂停指令 WAIT 等待指令 ESC 换码指令/交权指令 LOCK 总线封锁指令 NOP 空操作指令