push

压入立即数

在实模式环境下:
当压入8位立即数时,由于实模式下默认操作数是16位,cpu会将其扩展为16位后再将其入栈,sp-2
当压入16位立即数时,cpu会将其直接入栈sp-2
当压入32位立即数时,cpu会将其直接入栈sp-4,编译器编译完成后的机器码会加操作数反转前缀0x66

再保护模式下:

当压入8位立即数时,由于保护模式下默认操作数是32位,cpu将其扩展为32位后入栈,扩展相当于是编译器的强制类型转换。
esp-4
当压入16位立即数,cpu直接压入2字节,esp-2 , 这个编译出来的结果前面会有反转操作数大小前缀0x66
当压入22位立即数,cpu直接压入4字节,esp-4

压入寄存器和内存

如果压入的是16位数据,栈指针-2
如果压入的是32位数据,栈指针-4

压入段寄存器

实模式 sp-2
保护模式 esp-4

汇编语言push总结相关推荐

  1. java中push和pop指令的作用_汇编语言PUSH和POP指令(压栈和出栈)

    汇编里把一段内存空间定义为一个栈,栈总是先进后出,栈的最大空间为 64K.由于 "栈" 是由高到低使用的,所以新压入的数据的位置更低,ESP 中的指针将一直指向这个新位置,所以 E ...

  2. 16位模式/32位模式下PUSH指令探究——《x86汇编语言:从实模式到保护模式》读书笔记16...

    一.Intel 32 位处理器的工作模式 如上图所示,Intel 32 位处理器有3种工作模式. (1)实模式:工作方式相当于一个8086 (2)保护模式:提供支持多任务环境的工作方式,建立保护机制 ...

  3. 16位模式/32位模式下PUSH指令探究——《x86汇编语言:从实模式到保护模式》读书笔记16

    一.Intel 32 位处理器的工作模式 如上图所示,Intel 32 位处理器有3种工作模式. (1)实模式:工作方式相当于一个8086 (2)保护模式:提供支持多任务环境的工作方式,建立保护机制 ...

  4. 汇编语言-007(ADD_SUB_NEG 、 PUSH和POP指令应用 、 AND,OR,XOR使用 、 条件跳转应用)

    1: ADD_SUB_NEG : ADD伪指令增加数值,SUB伪指令减少数值,NEG取反+1 .386 .model flat,stdcall.stack 4096 ExitProcess PROTO ...

  5. 出栈(释放栈)和引用栈内数据意义不等同,和嵌套有关系但不是等同关系,局部变量进栈操作,不是局部变量自动带有进栈指令。汇编语言后局部变量操作是包含进栈操作指令PUSH和栈内地址存储数据调用,出栈。

    出栈(释放栈)和引用栈内数据意义不等同,和嵌套有关系但不是等同关系,局部变量进栈操作,不是局部变量自动带有进栈指令.汇编语言后局部变量操作是包含进栈操作指令PUSH和栈内地址存储数据调用,出栈. 2. ...

  6. 汇编语言 执行push和执行pop区别 栈顶的变化范围

    执行pop时,先读取SS:SP处的数据,后改变SP. 执行push时,先改变SP,后向SS:SP处传送. SP的操作单位是2.[一字是两个字节,X86之中是的!] push.pop等栈操作指令,修改的 ...

  7. 汇编语言 用push指令将a段中的前8个字形数据,逆序存储到b段中

    题目要求 用push指令将a段中的前8个字形数据,逆序存储到b段中 执行过程 push之前 a段数据 (b段数据)栈空间↓ 不要问我为什么不全是0,我并不知道,只是找出了一些规律.详见我的前一篇博客 ...

  8. 汇编语言:编写code段中的代码,用push指令将a段中的前8个字型数据,逆序存储b段中

    题目介绍 程序如下,编写code段中的代码,用push指令将a段中的前8个字型数据,逆序存储b段中. assume cs:code,ds:a,ss:ba segmentdw 1,2,3,4,5,6,7 ...

  9. 汇编语言中将数据、代码、栈放入不同的段

    数据.代码.栈放入不同的段 在学习汇编语言,将数据.代码.栈放入不同的段.参考王爽老师的<汇编语言>第四版,对P133的汇编代码,进行了个人理解标注.仅供参考,存在错误之处,请大家斧正. ...

最新文章

  1. kcf跟踪算法实例整理
  2. 机房配电系统与配电电缆线径的选择及巡查
  3. U8 种子ID表 及相关 存储过程
  4. 7-3 模板题 (10 分)(思路+详解)
  5. 监测ASP.NET MVC 网站
  6. php 获取delete蚕丝_php结合Redis实现100万用户投票项目,并实时查看到投票情况的案例...
  7. 关于类成员函数中访问同类对象的私有成员
  8. java mian 方法_Java mian函数
  9. go语言net包rpc远程调用的使用
  10. 【白话模型量化系列一】矩阵乘法量化
  11. 自定义优先队列的元素权重
  12. App 常用图标尺寸规范汇总
  13. 私域运营电商平台和传统电商平台有什么不同?
  14. memcached 详解
  15. 99 年妹子开发吊打 x 度网盘的开源神器!
  16. 在计算机术语中 英文cad是指,CAD中英语词汇及命令大全
  17. Vue 3的provide和inject用法
  18. Linux性能优化:CPU篇
  19. windows下 编写的Qt程序连接远程MySQL数据库
  20. 了解 什么是 22 端口

热门文章

  1. 凤巢能否成功关键还看用户体验
  2. linux制作windows光盘,Windows光盘制作U盘安装系统的方法
  3. 领导尤其看中的这些职场好习惯,你拥有几点?
  4. Please contact your system administrator. Add correct host key in
  5. 什么叫有效物理网卡_如何区分虚拟网卡和物理网卡?
  6. GRU(Gated Recurrent Neural Network)
  7. 速腾rshelios 5515惯导时间同步
  8. IOS 计算两个时区之间的时间差
  9. 图像特征总结(持续更
  10. 饥荒MOD制作基础文档