點擊查看:軟件水平考試《嵌入式系統設計師》輔導匯總
嵌入式程序設計語言
1、程序設計語言概述
⑴機器語言:是與計算機硬件關系最為密切的計算機語言,在計算機硬件上執行的就是一條條用機器語言來編寫的指令;
匯編語言:基本思路是用符號的形式來代替二進行的指令。
低級語言:通常將機器語言和匯編語言統稱為低級語言。
⑵語言處理程序
語言處理程序:擔任翻譯任務的程序稱為語言處理程序。包括:匯編程序、解釋程序、編譯程序。
源程序:用匯編語言或某程高級語言編寫的程序。源程序不能直接在計算機上運行。
解釋程序:也稱解釋器,它直接解釋執行源程序、或將源程序翻譯成某種中間表示形式后再執行。
編譯程序:是將源程序翻譯成目標語言程序,然后在計算機上運行。
區別:在編譯方式下,機器上運行的是與源程序等價的目標程序,源程序和編譯程序都不再參與目標程序的執行;而在解釋方式下,解釋程序和源程序要參與程序的運行過程中,運行控制權在解釋程序。
程序設計語言的定義
⑶包括:語法、語義、語用、語境。
2、匯編語言
⑴、基本原理:為特定計算機或計算機系統設計的面向機器的符號化程序設計語言。
包括三類語句:指令語句、偽指令語句、宏指令語句。
指令語句:又稱機器指令語句,將其匯編后能產生相應的機器代碼,這些代碼能被CPU直接識別并執行相應的操作;
偽指令語句:指示匯編程序在對源程序進行匯編時完成某些工作。區別:偽指令在匯編后不產生機器代碼,而指令語句產生機器代碼。常用:定義偽指令 EQU;存儲定義偽指令 DCB;匯編控制偽指令 IF、ELSE、ENDIF,WHILE WEND;開始偽指令 ENTRY;結束偽指令 END。
宏指令:將多次重復使用的程序段定義為宏
⑵、ARM匯編語言
格式:ARM語言以段為單位組織源文件。段是相對獨立的、具有特定名稱的、不可分割的指令或數序列。段可以分為代碼段和數據段,代碼段存放執行代碼、數據段存放代碼運行時用到的數據。一個ARM源程序至少要一個代碼段。
ARM匯編語言程序經過匯編處理后生成一個可執行的映像文件,包括:一個或多處代碼段,代碼段通常是只讀的;0個或多個包含初始值的數據段,通常可讀寫;0個或多處不含初始值的數據段,可讀寫;
3、面向過程的語言
定義:也叫命令式語言或強制式語言,通過一系列可執行的運算及運算的先后次序來描述計算的過程。
過程序式語言包括:數據、運算、控制、函數。
數據成分:是一種程序語言的數據類型。
數據屬性:包括名稱、類型、存儲類別、作用域、生存周期。
運算成份:算術運算、關系運算、邏輯運算。
控制成份:順序、選擇、重復;
函數:是程序模塊的主要成份,它是一段具有獨立功能的程序,包括三個概念:函數定義,函數聲明、函數調用。
一次函數調用的步驟:⑴、在內存的棧空間當中為其分配一個棧幀,用來存放該函數的形參變量和局部變量;⑵、把實參變量的值復制到相應的形參變量中;⑶、控制流轉移到該函數的起始位置;⑷、該函數開始執行;⑸、當這個函數執行完成后,控制流和返回值返回到函數調用點。
4、面向對象的語言
面向對象=對象+分類+繼承+通過消息的通信
對象:是基本運行時的實體,包括數據(屬性),數據操作的行為,所以一個對象將屬性和行為封裝成一個整體。由對象名、屬性、操作三個部分組成。
方法:在對象內的操作稱為方法;
消息:對象之間進行通信的一種構造;
類:定義了一組大體上相似的對象,類是在對象之上的抽象,對象是類的具體化。
繼承:父類和子類之間共享數據和方法的機制。
多態:不同的對象收到同一消息可以產生完成不同的結果,這一現象稱為多態。
動態綁定:是一個把過程調用和響應調用所需要執行的代碼加以結全的過程。
C++:一種面向對象的語言,支持面向對象,也支持面向過程。
5、匯編、編譯、解譯程序的基本原理
⑴、匯編程序:是將匯編語言源程序翻譯成機器語言程序。
匯編程序一般至少需要兩次掃描源程序才能完成翻譯過程:第一次主要工作是定義符號的值并創建一個符號表ST;第二次是掃描的任務產生目標程序。
⑵、編譯程序:功能是把某些高級語言編寫的源程序翻譯成與之等價的目標語言程序。
分成六個階段:詞法分板階段、語法分板階段、語議分析階段、中間代碼生成階段、代碼優化階段、目標代碼生成階段。
⑶、解釋程序:是另一種語言處理程序,在詞法、語法、語議分析方面與編譯程序,它直接執行源程序或源程序的內部形式。因此解釋程序不產生源程序的目標程序,這是與編譯程序的主要區別。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |