如何将源代码转换为1和0?

Rad*_*yak 3 compiler-construction binary compilation

计算机除了一个和零之外什么都不懂.但是我想知道如何将源代码或指令集转换成1和0的详细信息.exe文件只包含1和0吗?

Mar*_*ade 8

微处理器指令集中的每种类型的操作都由操作码指定,操作码表示为1和0的模式.甲编译器解释器中的源极语言翻译代码的机器代码由那些指令.

例如,将此代码(其中变量x)赋值为50:

x = 50;
Run Code Online (Sandbox Code Playgroud)

编译器可能会将其转换为以下汇编语言,其中AX寄存器(对于x变量)使用MOV指令设置值50(十六进制):

mov ax, 0x32
Run Code Online (Sandbox Code Playgroud)

如果操作码MOV0XA0和AX寄存器的代码是0XB然后机器代码,二进制,应该是这样的:

10100000 00001011 00110010
Run Code Online (Sandbox Code Playgroud)

  • 指令未实现为操作码.指令由操作码和一些操作数标识符组成.我认为你将术语*指令*与操作码混淆,反之亦然. (2认同)