书接上回!上一次我们聊到 0基础汇编语言之汇编语言的产生-1,我来为大家讲解一下关于汇编语言一个指令多少内存?跟着小编一起来看一看吧!

汇编语言一个指令多少内存(0基础汇编语言之如何CPU如何与内存交互-2)

汇编语言一个指令多少内存

书接上回!

上一次我们聊到 0基础汇编语言之汇编语言的产生-1

我们接着聊CPU如何从内存读取信息的?

CPU要想从内存中读取信息,要知道3个东西才能做到。

1. 去哪里拿

2. 去到指定的地方做什么?是读还是写? (控制信息)

3. 如果是读 读到的数据怎么拿回到CPU里。如果是写通过什么把数据传到内存里去。(数据信息)

举个例子:

CPU要收取快递。

  1. 他要知道寄到哪里去,或者从哪里取件。也就是上面说的内存地址信息,这是通过地址线来传输的。

  2. 是寄件还是取件,这是控制信息,通过控制总线来传输。

  3. 寄/取件 的实际的包裹就是数据,通过数据线来传输。

大家可以先不要往下看,放大看下图1思考一下,你觉得CPU这是在收件,还是在取件。

图1

好了3秒已过。

其实可以看出图1中 CPU是要去3这个地址去,

通过控制线是读的命令,

将地址3里面的内容 08 通过数据线传回给了CPU。

写数据也是类似的步骤:

通过地址总线找到地址x05。

将写命令通过控制线传输过去。

将23通过数据总线传输到内存。

好,现在我们知道了CPU如何与内存进行交互了。

那么计算机是如何进行数据的读写呢?

我们在第一篇文章介绍了 是靠机器指令也就是那一堆乱七八糟的0101001。

这些东西可以通过编译器将汇编指令翻译成01.

那从 地址为3的内存读取数据到CPU对应的汇编指令是

mov ax, [3]

这其实是一个赋值操作,由于8086的汇编和AT&T的语法不太一样。

这8086的语法是 右边的操作数给左边的操作数赋值。

有木有很简单?

明天我们详细介绍数据线,地址线,控制线这3根线。