惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tenable Blog
MyScale Blog
MyScale Blog
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
博客园 - 司徒正美
D
Darknet – Hacking Tools, Hacker News & Cyber Security
量子位
N
News | PayPal Newsroom
S
Secure Thoughts
酷 壳 – CoolShell
酷 壳 – CoolShell
L
LINUX DO - 热门话题
有赞技术团队
有赞技术团队
V
Visual Studio Blog
T
Tailwind CSS Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Project Zero
Project Zero
B
Blog RSS Feed
J
Java Code Geeks
Google Online Security Blog
Google Online Security Blog
Last Week in AI
Last Week in AI
Cyberwarzone
Cyberwarzone
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
小众软件
小众软件
博客园 - 【当耐特】
Latest news
Latest news
T
Threat Research - Cisco Blogs
aimingoo的专栏
aimingoo的专栏
博客园_首页
博客园 - 三生石上(FineUI控件)
Engineering at Meta
Engineering at Meta
D
Docker
Forbes - Security
Forbes - Security
Help Net Security
Help Net Security
Apple Machine Learning Research
Apple Machine Learning Research
P
Proofpoint News Feed
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Simon Willison's Weblog
Simon Willison's Weblog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
V2EX - 技术
V2EX - 技术
N
Netflix TechBlog - Medium
The Last Watchdog
The Last Watchdog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Threatpost
Cloudbric
Cloudbric
T
The Exploit Database - CXSecurity.com
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 叶小钗
Webroot Blog
Webroot Blog

Louis C Deng's Blog

CS231n Lecture Note: Generative Models CS231n Lecture Note: Self-Supervised Learning CS231n Lecture Note: Large Scale Distributed Training 自動微分 | DIY 實現自己的 PyTorch From RNNs to Transformers CS231n Lecture Note VII: Recurrent Neural Networks Uncovering Batch & Layer Normalization CS231n Lecture Note VI: CNN Architectures and Training CS231n Lecture Note V: Convolution Neural Networks Basics Demystifying Softmax Loss: A Step-by-Step Derivation for Linear Classifiers Backpropagation: A Vector Calculus Perspective CS231n Lecture Note IV: Neural Networks and Backpropagation CS231n Lecture Note III: Optimization CS231n Lecture Note II: Linear Classifiers CS231n Lecture Note I: Image Classification CSAPP Cache Lab II: Optimizing Matrix Transposition CSAPP Cache Lab I: Let's simulate a cache memory! CS188 Search Lecture Notes III CS188 Search Lecture Notes II How to Use TouchID for Sudo Commands on macOS CS188 Search Lecture Notes I RECAP2025: 留白 CSAPP Bomb Lab 解析 CSAPP Data Lab 解析 矩陣的 Modified Gram Schmidt 方法 聊一聊位掩碼(Bit Mask) 整數溢位與未定義行為 快速排序 幾種劃分方法討論 等待 記夢(DeepSeek 輔助創作) 午夜飛行 橋樑 黎明 或 2012 RECAP2024: 水檻臥聽雨 太陽、潮落 RECAP2023: 泡沫 題解 P1622 釋放囚犯 題解 P5888 傳球遊戲 殘陽似火 再會 飢餓藝術家 卡夫卡 Python 中的 zip() 和 enumerate() 泡沫 “救救孩子……”——談魯迅和《狂人日記》 想念 淺灘 蟬 · 夏 微風 觀星 浮塵 復活 【摘錄 | 轉載】普魯斯特 《追憶似水年華》第一卷 《在斯萬家那邊》(一) Time - Pink Floyd - The Dark Side of the Moon 【轉載】靜夜思變調 高樓 幻夢 冰 RECAP2022: 流星雨 清夜 割點 Tarjan 演算法 P3147 USACO16OPEN 262144 P 題解 P3354 Riv 河流 題解 馬拉車演算法 夜雨 層霧 從愚人節玩笑到真的玩笑(bushi): 淺談 lsnotes I made my own Hexo theme 題解 紀念品分組 題解 導彈攔截 如何高效使用搜尋引擎 用 GitHub Actions 格式化 C/C++ 程式碼 四季的天空 洛谷 7 月月賽 Div.2 總結 題解 最近公共祖先 (LCA) 用簡單的物理方法證明牛頓萊布尼茨公式 簡評榮耀手環6 海上生明月,天涯共此時。 我為什麼重新拿出了 iPod Swift 中的 SharedPreferance —— UserDefaults 凝視那一輪明月 用 GitHub Actions 部署 Hexo 部落格 遲來的日誌 - WWDC 2020 獎學金 vcpkg - 方便的 C/C++ 庫管理器 vimrc 配置指南 NextCloud - DIY NAS 解決方案 sudo shutdown -r now sudo shutdown -r now
x64 暫存器速查表
Louis C Deng · 2025-12-10 · via Louis C Deng's Blog

