x86处理器零碎知识

简介: x86处理器零碎知识

目录

EFLAGS/RFLAGS

  • intel手册:3.4.3 EFLAGS Register





push和pop操作

x86_64架构中,push和pop指令用于将数据压入栈中或从栈中弹出数据。具体运行过程如下:

  1. push指令的运行过程:(先减)
  • 将要压入栈中的数据放入寄存器中。
  • 将栈指针寄存器(RSP)减去8个字节(因为x86_64架构中一个字节为8位),使其指向栈顶。
  • 将数据从寄存器中存入栈顶指向的内存地址中。
  1. pop指令的运行过程:(后加)
  • 将栈顶指向的内存地址中的数据取出。
  • 将栈指针寄存器(RSP)加上8个字节,使其指向下一个栈顶。
  • 将取出的数据存入指定的寄存器中。

需要注意的是,栈是一种后进先出(LIFO)的数据结构,因此push指令将数据压入栈顶,而pop指令则从栈顶弹出数据。此外,栈指针寄存器(RSP)指向的是栈顶元素的地址,而不是栈底元素的地址。

栈底是SP的初始位置,栈顶是SP的当前位置

异常和中断

相关文章
|
7月前
|
异构计算
【自己动手画CPU】运算器设计
【自己动手画CPU】运算器设计
384 0
|
6月前
|
芯片
芯片设计 | 一文读懂,CPU、精简指令集、复杂指令集该如何理解
芯片设计 | 一文读懂,CPU、精简指令集、复杂指令集该如何理解
392 0
|
7月前
|
存储 缓存 并行计算
DP读书:鲲鹏处理器 架构与编程(四)内存顺序模型与内存屏障
DP读书:鲲鹏处理器 架构与编程(四)内存顺序模型与内存屏障
131 1
|
7月前
|
存储 缓存 物联网
DP读书:鲲鹏处理器 架构与编程(二)服务器与处理器——高性能处理器的并行组织结构、ARM处理器
DP读书:鲲鹏处理器 架构与编程(二)服务器与处理器——高性能处理器的并行组织结构、ARM处理器
339 0
|
7月前
|
存储 缓存 Linux
内存系列学习(三):ARM处理器地址变换过程
内存系列学习(三):ARM处理器地址变换过程
255 0
|
存储 缓存 Rust
计算机底层知识之CPU
CPU的内部结构 推荐阅读指数 ⭐️⭐️⭐️⭐️⭐️ CPU是寄存器的集合体 推荐阅读指数 ⭐️⭐️⭐️⭐️ 决定程序流程的程序计数器 推荐阅读指数 ⭐️⭐️⭐️⭐️⭐️ 条件分支和循环机制 推荐阅读指数 ⭐️⭐️⭐️⭐️⭐️ 函数的调用机制 推荐阅读指数 ⭐️⭐️⭐️⭐️⭐️ 通过地址和索引实现数组
132 0
计算机底层知识之CPU
MOTOROLA MVME333-2 中央处理机(CPU)指导处理器的操作
MOTOROLA MVME333-2 中央处理机(CPU)指导处理器的操作
110 0
MOTOROLA MVME333-2  中央处理机(CPU)指导处理器的操作
|
存储 缓存 负载均衡
cpu架构知识
cpu架构知识
cpu架构知识
|
算法 调度 数据中心
计算机原理探险系列(九)CPU调度机制
计算机原理探险系列(九)CPU调度机制
221 0