跳转到内容

机器语言

本页使用了标题或全文手工转换
维基百科,自由的百科全书
W65C816S 机器代码

机器语言machine language)是一种指令集的体系。这种指令集称为机器代码machine code),是电脑的CPUGPU可直接解读的资料。

机器代码有时也被称为原生码Native Code),这个名词比较强调某种编程语言函数库与执行平台相关的部分。

简介

机器语言是用二进制代码表示的、电脑能直接识别和执行的一种机器指令的集合。它是电脑的设计者通过电脑的硬件结构赋予电脑的操作功能。机器语言具有灵活、直接执行和速度快等特点。不同种类的电脑其机器语言是不兼容的,按某种电脑的机器指令编制的程序不能在另一种电脑上执行。

要用机器语言编写程序,编程人员需首先熟记所用电脑的全部指令代码和代码的涵义。手编程序时,程序员要自己处理每条指令和每一数据的存储分配和输入输出,还需记住编程过程中每步所使用的工作单元处在何种状态。这是一件十分繁琐的工作,编写程序花费的时间往往是实际运行时间的几十倍或几百倍。而且,这样编写出的程序完全是0与1的指令代码,可读性差且容易出错。在现今,除了电脑生产厂家的专业人员外,绝大多数程序员已经不再学习机器语言。

  • 机器语言是微处理器理解和使用的用于控制它的操作的二进制代码。
  • 8086Pentium的机器语言指令长度可以从1字节到13字节。
  • 尽管机器语言看似非常复杂,但它是有规律的。
  • 现今存在着超过100000种机器语言的指令。

以下是一些示例:

  • 指令部分的示例
    1. 0000 代表 加载(LOAD)
    2. 0001 代表 存储(STORE)

...

  • 寄存器部分的示例
    1. 0000 代表寄存器 A
    2. 0001 代表寄存器 B

...

  • 存储器部分的示例
    1. 000000000000 代表地址为 0 的存储器
    2. 000000000001 代表地址为 1 的存储器
    3. 000000010000 代表地址为 16 的存储器
    4. 100000000000 代表地址为 2^11 的存储器
  • 集成示例
    1. 0000,0000,000000010000 代表 LOAD A, 16
    2. 0000,0001,000000000001 代表 LOAD B, 1
    3. 0001,0001,000000010000 代表 STORE B, 16
    4. 0001,0001,000000000001 代表 STORE B, 1