基礎知識部分
●機器語言是機器指令的集合,電子計算機的機器指令是一列二進位制數字。計算機將之轉變為一列高低電平,以使計算機的電子器件收到驅動,進行計算。
●每一種微處理器都有自己的機器指令集,也就是機器語言。
●編譯器:能夠將彙編指令轉換成機器指令的翻譯程式。
●組合語言的組成:
1、彙編指令:機器碼的助記符,有對應的機器碼。
2、偽指令:沒有對應的機器碼,由編譯器執行,計算機並不執行。
3、其他符號:如+、*、/等,由編譯器識別,沒有對應的機器碼。
組合語言的核心是彙編指令。
●指令和資料在儲存器中存放,也就是我們平常所說的記憶體。
●在記憶體或磁碟上,指令和資料沒有任何區別,都是二進位制資訊。cpu在工作的時候把有的資訊看作指令,有的資訊看作資料,為同樣的資訊賦予了不同的意義。
●儲存器被劃分為若干個儲存單元,每個儲存單元從0開始順序編號,例如有128個儲存單元,則編號從0~127。
●電子計算機的最小資訊單位是bit(位元),也就是乙個二進位制位。
●微型計算機的儲存器的儲存單元可以儲存乙個byte=8 bit。
●微型計算機的容量是以位元組為最小單位來計算的。
1kb=1024b 1mb=1024kb 1gb=1024mb 1tb=1024gb
●上述儲存單元的編號可以看作儲存單元在儲存器中的位址。
●cpu
要想進行資料的讀寫,必須和外部器件(晶元)進行下面三類的資訊互動:
1、儲存單元的位址(位址資訊);
2、器件的選擇,讀或寫的命令(控制資訊);
3、讀或寫的資料(資料資訊)。
●計算機中有專門連線cpu和其他晶元的導線,通常稱為匯流排。共有位址匯流排,控制匯流排和資料匯流排。
●如何使處理器工作:
要讓乙個計算機或微處理器工作,應向它輸入能夠驅動它進行工作的電平資訊(機器碼)。
●再論匯流排:
1、位址匯流排上能夠傳送多少個不同的資訊,cpu就可以對多少個儲存單元進行定址。
注:在電子計算機中,一根導線可以傳送的穩定狀態只有兩種,高電平或是低電平。用二進位制表示就是1或0。
乙個cpu有n根位址線,則可以說這個cpu的位址匯流排的寬度為n,這樣的cpu最多可以尋找2的n次方個記憶體單元。
2、cpu與記憶體或其他器件之間的資料傳遞是通過資料匯流排來進行的。資料匯流排的寬度決定cpu和外界的資料傳送速度。
注:8088cpu的資料匯流排寬度為8,8086cpu為16。
3、cpu對外部器件的控制是通過控制匯流排來進行的。控制匯流排是一些不同控制線的集合。有多少根控制匯流排,就意味著cpu提供了對外部器件的多少種控制。控制匯流排的寬度決定了cpu對外部器件的控制能力。
●記憶體位址空間:例如,一cpu的位址匯流排寬度為10,則可定址1024個記憶體單元,這1024個可尋到的記憶體單元構成這個cpu的記憶體位址空間。
●cpu
對外部裝置不能直接控制,直接控制這些裝置進行工作的是插在擴充套件插槽上的介面卡。cpu通過匯流排向介面卡傳送命令,介面卡根據cpu的命令控制外設進行工作。
●各類儲存晶元:ram與rom
ram:裝在主機板上的ram和擴充套件插槽上的ram。
bios
:是由主機板和各類介面卡(如顯示卡,網絡卡等)廠商提供的軟體系統。可以通過它利用該硬體裝置進行最基本的輸入輸出。
●所有的物理儲存器被看作是乙個由若干儲存單元組成的邏輯儲存器,每個物理儲存器在這個邏輯儲存器中占有乙個位址段。
●記憶體位址空間的大小受cpu位址匯流排寬度的限制。
CTF之旅 從組合語言(王爽)開始
程式和資料的區別在於訪問方式,如果是通過cs ip訪問則是程式,如果是任意一種儲存方式訪問則是資料。棧 lifo 先進後出。入棧時棧頂從高位址向低位址方向增長。8086cpu中可以將一段記憶體當做棧來使用,且其入棧和出棧操作都是以字為單位進行的 8086cpu中 段暫存器ss存放棧頂的段位址,暫存器...
組合語言(王爽)前六章複習(上)
組合語言的研究重點放在如何利用硬體系統的程式設計結構和指令集有效靈活地控制系統進行工作。微機原理與介面 pc機及cpu物理結構的全面研究 組成原理 對於計算機一般的結構 功能 效能的研究1.1 1.2 操作 暫存器bx的內容送到ax中 機器指令 1000100111011000 彙編指令 mov a...
最容易看懂的組合語言書籍 組合語言 王爽
關於底層知識的學習,彙編當然是繞不過,當你需要調優一小段 時,你需要看的組合語言。通過學習組合語言,你能更清楚明白的了解整個計算機的計算過程,指令相關知識,對學習計算機幫助甚大。目錄 第1章 基礎知識 1.1 機器語言 1.2 組合語言的產生 1.3 組合語言的組成 1.4 儲存器 1.5 指令和資...