




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 17《认识简易计时器》教学设计-2023-2024学年科学四年级下册人教鄂教版
- 10《我们不乱扔》第一课时(教学设计)-2023-2024学年道德与法治二年级上册统编版
- 12 古诗三首 题临安邸 教学设计-2024-2025学年语文五年级上册统编版
- 12 盘古开天地(教学设计)-2024-2025学年统编版语文四年级上册
- 全国粤教版信息技术七年级下册第二章第四节《制作楼道自动感应灯》教学设计
- Unit 4 Eat Well(大单元教学设计)2024-2025学年七年级英语下册同步备课系列(人教版2024)
- 12 《论语》十二章2024-2025学年新教材七年级上册语文新教学设计(统编版2024)
- 14 当冲突发生(教学设计)-部编版(五四制)道德与法治四年级上册
- 第3课现代食物的生产、储备与食品安全 教学设计-2023-2024学年高中历史统编版(2019)选择性必修二经济与社会生活
- 情态动词must(教学设计)-2024-2025学年人教版英语八年级上册
- 胸腔镜下交感神经切断术手术配合
- 英文版中国故事绘本哪吒闹海
- (正式版)JTT 1496-2024 公路隧道施工门禁系统技术要求
- 人工智能(人工智能大数据技术相关专业)全套教学课件
- 小学数学主题活动设计一年级《欢乐购物街》
- 一年级口算天天练1(打印版)
- 2024年浙江省温州市中考一模语文试题
- 护理分级标准
- 精神科医生培训课件
- 初三复习资料全部
- 人教版高中数学必修一课后习题答案
评论
0/150
提交评论