[汇编语言]基础知识学习笔记

    选择打赏方式

重新学习一次汇编语言,把笔记整理好,就这样。

笔记是按照我个人理解写的,不对的地方欢迎各位大牛指证。

其实不管那些寄存器是怎么回事,跟我们的关系都不大,很多东西都是CPU设计者考虑的,我们只需要考虑怎样去用就好了,过多的东西,我还没有这个水平去深究。


1.1 机器语言  1.2汇编语言的产生

总之,机器语言就是101010101100这种二进制机器码,但是输出一行文本都需要不知道多少二进制机器码才可以实现。

二进制机器码应该不算代码吧,大概代码就是代替机器码的东西,cpu只能执行这种二进制机器码,但是对于人类来说,这种二进制机器码根本看不懂,所以需要一种人类能看懂的语言,也就是汇编语言和高级语言咯。

我个人感觉汇编语言已经有高级语言的特性了,已经是人类可以理解的东西了。

以给变量i赋值为例(把16进制123赋值给变量i)

C语言

int i=0;

i=0x123;



C内联汇编:

int i=0;

__asm mov i,0x123;


纯汇编:


MOV DWORD PTR DS:[段地址],0x123


汇编语言就是机器语言翻译过的结果,汇编语言不能直接运行,需要编译器来翻译

TIM截图20180913023144.png


1.3汇编语言的组成

汇编语言由汇编指令、伪指令、其他符号组成,只有汇编指令有对应的机器码,可以被实际执行。


1.4存储器

看了王爽的书和网络上一些资料,大概存储器指的就是内存条。

cpu寄存器里面没有的都要从内存中读,程序要运行就必须加载到内存中去,像GTA5这种大程序就在硬盘里面,cpu要什么再把什么读进去。

注意:存储器不等于寄存器,某百度百科过分了。


1.5指令和数据

指令和数据都是一段二进制信息,是没有任何区别的,既可以看作指令也可以看作数据TIM截图20180913025245.png

1.6存储单元

电子计算机上最小的存储单位是bit也就是一个二进制位,8个bit(比特)组成一个二进制位也就是一个byte(字节),微机一个存储单元是一个byte,8个bit。

例如一个存储器有128个存储单元那么可以存储128个byte。


1.7cpu对存储器的读写

要读写一个内存单元,必须知道内存单元的地址。

要进行数据读写,必须和外部器件进行3类信息交互

存储单元的地址(地址信息)

读或者写(控制信息)


要读/写的数据(数据信息)



至于怎么读写就是CPU设计者的问题了,至少我没能力研究。

大概就是地址总线,控制总线,数据总线。

TIM截图20180913030354.png


1.cpu通过地址总线发出地址信息3号单元

2.cpu通过控制总线发出控制信息读

3.内存返回3号单元的数据08给cpu

汇编指令 mov AX,[3] 

中括号内是一个地址,类似C中的指针。

将3号单元这个地址中的数据送入AX寄存器。


1.8 地址总线

地址总线上能传送多少个不同信息,cpu就可以对多少个存储单元进行寻址

cpu地址总线根数=cpu地址总线宽度

cpu寻址能力=2^n(n是总线个数或者宽度)


1.9数据总线

数据总线用于CPU于其他器件之间传送数据,数据总线的宽度决定了CPU与外界传送数据的速度。

8根数据总线传送一个8位二进制数据(一个字节)1根总线传送一个bit。

TIM截图20180913084638.png


1.10控制总线

控制总线是不同控制线的集合,有多少控制总线就意味着cpu能对外部器件进行多少种控制。


小结

(1)汇编指令是机器指令的助记符,同机器指令一一对应。
(2)每一种CPU都有自己的汇编指令集。
(3)CPU可以直接使用的信息在存储器中存放。
(4)在存储器中指令和数据没有任何区别,都是二进制信息。
(5)存储单元从零开始顺序编号。
(6)一个存储单元可以存储8个bit(用作单位写成“b”),即8位二进制数。
(7)1B=8b 1KB=1024B 1MB=1024KB 1GB=1024MB。
(8)每一个CPU芯片都有许多管脚,这些管脚和总线相连。也可以说,这些管脚引出总线。一个CPU可以引出三种总线的宽度标志了这个CPU的不同方面的性能:
地址总线的宽度决定了CPU的寻址能力;数据总线的宽度决定了CPU与其他器件进行数据传送时的一次数据传送量;控制总线的宽度决定了CPU对系统中其他器件的控制能力。

版权声明:若无特殊注明,本文皆为《 8964CN 》原创,转载请保留文章出处。
本文链接:[汇编语言]基础知识学习笔记 http://www.8964cn.net/?post=22
正文到此结束

热门推荐

发表吐槽

你肿么看?

你还可以输入 250 / 250 个字

嘻嘻 大笑 可怜 吃惊 害羞 调皮 鄙视 示爱 大哭 开心 偷笑 嘘 奸笑 委屈 抱抱 愤怒 思考 日了狗 胜利 不高兴 阴险 乖 酷 滑稽

评论信息框

吃奶的力气提交吐槽中...

已有1条吐槽

Gregorykal

2019-07-09 20:11 欧洲和中东地区 CZ88.NET
在 https://zolango.com 买卖交易,以比特币收付,可以最简易、最迅速地帮助把产品兑换成国际自由流通比特币。

Hi,

I would like to purchase your product  please sell it on https://zolango.com where there is a whole niche of customers just waiting to pay in BitCoin.

https://zolango.com is The Home of CryptoCommerce.
 未知操作系统   未知浏览器