代码

var
  A, B: Word;
begin
  A := 1;
  B := 2;
  asm
    mov ax, a    // 赋值
    mov bx, b
    push ax      // 进栈
    push bx
    pop ax       // 退栈
    pop bx
    mov a, ax    // 利用栈先进后出, ax已退栈, 寄存器里的值为原bx 的值
    mov b, bx    // 利用栈先进后出, bx已退栈, 寄存器里的值为原ax 的值
  end;
end;

转载于:https://www.cnblogs.com/chengxin1982/archive/2010/04/06/1705010.html

利用寄存器进入栈值交换相关推荐

  1. X86-64寄存器和栈帧--牛掰降解汇编函数寄存器相关操作

    X86-64寄存器和栈帧 概要 说到x86-64,总不免要说说AMD的牛逼,x86-64是x86系列中集大成者,继承了向后兼容的优良传统,最早由AMD公司提出,代号AMD64:正是由于能向后兼容,AM ...

  2. x86-64寄存器与栈帧(转载)

    概要 说到x86-64,总不免要说说AMD的牛逼,x86-64是x86系列中集大成者,继承了向后兼容的优良传统,最早由AMD公司提出,代号AMD64:正是由于能向后兼容,AMD公司打了一场漂亮翻身战. ...

  3. 【Android 逆向】Android 进程注入工具开发 ( EIP 寄存器指向 dlopen 函数 | ESP 寄存器指向栈内存 | 调试程序收回目标进程控制权 )

    文章目录 一.EIP 寄存器指向 dlopen 函数 二.ESP 寄存器指向栈内存 三.调试程序收回目标进程控制权 一.EIP 寄存器指向 dlopen 函数 代码段中 , 一般都有 dlopen 函 ...

  4. 二十二、标志寄存器与栈(代码设计安全,与子程序寄存器安全类似)

    1.子程序安全调用 子程序的设计要以保持寄存器值的平衡,栈空间的平衡为原则.     子程序的设计在必要时候,需要保持标志寄存器的平衡. 2.标志寄存器 在计算机中,有一个专用16位的寄存器FLAGS ...

  5. 习题元祖与字典的值交换

    习题元祖与字典的值交换 交换值: a,b = 1,2      相当于 a.b=(1,2)  右边是一个元组,a,b 将元祖(1,2)解包成 a=1,b=2 >>> a,b=1,2 ...

  6. 利用K8S技术栈打造个人私有云(连载之:K8S资源控制)

    [利用K8S技术栈打造个人私有云系列文章目录] 利用K8S技术栈打造个人私有云(连载之:初章) 利用K8S技术栈打造个人私有云(连载之:K8S集群搭建) 利用K8S技术栈打造个人私有云(连载之:K8S ...

  7. php 实现两变量值对换,php两个变量的值交换的方法

    前几天写了一下JS脚本两个变量的值交换的方法,今天有空就写一写php中两个变量的值交换的几种方法,方法很简单大家可以参考一下! php两个变量的值交换的方法 方法1: 定义一个新的变量,用于在变量的值 ...

  8. 7-1 多数组排序 (12 分)三种做法(冒泡排序 ; 重写sort方法 ;利用sort和栈)

    一:题目 3个整数数组进行整体排序,根据输入的三个数组的元素,输出排序后的结果(从大到小) 输入格式: 第1个数组的长度 第1个数组的各个元素 第2个数组的长度 第2个数组的各个元素 第3个数组的长度 ...

  9. java 字符串 移位_使用位运算、值交换等方式反转java字符串-共四种方法

    在本文中,我们将向您展示几种在Java中将String类型的字符串字母倒序的几种方法. StringBuilder(str).reverse() char[]循环与值交换 byte循环与值交换 apa ...

最新文章

  1. Python logging调用Logger.info方法的处理过程
  2. Processing Orders With Windows Workflow
  3. wordpress 首页调用文章 不同样式的方法
  4. Teams AppId, InstallationId 和 ExternalId 的区别
  5. 程序的图标无法改变_安卓微信7.0.7内测版发布,细节更新,小程序功能优化
  6. CentOS7安装单机版RabbitMQ集群
  7. PostgreSQL 设置单条SQL的执行超时 - 防雪崩
  8. python metaclass应用
  9. 那么多人吹Python,但我真怕你不知道是为什么!
  10. linux打开文件vi,在Linux中使用vi打开文件时如何显示行号,及跳转到指定行
  11. Netty源码解析1-Buffer 1
  12. .ftl文件 是什么文件
  13. Android人脸支付功能,人脸支付是未来吗?盘点安卓人脸支付手机,小米看后很尴尬…...
  14. JAVA、android常用时间处理方法及类似微信微博发表时间显示
  15. 辅助功能 AccessibilityService笔记
  16. java list判断元素_Java的ListObject如何判断元素类别
  17. Flutter web 滚动循环 title(Flutter Web端 滚动显示浏览器标签页名)
  18. 如何在中国高等教育学生信息网上在线查询自己的学历信息
  19. excel日期相减去除周末_仅在Excel中允许周末日期
  20. idea maven项目无法下载自定义的仓库完美解决办法

热门文章

  1. HDU 5410 CRB and His Birthday ——(完全背包变形)
  2. Ubuntu Server 分区案例
  3. AIX samba服务器配置
  4. CLR Via CSharp读书笔记(7):常量和字段
  5. 很多人问为什么使用联合索引,为什么不建两个单独的索引呢?
  6. 蒙特 卡罗方法matlab,蒙特·卡罗方法中的数学之美,你一定不想错过
  7. nginx反向代理配置 多个_实例分享:Nginx学习之反向代理WebSocket配置实例
  8. python中格式化字符串
  9. 调用API发送短信python
  10. 手机触摸屏的分类和原理,供大家选择手机时用