關鍵詞:
匯編語言
hello world的執行
我們以linux系統為例,當我們執行一個簡單的打印字符串的C程序時,我們需要在命令行輸入./hello以及回車去執行該程序。在整個執行過程中,計算機主要做了三件事,或者說經歷了三個階段來完成程序的運行。
一、linux的外殼掃描用戶輸入的字符
當我們在鍵盤輸入./hello時,linux的外殼程序(也就是命令行)會掃描我們輸入的字符,將這些字符一一讀入到寄存器當中,然后再一一放入主存。換句話說,./hello這幾個字符是經過了CPU中的寄存器從而到達了主存。
二、加載hello文件的代碼以及數據到主存
這一過程的觸發是在我們按下回車的那一刻,此時系統會將存儲在磁盤上的hello文件加載到主存,而此過程會利用一種叫做存儲器存取的技術,使得數據不通過寄存器直接到達主存。
三、根據主存中代碼的指令執行程序
在代碼以及程序所需要的數據加載到主存后,CPU就開始從main函數的起始位置,依次執行代碼中的指令。由于我們的代碼只是簡單的輸出“hello world”這樣的字符串,因此系統只是將這個字符串依次加載到寄存器,然后傳輸到顯示器終端顯示。
本章小結
本章只是簡單的介紹了一下hello程序的執行過程,我們可以簡單的這么理解,hello程序的執行,其實就是將數據和代碼加載到主存,并由CPU從主存獲取指令從而執行的過程。
本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。