下载此文档

《微型计算机系统原理及应用》指令系统(程序控制指令).ppt


文档分类:IT计算机 | 页数:约69页 举报非法文档有奖
1/69
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/69 下载此文档
文档列表 文档介绍
程序控制指令
控制转移指令分为:
转移指令
循环控制指令
调用和返回指令
中断指令
1
转移指令的实质:改变IP(或CS)的内容。
所有转移指令不会影响标志位。
分为无条件转移和条件转移两种。

2
(1) 无条件转移指令- JMP
本指令无条件转移到指定的目标地址,以执行从该地址开始
的程序段。根据设置CS、IP的方法,JMP指令分成4种情况。
①段内直接转移: JMP disp
指令中给出的8/16位的位移量加到IP。CS保持不变。

②段内间接转移: JMP reg/mem
reg/mem中的16位偏移地址送IP。CS保持不变。

③段间直接转移 JMP segment:offset
指令中给出的16位的段和16位的偏移地址送到CS和IP。

④段间间接转移 JMP mem32
mem32中的16位的段和16位的偏移地址送到CS和IP。
3
转移的目标地址由指令以相对于IP的位移量直接给出。
格式:
JMP SHORT_label;位移量转移范围-128~+127
JMP NEAR_label ;位移量转移范围-32768~+32767
例: JMP 0120H ;直接转向IP=IP+0120H
例: JMP NEXT ;转向指令标号为NEXT的位置。
由于是段内转移,故转移后CS内容保持不变。
①段内直接转移
4
②段内间接转移
转移的目标地址以段内偏移地址的形式由16位寄存器或字存储器的内容给出。

例1:JMP SI
若(SI)=1200H,则指令执行后,(IP)=1200H,于是转向代码段的偏移地址1200H处开始执行。
5
例2:JMP WORD PTR[BX+DI]
设指令执行前:
(DS)=3000H,(BX)=1300H,
(DI)=1200H,(32500H)=2350H;
则指令执行后:(IP)=2350H
6
③段间直接转移
在指令中直接给出要转移到的目的段基地址和偏移地址。
例:JMP 2000H:1000H
执行时,(IP)←1000H,(CS)←2000H
例:JMP far_label
其中的far_label为远类型的标号。
7
转移的目的地址(段基和偏移)在两个相邻的字存储单元中。操作数中低字给IP,高字给CS。
例如:
JMP DWORD PTR[SI]
设指令执行前:(DS)=4000H,(SI)=1212H,
(41212H)=1000H,(41214H)=4A00H
则指令执行后:(IP)=1000H,(CS)=4A00H
于是转到4B000H处开始执行指令。
④段间间接转移
8
4000
1212
+)
41212
DS
SI
00
10
00
4A
41212
41213
41214
41215
1000
4A00
IP
CS
段间间接转移操作示意图
11111111
11101100
JMP DWORD PTR [SI]的机器码
DS:[SI]
9
条件转移指令应用于程序的条件分支结构。
条件转移指令根据标志位的状态来决定是否进行分支转移。具体讲:若条件满足则跳转至目标指令执行,否则,顺序执行后续程序。
指令的转移范围为-128~+127字节。
一般格式为:Jcc SHORT_label
(2)条件转移指令
10

《微型计算机系统原理及应用》指令系统(程序控制指令) 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数69
  • 收藏数0 收藏
  • 顶次数0
  • 上传人autohww
  • 文件大小484 KB
  • 时间2018-02-26