什么是:指令=数据=操作码=二进制
先明白一下常说的概念和逻辑:
指令
=instruction
==代码
=code
==操作码
=opcode
==二进制
(数据
) ==binary
(data
)
分别解释大概的含义:
指令
=instruction
- 往往是底层会汇编代码级别,才会用到这个名词,指令。
- 比如:ARM汇编指令
代码
=code
- 往往是高级语言常用到的名字
- 比如:iOS的ObjC的代码
操作码
=opcode
=operation code
- = 操作机器的代码
- 机器 = CPU -》 操作CPU(让其按照你的预期)去工作的代码
- 往往是底层某个架构对应的指令集中才会用到这个名字,opcode
- 比如:ARM指令集特定的指令的opcode
- = 操作机器的代码
二进制
(数据
) =binary
(data
)- 最底层的硬件中所保存的数据,都是0101的形式的二进制数据
综合起来就是:
你的上层语言的代码
(比如iOS的ObjC),经过编译,最终底层生成的都是二进制数据
而这些二进制数据,对应着(比如ARM指令集中的)指令
,也就是对应指令的操作码
(可以通过查询ARM手册,从二进制的0101等数据,慢慢反推出对应是具体什么指令)