首页 > 编程语言 > 详细

汇编语言10内嵌汇编

时间:2015-07-09 17:52:15      阅读:267      评论:0      收藏:0      [点我收藏+]
1.call和ret指令都是转移指令,它们都修改IP的值,或同时修改CS和IP的值。它们经常共同用语实现子程序的设计。
2.ret指令用栈中的数据,修改IP的内容,从而实现近转移
3.retf指令用栈中的数据,修改CS和IP的内容,从而实现远转移
4.CPU执行ret指令时,相当于进行:
  pop IP
  执行retf指令时,相当于进行:
  pop IP
  pop CS
5.CPU执行call指令时,进行两步操作:
  (1)将当前的IP或CS和IP压入栈中;
  (2)转移
6.call指令不能实现短转移,call指令实现转移的方法和jmp指令的原理相同
7.call 标号(将当前的IP压栈后,转到标号处执行指令)
 call执行"call标号"时,相当于进行:
  push IP
  jmp near ptr 标号
8."call far ptr 标号"实现的是段间转移.
    CPU执行"call far ptr 标号"时,相当于进行:
   push CS
   push IP
   jmp far ptr 标号
9.指令格式:call 16位 reg
  CPU执行"call 16位 reg"时,相当于:
   push IP
   jmp 16 位 reg
10.转移地址在内存中的call指令有两种格式.
   (1)call word ptr 内存单元地址
      CPU执行"cakk word ptr 内存单元地址"时,相当于:
      push IP
      jmp word ptr 内存单元地址
   (2)call dword ptr 内存单元地址
      CPU执行"calldword ptr 内存单元地址"时,相当于:
      push CS
      push IP
      jmp dword ptr 内存单元地址

汇编语言10内嵌汇编

原文:http://www.cnblogs.com/mayingkun/p/4633691.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!