第三章+8086指令系统4.pdf
文本预览下载声明
第三章 8086的寻址方式和指令系统
IV
1
程序控制转移指令
用来改变程序的流程,适应实际问题的需要;
会改变IP和/或CS的内容;
分类:无条件转移指令
有条件转移指令
循环控制转移指令
子程序调用指令
中断指令
条件转移指令中的条件由影响标志状态的运算指令产
生。
除中断指令外,其他转移指令都不影响状态标志位。
2
、控制转移指令
8086提供了无条件转移和过程调用,条件转移,循
环控制以及中断等几类,总结如表3-9 。皆利用控制
转移指令可以改变CS和IP的值,从而改变指令的执
行顺序。
1. 无条件转移指令
(1) JMP无条件转移指令(Jump)
指令格式:JMP 目的
使程序无条件地转移到指令指 的目的地址去执行。
如何分成四类?
3
这类指令又分成两种类型: 根据转移地址提供的方式,
一种类型:段内转移,或 又可分为两种方式:
近(NEAR)转移,转移指令 一种方式:直接转移,指令码
的目的地址和JMP指令在同 中直接给出转移的目标地址,目
一代码段中,转移时仅改变 的操作数用一个标号表示。可分
IP寄存器的内容,段地址CS 为段内直接转移和段间直接转移。
的值不变。
二种类型:段间转移,或 二种方式:间接转移,目的地
远(FAR)转移,转移指令的 址包含在某个16位寄存器或存储
目的地址和JMP指令不在同 单元中,CPU必须根据寄存器或
一代码段中,发生转移时, 存储器寻址方式,间接地求出转
CS和IP的值都要改变,也就移地址。同样可分为段内间接转
是说程序要转到另一代码段 移和段间间接转移。
去执行。
4
段内直接转移指令
指令格式:
JMP SHORT 标号
;段内短转移,8位位移量,转移范围-128~+127
JMP NEAR PTR 标号/JMP 标号
;段内近转移,16位位移量,
;转移范围-32768~+32767
该指令转向的有效地址等于当前IP的内容加
上8位或16位的位移量。
5
下面是一个简单程序的列表文件,它是由汇编语言源程序经
汇编程序翻译后产生的.
;偏移量 机器码 程序
0000 CODE SEGMENT
ASSUME CS:CODE
0000 0405 PROG_S : ADD AL,05H
0002 90 NOP ;空操作
0003 EBFB JMP SHORT PROG_S
0005 90 NOP
0006 CODE ENDS
END
显示全部