版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 程序控制指令用来控制程序的执行顺序程序控制指令用来控制程序的执行顺序,用于实现分支、循环、过程调用,用于实现分支、循环、过程调用/返回、返回、中断调用中断调用/返回等程序结构返回等程序结构 CS:IP总是指向下一条即将执行的指令的地址,通过改变总是指向下一条即将执行的指令的地址,通过改变IP和和CS的值,可以改变的值,可以改变程序的执行顺序程序的执行顺序,但程序中不能使用,但程序中不能使用MOV指令直接改变指令直接改变CS和和IP的值,只能通过程的值,只能通过程序控制指令实现序控制指令实现-32768+32767,转移类型为转移类型为NEAR PTR-128+127,转移类型为转移类型为SH
2、ORT 实际编程时,汇编程序会根据目标地址的属性,实际编程时,汇编程序会根据目标地址的属性,自动处理自动处理成短转移、近转移或远转移。成短转移、近转移或远转移。 程序员可用操作符程序员可用操作符short、near ptr 或或far ptr 强制成为需强制成为需要的转移类型。要的转移类型。 转移类指令的目标地址通常采用标号,由汇编程序自动计算目标地址转移类指令的目标地址通常采用标号,由汇编程序自动计算目标地址1、无条件转移指令、无条件转移指令 JMP(JuMP) 格式格式:JMP d 功能功能:程序无条件转移到目标地址:程序无条件转移到目标地址d去执行去执行 说明说明:目标地址:目标地址d常
3、常用标号表示,标号是目标地址的符号表示。有常常用标号表示,标号是目标地址的符号表示。有6种目标地址种目标地址寻址方式。寻址方式。2、子程序(过程)调用指令、子程序(过程)调用指令 CALL 格式格式:CALL d 功能功能:程序无条件转移到子程序(过程)地址:程序无条件转移到子程序(过程)地址d去执行并保护断点地址去执行并保护断点地址 说明说明:CALL指令与指令与JMP指令不同点在于指令不同点在于CALL指令包含了保护断点地址的操作,指令包含了保护断点地址的操作,即将断点处的即将断点处的IP(段内调用)值或(段内调用)值或CS、IP(段间调用)值压入堆栈(段间调用)值压入堆栈(PUSH IP
4、或或PUSH CS;PUSH IP)。)。CALL指令应同子程序(过程)返回指令指令应同子程序(过程)返回指令RET搭配使用。搭配使用。XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX3、子程序(过程)返回指令、子程序(过程)返回指令 RET(RETurn) 格式格式:RETRET n 功能功能:无条件从子程序返回:无条件从子程序返回 说明说明:返回指令:返回指令RET执行与执行与CALL指令相反的操作,指令相反的操作,RET指令安排在子程序中,实指令安排在子程序中,实现从子程序返回到主程序断点处继续执行现从子程序返回到主
5、程序断点处继续执行XXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXXXX4、条件转移指令、条件转移指令 格式格式:J条件条件 标号标号 功能功能:若满足条件,则程序转移到标号地址去执行,否则继续执行下一条指令:若满足条件,则程序转移到标号地址去执行,否则继续执行下一条指令 说明说明:条件转移指令是以标志位的状态,或者是以标志位的逻辑运算结果作为转:条件转移指令是以标志位的状态,或者是以标志位的逻辑运算结果作为转移依据的。如果满足转移条件,则程序转移到指定的目标地址,否则,继续执行下移依据的。如果满足转移条件,则程序转移到指定的目标地址,否则,继续执行下一条指令一条指
6、令条件是由标志寄存器中的标志的状态决定的转移。条件是由标志寄存器中的标志的状态决定的转移。条件是由有符号数和无符号数的大小决定的转移。条件是由有符号数和无符号数的大小决定的转移。FRJC 标号标号 CF=1有进位,则转移到标号所在地址有进位,则转移到标号所在地址JNC 标号标号 CF=0无进位,则转移到标号所在地址无进位,则转移到标号所在地址JZ/JE 标号标号 ZF=1结果为零,则转移到标号所在地址结果为零,则转移到标号所在地址JNZ/JNE 标号标号 ZF=0结果为非零,则转移到标号所在地址结果为非零,则转移到标号所在地址JS 标号标号 SF=1结果为负,则转移到标号所在地址结果为负,则转
7、移到标号所在地址JNS 标号标号 SF=0结果非负,则转移到标号所在地址结果非负,则转移到标号所在地址 JP 标号标号 PF=1结果结果1的个数为偶数个,则转移的个数为偶数个,则转移JNP 标号标号 PF=0结果结果1的个数为奇数个,则转移的个数为奇数个,则转移JO 标号标号 OF=1结果溢出,则转移到标号所在地址结果溢出,则转移到标号所在地址 JNO 标号标号 OF=0结果未溢出,则转移到标号所在地址结果未溢出,则转移到标号所在地址条件是由标志寄存器中的标志的状态决定的转移。条件是由标志寄存器中的标志的状态决定的转移。条件是由有符号数和无符号数的大小决定的转移。条件是由有符号数和无符号数的大
8、小决定的转移。u无符号数转移指令:无符号数转移指令:比较两个无符号数,并根据比较结果转移比较两个无符号数,并根据比较结果转移JA标号标号;两数比较,高于则转移(;两数比较,高于则转移(JNBE)JNA标号标号;两数比较,不高于则转移(;两数比较,不高于则转移(JBE)JB标号标号;两数比;两数比较,较,低于则转移低于则转移(JNAE)JNB标号标号;两数比较,不低于则转移(;两数比较,不低于则转移(JAE)u有符号数转移指令:有符号数转移指令:比较两个有符号数,并根据比较结果转移比较两个有符号数,并根据比较结果转移JG标号标号;两数比较,大于则转移(;两数比较,大于则转移(JNLE)JNG标号
9、标号;两数比较,不大于则转移(;两数比较,不大于则转移(JLE)JL标号标号;两数比较,小于则转移(;两数比较,小于则转移(JNGE)JNL标号标号;两数比较,不小于则转移(;两数比较,不小于则转移(JGE)5、循环指令、循环指令 LOOP 格式格式:LOOP 标号标号 功能功能:将:将CXCX1,若,若CX0则转到标号地则转到标号地址去执行,否则执行下一条指令址去执行,否则执行下一条指令 说明说明:LOOP指令相当于下面两条指令的组合:指令相当于下面两条指令的组合:6、循环指令、循环指令 LOOPZ/LOOPE 格式格式:LOOPZ/LOOPE 标号标号 功能功能:若:若ZF1且且CX1CX
10、0则转到标号地址则转到标号地址去执行,否则执行去执行,否则执行LOOPE后面的指令后面的指令 说明说明:LOOPE指令需要同时满足两个条件才进行指令需要同时满足两个条件才进行循环转移。注意指令中检测的循环转移。注意指令中检测的ZF是前面指令影响的是前面指令影响的结果,不是本指令结果,不是本指令CX1的结果的结果LOOPE指令常用于在一个数据区中寻找内容指令常用于在一个数据区中寻找内容与规定字符与规定字符不相同不相同的单元的单元7、循环指令、循环指令 LOOPNZ/LOOPNE 格式格式:LOOPNZ/LOOPNE 标号标号 功能功能:若:若ZF0且且CX1CX0则转到标号地址则转到标号地址去执
11、行,否则执行去执行,否则执行LOOPE后面的指令后面的指令 说明说明:该指令与:该指令与LOOPZ指令仅指令仅ZF条件标志不同。条件标志不同。LOOPE指令常用于在一个数据区中寻找内容指令常用于在一个数据区中寻找内容与规定字符与规定字符相同相同的单元的单元8、CX是是0则转移指令则转移指令 JCXZ 格式格式:JCXZ 标号标号 功能功能:若:若CX0则转到标号地址去执行,否则执行则转到标号地址去执行,否则执行JCXZ后面的指令后面的指令 说明说明:JCXZ指令与指令与LOOP指令相比,都是根据指令相比,都是根据CX的内容决定是否转移,但不同点是的内容决定是否转移,但不同点是JCXZ指令不包含指令不包含CX减减1操作,另外转移条件是操作,另外转移条件是CX0,而不是,而不是CX09、中断调用指令、中断调用指令 INT :INT n :调用类型号为:调用类型号为n的中断服务程序,的中断服务程序,n为为0255。 XXXXXXXXXXXX11、溢出中断指
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届天津市公费师范毕业生二阶段岗位需求表(16人)笔试模拟试题及答案详解
- 2026年西安雁塔雁南小学教师招聘考试参考题库及答案详解
- 2026年西咸新区底张中心卫生院招聘(5人)考试参考题库及答案详解
- 2026宿迁市宿城区古城街道招聘5人笔试模拟试题及答案详解
- 2026年福建厦门市集美区浒井实验幼儿园非在编教职工招聘1人考试模拟试题及答案详解
- 2026云南昆明市呈贡区招聘应急救援队员14人考试参考题库及答案详解
- 2026年安康市妇幼保健院备案制招聘(4人)考试参考题库及答案详解
- 2026江西南昌市防范和打击非法金融活动专项小组办公室招聘1人笔试参考题库及答案详解
- 2026南网能源公司第一批项目制用工招聘18人笔试模拟试题及答案详解
- 2026甘肃陇塬大数据服务(临洮)有限公司招聘20人考试模拟试题及答案详解
- 2026智能制造MES项目解决方案
- 泰安市交通发展投资集团有限公司部分权属企业招聘考试参考题库及答案解析
- 2026REACH法规修订对颜料出口企业合规影响分析
- 江苏南通中远海运川崎船舶工程有限公司招聘笔试题库2026
- 2026广东广州市黄埔区大沙街姬堂经联社招聘财务人员1人考试备考题库及答案解析
- 2026年广东省中考语文二模试卷(含详细答案解析)
- (2026版)医疗器械趋势报告撰写指南(试行)课件
- 2026年养老护理员测试卷附参考答案详解【达标题】
- 小升初语文古诗文综合专项练习(冲刺提升)
- 2022年湖南省长沙市中考物理真题及答案解析
- 2025广西广投产业链服务集团有限公司招聘24人笔试历年参考题库附带答案详解
评论
0/150
提交评论