2022年X汇编语言程序设计⑧.指令系统转移指令[收 .pdf
《2022年X汇编语言程序设计⑧.指令系统转移指令[收 .pdf》由会员分享,可在线阅读,更多相关《2022年X汇编语言程序设计⑧.指令系统转移指令[收 .pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、80X86 汇编语言程序设计第二章 8086/8088 寻址方式和指令系统-(五)转移指令1.无条件转移指令(没有条件碰到就转)(1)无条件段内直接转移指令格式 :JMP 标号这条指令使控制无条件地转移到标号地址处。例如 :NEXT:MOV AX,CXJMP NEXT ;转到 NEXT 处JMP OVER ;转到 OVER 处OVER: MOV AX,1无条件段内直接转移指令格式如下:由操作码和地址差值构成。指令的操作码| 地址差地址差: 是程序中该无条件转移指令的下一条指令的开始地址到转移目标地址(标号所指定的开始地址)的差值。因为,在执行无条件段内转移指令时,实际的动作是把指令中的地址差加
2、到指令指针IP 上,使 IP 之内容为目标地址,从而达到转移的目的。段内无条件直接转移指令中的地址差可用一个字节表示,也可用一个字表示。如果地址差只要用一个字节表示,就称为短转移;如果地址差要用一个字表示,就称为近转移。段内短跳转: (-128127 )JMP SHORT QUEST段内近跳转: (64KB )JMP NEAR PTR PROG(2)无条件段内间接转移指令格式 :JMP OPRD这条指令使控制无条件地址转移到由操作数OPRD 的内容给定的目标地址处。操作数 OPRD 可以是通用寄存器,也可以是字存储单元。(3)无条件段间直接转移指令格式 :JMP FAR PTR 标号这条指令使
3、控制无条件地转移到标号所对应的地址处。标号前的符号“ FAR PTR ” 向汇编程序说明这是段间转移。例如 :JMP FAR PTR EXITEXIT 是定义在另一个代码段中的标号。无条件段间直接转移指令的具体动作时把指令中包含的目标地址的段值和偏移分别置入CS和IP。这种在指令中直接包含转移目标地址的转移方式称为绝对转移。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - (4)无条件段间间接转移指令格式 :JMP OPRD这条指
4、令使控制无条件地转移到由操作数OPRD 的内容给定的目标地址处。操作数 OPRD 必须是双字存储单元。例如 :JMP DWORD PTR 1234H双字存储单元的低字内容送IP;双字存储单元的高字内容送CS 。例如: (IP) =2BC0H , (CS)=0200H , 位移量 D=5119H ,(BX ) =1200H , (DS)=212AH , (224A0 )=0600H , (275B9 )=098AH试为以下的转移指令找出转移的偏移地址:(求 IP)(1)段内直接寻址(2)使用 BX 及寄存器间接寻址方式的段内间接寻址(3)使用 BX 及寄存器相对寻址方式的段内间接寻址答案:(1)
5、偏移地址 =D+IP=5119H+2BC0H=7CD9H(2) JMP BX (16d*DS+BX )=212A0+1200=(224A0 ) =0600H(3)JMP BX+D (16d*DS+BX+D)=212A0+1200+5119=(275B9 )=098AH2.条件转移指令-8086/8088 提供了大量的条件转移指令,它们根据某标志位或某些标志位的逻辑运算来判别条件是否成立。如果条件成立,则转移,否则继续顺序执行。所有条件转移都只是段内转移。条件转移指令不影响标志。有些条件转移指令有两个助记符,还有些条件转移指令有三个助记符。使用多个助记符的目的是便于记忆和使用。条件转移指令使用的
6、最多的转移指令。通常, 在条件转移指令前,总有用于条件判别的有关指令。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 7 页 - - - - - - - - - 下面的程序测试AX 的低 4位是否全是 0,如果均是是0,那么使CX=0 ,否则使CX=-1MOV CX,-1 ;先将 CX=-1TEST AX,0FH ;测试 AX 的低 4位JNZ NZERO ;不全为 0则转移MOV CX,0 ;全为 0时使 CX=0NEZRO: 从表中可以看出有符号数间的次序关系称为大于
7、(G) 、等于( E) 、小于( L) ;无符号数间的次序关系称为高于(A) 、等于( E) 、和低于( B) 。所以,在使用时要注意区分它们。下面程序实现两个无符号数(设在AX 和 BX 中)的比较,把较大的数存放到AX 中,把较小的数存放在BX 中;CMP AX,BX名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 7 页 - - - - - - - - - JAE OKXCHG AX,BXOK: 如果要比较的两个数是有符号数,则可用下面的程序片段:CMP AX,BXJ
8、GE OKXCHG AX,BXOK: 无符号数之间大小比较后的条件转移指令和有符号数之间的大小比较后的条件转移指令测试的标志完全不同。无符号数和有符号数,两数是否相等可由ZF 标志的反应。进位标志CF 反应两个无符号数比较后的大小关系。两个有符号数比较后的大小关系由符号标志SF 和溢出标志OF一起来反映。设要比较的两个不相等的有符号数a 和 b 分别存放在寄存器AX 和 BX 中,执行指令“ CMP AX,BX ” 后,标志SF 及 OF 的设置情况和两数的大小情况如下:当没有溢出(OF=0 )时,若SF=0 ,则 ab若 SF=1 ,则 ab当产生溢出(OF=1 )时,若SF=0,ab例如:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年X汇编语言程序设计.指令系统转移指令收 2022 汇编语言 程序设计 指令系统 转移 指令
限制150内