第48章 代码是这么来的-《程序员修真之路》


    第(2/3)页

    “最后给加法器加上一个8位锁存器,这样这个锁存器就会成为累加器。

    “累加器会用来存放加法器计算的中间结果,省得每次运算过程的中间结果都要写入到内存中。”

    “然后,我们要再另外做一个64K_RAM。”

    程理看向了钟武,然后这个看上去有些憨厚的黝黑大汉,抡起大锤,二话不说就是一阵乱挥。

    然后一盏茶的功夫过后,又一个64K_RAM就做好了,放在程理面前。

    “将这个64K_RAM再做进一步改进,就会得到一个寄存器。”

    寄存器是CPU内部用来存储指令和操作码的一个特殊存储器,是CPU内部必不可少的一个元件。

    “好了,有了寄存器,就可以开始进行操作码的设计了……这可是最难的地方。”程理有些头疼道。

    不同的逻辑门电路可以构造出许多不同功能的触发器,比如之前程理已经制造出来的丁(D)型触发器,就是带有记忆功能的逻辑灵路,最后可以通过D型触发器做出锁存器。

    而所谓的操作码是通过设计出特殊的触发器,然后使这个触发器,可以被一串特定的唯一数据触发,从而执行某种具有特殊功能的操作。

    “要怎么设计这个操作码?”算老问道。

    “首先,我要设计出这样一个逻辑灵路,这个逻辑灵路的功能是,把RAM里某个地址的数据,转移到累加器里,供加法器进行运算。”

    程理开始不停连接逻辑灵路起来,然后一边说道。

    “然后这个逻辑灵路被设计成,只有输入特殊数据,比如当输入00010000,这样一个字节8为数的二进制数据时,逻辑灵路就被接通,从而触发。”

    在逻辑电路里,输入数据,就像是拨动开关,所以可以设计一个这样的特殊逻辑电路,只有把开关调成某个唯一数值的时候,才会被触发。

    “这样一来,00010000,就被我们人为的赋予了某种特殊功能的指令码,我们又称之为操作码。”

    “因为00010000,这样的二进制格式不方便记忆,通常我们可以用十六进制来对其进行标识。”

    “00010000转换成十六进制就是10,用我们刚刚定义好的卦文来说的话,就是艮坤。”

    “那么这个‘艮坤’,就是操作码,或者说可以称之为代码!”

    这种根据逻辑电路编写出一个具有特殊功能的唯一数据,可以称之为操作码,也可以称为硬件指令,实际上这就是一种最原始的代码,是所有编程语言代码的最原始来源。

    通过硬件指令,我们才可以告诉计算机,要进行什么操作。

    “原来如此,这个操作码,看上去跟我们的阴阳卦文有点相像,不,这完全是同一个表现形式的东西!真没想到阴阳卦文的工作原理竟然是这样,是这样演变而来的!”算老惊叹道。
    第(2/3)页