昆明网站的优化,威海网站建设怎么样,什么软件制作视频最好,青岛找网站建设公司好一、call指令
1.1 依据位移进行转移#xff1a;call 标号 1.2 实现段间转移#xff1a;call far ptr 标号 1.3 转移地址在寄存器中#xff1a;call 16位寄存器 1.4 转移地址在内存中 1.4.1 call word ptr 内存单元地址 1.4.2 call dword ptr 内存单元地址… 一、call指令
1.1 依据位移进行转移call 标号 1.2 实现段间转移call far ptr 标号 1.3 转移地址在寄存器中call 16位寄存器 1.4 转移地址在内存中 1.4.1 call word ptr 内存单元地址 1.4.2 call dword ptr 内存单元地址 二、ret和retf指令 2.1 ret指令近转移 2.2 retf指令远转移 call和ret指令都是转移指令它们都能修改ip或同时修改cs和ip。call和ret需要配合使用。
一、call指令 CPU执行call指令进行两步操作 将当前的ip或cs和ip压入栈中 转移 call指令不能实现短转移除此之外call指令实现转移的方法和jmp指令的原理相同。 1.1 依据位移进行转移call 标号 执行的操作如下 (sp) (sp)-2 ;栈顶移动 ((ss)*16(sp)) (ip) ;当前ip内容压栈 (ip) (ip)16位位移 ;跳转到标号处 相当于执行 push ip jmp near ptr 标号 1.2 实现段间转移call far ptr 标号 执行的操作如下 (sp) (sp)-2 ;栈顶移动 ((ss)×16(sp)) (cs) ;先把cs压栈 (sp) (sp)-2 ;栈顶移动 ((ss)×16(sp)) (ip) ;然后把ss压栈 相当于执行 push cs push ip jmp far ptr 标号 1.3 转移地址在寄存器中call 16位寄存器 执行的操作如下 (sp) (sp) - 2 ((ss) × 16 (sp)) (ip) (ip) (16位寄存器) 相当于执行 push ip jmp 16位寄存器 1.4 转移地址在内存中 1.4.1 call word ptr 内存单元地址 汇编语法解释 push ip jmp word ptr 内存单元地址 1.4.2 call dword ptr 内存单元地址 汇编语法解释 push cs push ip jmp dword ptr 内存单元地址
二、ret和retf指令 2.1 ret指令近转移 ret指令用栈中的数据修改ip的内容从而实现【近转移】 CPU执行ret指令时进行下面两步操作 (ip)((ss)*16(sp)) ;ip的值修改为栈顶的内容 (sp)(sp)2 ;栈顶移动 相当于执行 pop ip 2.2 retf指令远转移 retf指令用栈中的数据修改cs和ip的内容从而实现【远转移】 CPU执行retf指令时进行下面四步操作 (ip)((ss)*16(sp)) ;ip的内容修改为栈顶的内容 (sp)(sp)2 ;栈顶移动 (cs)((ss)*16(sp)) ;cs的内容修改为栈顶移动之后栈顶的内容 (sp)(sp)2 ;栈顶移动 相当于执行 pop ip pop cs