码迷,mamicode.com
首页 > 编程语言 > 详细

汇编语言10内嵌汇编

时间:2015-07-09 17:54:07      阅读:150      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!