把組合語言編制的源程式變為目標程式,要經過哪些步驟

時間 2021-08-14 23:02:28

1樓:淘汰

詞法分析:

詞法分析的任務是對由字元組成的單詞進行處理,從左至右逐個字元地對源程式進行掃描,產生一個個的單詞符號,把作為字串的源程式改造成為單詞符號串的中間程式。執行詞法分析的程式稱為詞法分析程式或掃描器。

源程式中的單詞符號經掃描器分析,一般產生二元式:單詞種別;單詞自身的值。單詞種別通常用整數編碼,如果一個種別只含一個單詞符號,那麼對這個單詞符號,種別編碼就完全代表它自身的值了。

若一個種別含有許多個單詞符號,那麼,對於它的每個單詞符號,除了給出種別編碼以外,還應給出自身的值。

詞法分析器一般來說有兩種方法構造:手工構造和自動生成。手工構造可使用狀態圖進行工作,自動生成使用確定的有限自動機來實現。

語法分析:

編譯程式的語法分析器以單詞符號作為輸入,分析單詞符號串是否形成符合語法規則的語法單位,如表示式、賦值、迴圈等,最後看是否構成一個符合要求的程式,按該語言使用的語法規則分析檢查每條語句是否有正確的邏輯結構,程式是最終的一個語法單位。編譯程式的語法規則可用上下文無關文法來刻畫。

語法分析的方法分為兩種:自上而下分析法和自下而上分析法。自上而下就是從文法的開始符號出發,向下推導,推出句子。

而自下而上分析法採用的是移進歸約法,基本思想是:用一個寄存符號的先進後出棧,把輸入符號一個一個地移進棧裡,當棧頂形成某個產生式的一個候選式時,即把棧頂的這一部分歸約成該產生式的左鄰符號。

中間**:

中間**是源程式的一種內部表示,或稱中間語言。中間**的作用是可使編譯程式的結構在邏輯上更為簡單明確,特別是可使目標**的優化比較容易實現中間**,即為中間語言程式,中間語言的複雜性介於源程式語言和機器語言之間。中間語言有多種形式,常見的有逆波蘭記號、四元式、三元式和樹。

2樓:

正確答案: a、彙編

彙編,是將組合語言源程式翻譯成機器目標**的過程。

解釋,是將高階語言的源程式逐句翻譯成機器語言並逐句執行的過程。

編輯,是指修改內容

編譯,是將高階語言的源程式以檔案為單位整體翻譯成另一種語言(一般是低階語言,如組合語言或機器語言)的等價程式的過程。

1. 把組合語言編制的源程式變為目標程式,要經過(

3樓:

正確答案: a、彙編

彙編,是將組合語言源程式翻譯成機器目標**的過程。

解釋,是將高階語言的源程式逐句翻譯成機器語言並逐句執行的過程。

編輯,是指修改內容

編譯,是將高階語言的源程式以檔案為單位整體翻譯成另一種語言(一般是低階語言,如組合語言或機器語言)的等價程式的過程。

4樓:匿名使用者

d----編譯

編譯生成hex目標檔案

微機原理組合語言的程式

衛生一報 除錯時需要把中文標點符號改為英文標點符號,否則會出現out of memory的提示資訊 data segment 定義資料段 adr db 10,31,45,67,80,46,0,31,0,77 num equ adr num是資料個數da1 db 0 da1用來存放正數的個數,初值為0...

組合語言原程式,彙編程式,程式的彙編三者有什麼區別

組合語言源程式 將可執行檔案機器碼反彙編得到的彙編 會得到一大堆簡單的 難懂的 組合語言指令 彙編程式 用組合語言編寫的程式 程式的彙編 指將高階語言編譯連線生成機器可以直接執行的 的過程 組合語言源程式 將可執行檔案機器碼反彙編得到的彙編 彙編程式 用組合語言編寫的程式。程式的彙編 將高階語言或者...

組合語言是怎麼呼叫c語言的程式的

育知同創教育 一 引數傳遞的基本規則 atpcs arm thumb procedure call standard 1 引數傳遞 二 彙編程式 c程式相互呼叫舉例 1 c程式呼叫匯程式設計序 彙編程式的設計要遵守atpcs arm thumb procedure call standard 保證程...