【实现操作系统 00】x86 与 x64 架构下函数参数传递的区别

1. x86 架构与 x64 架构简介

这两个词相信学过计算机和没学过计算机的都耳熟能详,本文对此仅作简单的阐述。x86 架构采用复杂指令集计算机 (CISC——Complex Instruction Set Computer) 架构,因此该架构并没有大量的通用寄存器,仅使用少量的专用寄存器。

x86 架构由 8 个非特权整数寄存器 (Unprivileged interger register) 组成,分别为:

寄存器名 描述
eax 累加寄存器
ebx 基地址寄存器
ecx 计数寄存器
edx 数据寄存器(可用于 I/O 端口访问和算术功能)
esi 源索引寄存器
edi 目标索引寄存器
ebp 基地址指针寄存器
esp 堆栈指针寄存器

每个寄存器最大可表示 32 位,且每个寄存器名均由 e 字母开头。当使用寄存器使用时不加 e 开头则表示使用该寄存器的低 16 位。如:

你可能感兴趣的:(Linux内核,计算机体系结构,从零开始写操作系统,x86,x86_64,计算机架构,汇编语言,参数传递)