本文匯總 x64 架構下最核心的暫存器狀態與 ABI 約定。

暫存器

x64 暫存器完美向下相容。寫入低 32 位 (如 MOV EAX, 1) 會自動清零高 32 位;但寫入 8/16 位則保留高位數據。

通用暫存器 (GPRs) 速查表

64-bit 32-bit 16-bit 8-bit 用途 (System V / 通用) 易失性
RAX EAX AX AL 返回值 / 累加器 Caller Saved
RBX EBX BX BL 基址 / 通用數據 Callee Saved
RCX ECX CX CL 循環計數 / 第4參數 Caller Saved
RDX EDX DX DL I/O / 乘除法 / 第3參數 Caller Saved
RSI ESI SI SIL 源地址 / 第2參數 Caller Saved
RDI EDI DI DIL 目的地址 / 第1參數 Caller Saved
RBP EBP BP BPL 棧底指針 (Base Ptr) Callee Saved
RSP ESP SP SPL 棧頂指針 (Stack Ptr) Callee Saved
R8 R8D R8W R8B 第5參數 Caller Saved
R9 R9D R9W R9B 第6參數 Caller Saved
R10 R10D R10W R10B 臨時暫存器 (Static Chain) Caller Saved
R11 R11D R11W R11B 臨時 / 連結暫存器 Caller Saved
R12-R15 RxxD RxxW RxxB 通用數據儲存 Callee Saved

關鍵術語:

  • Caller Saved: 調用函數前,如果還需要這些值,調用者必須自己壓棧保存。函數返回後值可能變了。
  • Callee Saved: 被調用的函數必須保證在返回時,這些暫存器的值和調用前一樣(通常通過 push/pop 維護)。

函數調用約定

A. System V AMD64 ABI (Linux, macOS)

  • 傳參順序 (前6個):
    RDI →\rightarrow RSI →\rightarrow RDX →\rightarrow RCX →\rightarrow R8 →\rightarrow R9
  • 超過6個: 壓入棧 (Stack)。
  • 返回值: RAX (若結果為 128 位,高位在 RDX)。
  • System Call: 使用 syscall 指令,參數傳給 RAX (系統調用號), RDI, RSI, RDX, R10, R8, R9

B. Microsoft x64 (Windows)

  • 傳參順序 (前4個):
    RCX →\rightarrow RDX →\rightarrow R8 →\rightarrow R9
  • 超過4個: 壓入棧。
  • Shadow Space: 調用者必須在棧上預留 32位元組 (4個暫存器寬) 的空間,即使參數很少。
  • 返回值: RAX

關鍵狀態標誌

控制流指令 (JMP, Jcc) 的依據。

  • ZF (Zero Flag): 運算結果為 0 時置位。
  • SF (Sign Flag): 結果為負(最高位為1)時置位。
  • OF (Overflow Flag): 有符號運算溢出時置位。
  • CF (Carry Flag): 無符號運算進位/借位時置位。

浮點與 SIMD (AVX/SSE)

  • XMM0 - XMM15: 128位 (Legacy SSE)。
  • YMM0 - YMM15: 256位 (AVX,低 128 位映射到 XMM)。
  • ZMM0 - ZMM31: 512位 (AVX-512,低 256 位映射到 YMM)。
  • 參數傳遞 (System V ABI):
    • 浮點參數: 前 8 個浮點參數通過 XMM0XMM7 傳遞。
    • 浮點返回: 通過 XMM0 返回。
    • 易失性: XMM0 - XMM15 通常都是 Caller-saved (易失的)。