一、抽象
在经典的计算机体系结构中,往往将计算机系统表示为一些抽象的层次,来隐藏其实现细节。
机器码: 机器码由操作码(opcode)组成,操作码是一些十六进制形式的数字,用于告诉处理器你想要他做什么。
低级语言: 低级语言是计算机体系结构指令集的人类易读的版本,注意是汇编语言。恶意代码分析师使用这一语言。
高级语言: 大部分程序员使用高级语言。高级语言对机器层做了很强的抽象,从而可以很轻松的使用程序逻辑和流程控制机制。高级语言包括c、c++等。它们被一个编译器经过称为编译的过程转化成机器码。
解释型语言:解释型语言位于最高层。C#、Perl、.NET、Java等为解释型语言。这一层的代码不会被编译成机器码,而会翻译成字节码。字节码(bytecode)是特定于该语言的一种中间表示,它在解释器中执行。解释器是一个在运行时将字节码实时翻译成可执行机器码的程序。相比于传统被编译的代码,解释器提供了一种自动的抽象层次,因为它可以独立于操作系统,自己处理错误和管理内存。
二、x86体系结构
</