汇编学习 NO6

汇编学习 NO61 ret 用栈中的数据 修改 IP 内容 从而实现近转移 2 retf 用栈中的数据 修改 CS 和 IP 中的内容 从而实现远转移 3 CPU 执行 ret 指令相当于 popIP 执行 retf 指令相当于 popIPpopCS4 call 指令 CPU 执行 call 指令时 进行两步操作 将当前的 IP 或 CS 和 IP 压入栈中 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp

    1. 1.ret : 用栈中的数据,修改IP内容,从而实现近转移
  1. 2.retf : 用栈中的数据,修改CS和IP中的内容,从而实现远转移

3.CPU执行ret指令相当于:pop IP; 执行retf指令相当于: pop IP pop CS

  1. 4.call指令: CPU执行call指令时,进行两步操作: ①.将当前的IP或CS和IP压入栈中
  2.                                                                  ②.转移
    1. 5.call指令不能实现短转移,除此之外,call指令实现转移的方法和jmp指令的原理相同.
  3. 6.”call 标号” : 进行如下操作:  ①.(sp)=(sp)-2 ((ss)*16+(sp))=IP
  4.                                            ②.(IP)=(IP)+16位移
  5.                      CPU执行”call 标号”指令相当于:push IP;  jmp near ptr bh
  6. 7.”call far ptr 标号”实现的是段间转移,进行的操作为:①.(sp)=(sp)-2
  7.                                                                            ②.((ss)*16+(sp))=(CS)
  8.                                                                            ③.(sp)=(sp)-2
  9.                                                                            ④.((ss)*16+(sp))=(IP)
  10.      CPU执行”call far ptr 标号”时,相当于进行,push CS, push IP, jmp far ptr 标号

8.call 16位 寄存器:push IP ;jmp 16位寄存器

9.call word ptr 内存单元地址 : push IP ; jmp word ptr 内存单元地址

10.call dword ptr 内存单元地址 : push CS ,push IP ; jmp dword ptr 内存单元地址

11.mul 乘法指令 : ①.两个相乘的数:两个相乘的数,要么都是8位,要么都是16位,如果是8位,一个默认放在AL中,另一个放在8位寄存器或内存字节单元中:如果是16位,一个默认在AX中,另一个放在16位寄存器或内存单元中

                           ②.如果是8位乘法,结果默认放在AX中;如果是16位乘法,结果高位默认中DX中存放,低位在AX中放.

                                                                          

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231017.html原文链接:https://javaforall.net

(0)
上一篇 2026年2月3日 上午8:01
下一篇 2026年2月3日 上午8:22


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号