姓名:呂鬆鴻 編程
學號:20135229小程序
( *原創做品轉載請註明出處*)緩存
( 學習課程:《Linux內核分析》MOOC課程http://mooc.study.163.com/course/USTC-1000029000 )函數
目前大多數擁有計算和存儲功能的設備(智能手機、平板、計算機等)其核心構造均爲馮諾依曼體系結構佈局
2. 從軟件來看學習
關於ABI:指令編碼;指令中涉及的寄存器佈局;大多數指令能夠直接訪問內存編碼
(E表明32位系統)EIP在CPU執行完一條指令以後自加一(自動加一條指令,而不是一個字節或是32位),固然也能夠被其它指令,如CALL,RET等修改spa
EBP(堆棧基址寄存器);ESP(堆棧頂指針寄存器)。上述兩個寄存器較爲頻繁地使用於彙編程序中指針
CPU實際取指令的時候經過cs:eip來描述code
其實與32位在覈心機制上差異不大,64位的機器中,寄存器以RXX表示
movl 4(%ebx),%edx//edx = *(inet_32 *)(ebx+4),即ebx的值加4以後做爲一個地址,將其指向的數據賦給%edx
幾條重要的彙編指令
具體以下:
gcc -S -o main.s main.c -m32
函數應該以下:
int g(int x) { return x+8; } int main(void) { return g(8)-8; }
1.計算機的硬件設施部分,就如第一講中講到的那樣,除了核心CPU以外,還有寄存器、高速緩存、主存乃至外存這樣種類繁多的存儲設備。存儲設備(這也是馮 諾依曼體系結構的一個重要支點)根本目的就是爲CPU服務,存儲各類各樣的、區分輕重緩急的數據;
2.一步一步對彙編語言進行分析,使我對堆棧的調用認識更加深入,對這部分的知識更加了然於胸,對我從此的課程奠基了紮實的基礎