匯編學習筆記---(1)基礎知識
本學習筆記僅僅是我自己作為初學者,學習匯編知識的進程記錄,本人從事圖象處理行業,使用C編程,為了編寫更加高效的圖象處理程序,因而開始學習匯編語言。本人學習的書籍是《匯編語言》王爽著 清華大學出版社
匯編語言,說白了就是方便注記的機器語言。匯編語言的主體是匯編指令,也就是機器指令便于記憶的書寫格式。放1張圖,來講明1下程序員編寫匯編語言到計算機終究履行的進程吧:
下面介紹1些基礎內容:
1,存儲單元
計算機的存儲器被劃分成了若干存儲單元,每一個存儲單元都是從0開始編號,如果1個存儲器有128個存儲單元,那末編號就是0⑴27。
CPU可以直接使用的信息在存儲器中寄存。
在存儲器中指令和數據沒有任何區分,都是2進制信息。
計算機的最小信息單位是bit比特,也就是1個2進制位,8個 bit組成1個Byte,就是1個字節,1個存儲器有128個存儲單元,它可以存儲128個Byte。磁盤容量換算關系以下;
1KB = 1024B, 1MB = 1024KB, 1GB = 1024MB, 1TB = 1024GB
2,CPU對存儲器的讀寫
CPU要從內存中讀取數據,需要肯定存儲單元的地址,還要指明對哪個器件進行哪一種操作,也就是進行3類信息交互:
存儲單元的地址(地址信息)+控制信息+讀寫的數據(數據信息)
CPU如何進行信息交互,這就要通過地址總線+控制總線+數據總線來完成,分別對應3類信息交互。
3,地址總線+數據總線+控制總線
CPU通過地址總線進行存儲器單元的尋址操作,因此,地址總線能傳送多少不同的信息,CPU就能夠對多少個存儲單元進行尋址。計算方法以下:
1個CPU有N根地址線,那末CPU的地址總線寬度就是N,CPU最多可以尋覓的內存單元個數就是2的N次方。
數組總線主要用于CPU與內存或其他器件之間的數據傳送,數據總線的寬度就決定了CPU和外界數據的傳送速度,8根數據總線1次可以傳送1個Byte即8位2進制信息,16根數組總線就能夠傳送2個Byte。比如:8086有16跟數據總線,那末1次就能夠傳送數據89D8H,而8088有8跟數據總線,那末,需要兩次才能傳送數據89D8H。
控制總線只要是CPU對外界器件的控制。有多少根控制總線,就意味著有多少種控制,決定了CPU對外加誒器件的控制能力。