书接上回!上一次我们聊到 0基础汇编语言之汇编语言的产生-1,我来为大家讲解一下关于汇编语言一个指令多少内存?跟着小编一起来看一看吧!
汇编语言一个指令多少内存
书接上回!
上一次我们聊到 0基础汇编语言之汇编语言的产生-1
我们接着聊CPU如何从内存读取信息的?
CPU要想从内存中读取信息,要知道3个东西才能做到。
1. 去哪里拿
2. 去到指定的地方做什么?是读还是写? (控制信息)
3. 如果是读 读到的数据怎么拿回到CPU里。如果是写通过什么把数据传到内存里去。(数据信息)
举个例子:
CPU要收取快递。
- 他要知道寄到哪里去,或者从哪里取件。也就是上面说的内存地址信息,这是通过地址线来传输的。
- 是寄件还是取件,这是控制信息,通过控制总线来传输。
- 寄/取件 的实际的包裹就是数据,通过数据线来传输。
大家可以先不要往下看,放大看下图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根线。