操作码与指令编码:从字节码虚拟机到 x86、ARM 与 RISC-V 的真实取指链路
发布时间:2026/10/30 18:56:41 锦皓数字建站

一、CPU 只认数字:操作码到底是什么1.1 先把话说死你写的代码,不管是 C 还是 C#,CPU 都看不懂。CPU 能读的只有内存里的一串数字。所以编译器要做的事,就是把你的代码翻译成一串数字:你写的: a = b + c 变成数字: 3, 1, 2, 5问题来了:CPU 看到3, 1, 2, 5这几个数,怎么知道这是「做加法」而不是「读文件」?答案是事先约好。有一张表,规定好:1 号 = 做加法 2 号 = 做减法 3 号 = 从内存读一个数 4 号 = 往内存写一个数 ...CPU 看到第一个数字是3,查表知道「要读内存」,于是就去读内存。这个「1 号」「2 号」「3 号」的编号,就叫操作码(opcode)。就这么简单。它是一个编号,一个 enum 值。但「简单」只是入门时的感觉。真正会咬人的地方在于:操作码从来不是孤零零躺在一个字节里的。它旁边还跟着操作数、寻址方式、寄存器编号、条件码、前缀字节。这一篇要往下走的地方,就是这些。1.2 源码到机器码的四段旅程先把整条链路摆出来,后面每一节都是在这张图上定位:① 你写的源码 int x = a + b; ↓ 编译器前端:语法分析、类型检查、IR
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。