1. 程式人生 > >匯編語言的基礎知識01

匯編語言的基礎知識01

數據處理 操作系統 就是 virt 十六進制 數據文件 64位系統 編號 存儲器

PC機硬件與軟件基礎知識
1、計算機主要的內部硬件部件是處理器、存儲器和寄存器(寄存器是用
來保存地址和數據的專用處理器部件。外部硬件部件包括計算機的輸入輸
出設備,如鍵盤、顯示器、磁盤和CD-ROM。軟件包括操作系統、各種程
序以及存儲在磁盤上的數據文件。
2、寄存器:簡單的講是CPU中可以存儲數據的器件,一個CPU中有多個寄
存器。
AX是其中一個寄存器的代號。
BX是另一個寄存器的代號。
匯編指令:mov ax,bx ->編譯器->機器碼101110011....->計算機
3、處理器
PC的大腦是處理器(中央處理器或CPU),它是建立在Intel8086系列的基礎
上的,用來完成所有的指令執行與數據處理。各種處理器的速度、存儲器


容量、寄存器以及數據總線是不相同的。
intel處理器系列:
1)8088
有16位寄存器和8位數據總線,並且最大可以尋址到1MB內存。
2)、8086
類似於8088,但有16位數據總線,運行速度較快。
3)、80286
比上面兩種處理器運行速度都快,具有附加的能力。
4)80386
有32位寄存器和32位的數據總線,並且最大尋址達4GB的存儲器。處理器
不但支持保護模式,而且還支持虛模式(virtual mode),從而可以把存儲
器的一部分交換到磁盤上。用這種方法,程序在並發運行時就有了操作空
間。
4、存儲器
指令和數據在存儲器中存放,也就是平時所說的內存。它是向CPU提供指
令和數據。在一臺PC機中內存的作用僅次於CPU。磁盤不同於內存,磁盤

上的數據或程序如果不讀到內存中,就無法被CPU使用。
註:若一個程序運行產生的數據,加載到內存,大於內存的容量,就會出
現內存不夠異常。

5、存儲單元
存儲器被劃分為若幹個存儲單元,每個存儲單元從0開始熟悉編號。
對於大容量的存儲器一般還用以下單位來計量容量(以下用來B代表Byte)
1KB=1024B(2^10)
1MB=1024KB
1GB=1024MB

6、CPU對存儲器的讀寫
CPU要想進行數據的讀寫,必須和外部部件(標準說法是芯片)進行三類信
息的交互:
1、存儲單元的地址
2、器件的選擇,讀或寫命令
3、讀或寫的數據

在機器中指令和數據都是用二進制表示,那麽如何區分程序中的指令和數
據,可以通過地址總線、數據總線、控制總線分別操作。


---------
例子:對於8086CPU,下面的機器碼能夠完成從3號單元讀數據:
機器碼:1010000000000001100000000
含義:從3號單元讀取數據送入寄存器AX
CPU接收這條機器碼後將完成上面所述的讀寫工作
CPU是通過地址總線來指定存儲單元的,地址總線上能傳送多個的信息,
CPU就可以對多少個存儲單元進行尋址。(64位系統,CPU64位,64位系
統,64位軟件,64的速度)
地址碼1011,CPU->通過地址總線將1011發送到內存,內存通過1011尋址
到在1011所表示的存儲單元地址,進行讀寫操作。
一個CPU有N根地址總線,則可以說這個CPU的地址總線的寬度為N。這樣
的CPU最多可以尋找2的N次方個內存單元。
------------
數據總線:CPU與內存或其他器件之間的數據傳送是通過數據總線來進行
的。數據總線的寬度決定了CPU和外界的數據傳送速度。
利用8088CPU傳送89D8H(十六進制表示2個字節),8088CPU是8位的數據總線,每次只能傳送一個字節,所以需要傳送兩次,第一次將低位的字節D8傳送到內存中,第二次傳送89到內存中。
利用8086CPU傳送89D8H,8086CPU是16位的數據總線,每次傳送2個字節,可以一次將數據傳送內存中。
----------------
控制總線:有多少根控制總線,意味著CPU提供了對外部器件的多少種控制。控制總線的寬度決定了CPU對外部器件的控制能力。
控制總線發送(1011)->代表有多少控制。比如讀或寫控制線,對內存進行讀或寫控制。

控制總線:有多少根控制總線,意味著CPU提供了對外部器件的多少種控制。控制總線的寬度決定了CPU對外部器件的控制能力。
控制總線發送(1011)->代表有多少控制。比如讀或寫控制線,對內存進行讀或寫控制。
註:存儲器中指令和數據沒有任何區別,都是二進制信息,放在不同的路上表示不同的功能,放在地址總線上,就是表示地址,放在數據總線上,就表示數據,
放在控制總線,就表示控制線。
地址總線的寬度決定了CPU的尋址能力;
數據總線的寬度決定了CPU與其他器件進行數據傳送時的一次數據傳送量;
控制總線寬度決定了CPU對系統中其他器件的控制能力。

匯編語言的基礎知識01