zoukankan      html  css  js  c++  java
  • 《汇编语言》——王爽 第十章 CALL和RET指令

    call和ret指令都是转移指令,它们都修改IP,或同时修改CS和IP。它们经常被共同用来实现子程序的设计。

    10.1ret和retf

    CPU执行ret时,相当于进行:pop IP

    CPU执行retf指令时,相当于进行 :

    pop IP

    pop CS

    10.2 call指令

    CPU执行call指令时,进行两步操作:

    1.将当前的IP或CS和IP压入栈中

    2.转移

    call指令不能实现短转移,除此之外,call指令实现转移的方法和jmp指令的原理相同。

    10.3 依据位移进行转移的call指令

    call 标号(将当前的IP压栈后,转到标号处执行指令)

    CPU执行"call标号“时,相当于进行:

    push IP

    jmp near ptr 标号

    10.4 转移的目的地址在指令中的call指令

    call far ptr 标号实现的时段间转移

    CPU执行"call far ptr 标号”时,相当于进行:

    push CS

    push IP 

    jmp far ptr 标号

    10.5 转移地址在寄存器中的call指令

    指令格式:call 16位 reg

    CPU相当于进行:

    push IP

    jmp (16位 reg)

    10.6 转移地址在内存中的call指令

    转移地址在内存中的call指令有两种格式。

    1.call word ptr 内存单元地址

    CPU相当于进行:

    push IP

    jmp word ptr 内存单元地址

    2. call dword ptr 内存单元地址

    CPU相当于进行:

    push CS

    push IP 

    jmp dword ptr 内存单元地址

    10.7 call和ret的配和使用

    10.8 mul指令

    乘法指令。(见书)

    10.9 模块化程序设计

    10.10 参数和结果传递的问题

    10.11 批量数据的传递

    10.12 寄存器冲突的问题

    实验 10 编写子程序

    课程设计 1

  • 相关阅读:
    对我影响最大的老师
    介绍自己
    JavaScript 时间特效 显示当前时间
    js 获取函数的所有参数名
    node.js 在函数内获取当前函数
    js 实现二叉排序树
    命令行下mysql的部分操作
    浅析js的函数的按值传递参数
    返回上一页时,保存恢复浏览记录(模拟返回不刷新)
    让mongodb执行js文件
  • 原文地址:https://www.cnblogs.com/JasonPeng1/p/12116532.html
Copyright © 2011-2022 走看看