匯編語言第二章總結
第二章裏我們學習了寄存器的內容。了解到一個典型的CPU由運算器、控制器、寄存器等器件構成,這些器件靠內部總線相連。前一章所說的總線,相對於CPU內部來說是外部總線。內部總線實現CPU內部各個器件之間的聯系,外部總線實現CPU和主板上其他器件的聯系。在CPU中,運算器進行信息處理;寄存器進行信息存儲;控制器控制各種器件進行工作;內部總線連接各種器件, 在它們之間進行數據的傳送。
對於一個匯編程序員來說,CPU中的主要部件是寄存器。寄存器是CPU中程序員可以用指令讀寫的部件。程序員通過改變各種寄存器中的內容來實現對CPU的控制。不同的CPU,寄存器的個數、結構是不相同的。8086CPU有14個寄存器,每個寄仔器有一個名稱。這些寄存器是
一個字可以存在一個16位寄存器中,這個字的高位字節和低位字節自然就存在這個寄存器的高8.位寄存器和低8位寄存器中。若一個字型數據20000, 存在AX寄存器中,在AH中存儲了它的高8位,在AL中存儲了它的低8位。AH和AL中的數據,既可以看成是一個字型數據的高8位和低8位,這個字型數據的大小是20000;又可以看成是兩個獨立的字節型數據,它們的大小分別是78和32。
CPU訪問內存單元時,要給出內存單元的地址。所有的內存單元構成存儲空間是一個一維的線性空間,每一一個內存單元在這個空間中都有唯一的地址, 我們將這個唯一的地址稱為物理地址。
在編程時可以根據需要,將若幹地址連續的內存單元看作一個段,用段地址x16定位段的起始地址(基礎地址),用偏移地址定位段中的內存單元。有兩點需要註意: 段地址x16必然是16的倍數,所以一個段的起始地址也一定是16的倍數; 偏移地址為16位,16位地址的尋址能力為64KB, 所以一個段的長度最大為64KB。
CS和IP是8086CPU中兩個最關鍵的寄存器,它們指示了CPU當前要讀取指令的地址。CS為代碼段寄存器,IP
在CPU中,程序員能夠用指令讀寫的部件只有寄存器,程序員可以通過改變寄存器中的內容實現對CPU的控制。CPU從何處執行指令是由CS、IP中的內容決定的,程序員可以通過改變CS、IP中的內容來控制CPU執行目標指令。
我們在適當的時候,會用已知的匯編指令的語法來描述新學的匯編指令的功能。采用一種“用匯編解釋匯編”的方法來使讀者更好地理解匯編指令的功能,這樣做有助於讀者進行知識的相互融會。要強調的是,我們是用“已知的匯編指令的語法”進行描述,並不是用“已知的匯編指令”來描述。
匯編語言第二章總結