freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

目標(biāo)代碼生成ppt課件(已修改)

2025-05-13 22:17 本頁面
 

【正文】 第 7章 目標(biāo)代碼生成 第 7章 目標(biāo)代碼生成 一個(gè)簡單代碼生成器 * 匯編指令到機(jī)器代碼的翻譯概述 第 7章 目標(biāo)代碼生成 概述 目標(biāo)代碼生成: 目標(biāo)代碼生成就是將中間代碼程序轉(zhuǎn)換成等價(jià)的目標(biāo)代碼程序,完成這一功能的程序稱為目標(biāo)代碼生成器。 代碼生成器: – 目標(biāo)代碼的常見形式 (1)可立即執(zhí)行的機(jī)器語言代碼。 (.exe或 .) (2)待裝配的機(jī)器語言模塊。 (.obj或 lib) (3)匯編語言程序 – 生成目標(biāo)代碼的過程中要注意考慮的問題: (1)生成的目標(biāo)代碼較短 (2)充分利用寄存器 第 7章 目標(biāo)代碼生成 一個(gè)簡單代碼生成器 簡單的代碼生成器 : 特點(diǎn) : 生成器依次把每條中間代碼變換成目標(biāo)代碼, 在一個(gè)基本塊范圍內(nèi)考慮如何充分利用寄存器的問題 。 ? 一方面生成計(jì)算某變量值的目標(biāo)代碼時(shí),盡可能地讓該變量的值保留在寄存器中,直到該寄存器必須用來存放其它變量的值或已達(dá)基本塊出口為止; ? 另一方面,后續(xù)的目標(biāo)代碼盡可能地引用變量在寄存器中的值而不訪問內(nèi)存。 第 7章 目標(biāo)代碼生成 ? 低效的代碼生成器 :不考慮代碼的效率 , 可以簡單地把每條中間代碼 (四元式 )映射成若干條目標(biāo)指令 例如 , 一 C語言語句為 A=(B+C)*D+E, 把它翻譯為四元式 G: T1=B+C T2=T1*D A=T2+E 代碼生成器將形如 x=y+z的三地址代碼映射為: MOV AX, y /*AX為寄存器 */ ADD AX, z MOV x, AX 第 7章 目標(biāo)代碼生成 這樣 , 上述四元式代碼序列 G就可翻譯為: (1) MOV AX, B (2) ADD AX, C (3) MOV T1, AX (4) MOV AX, T1 (5) MUL AX, D (6) MOV T2, AX (7) MOV AX, T2 (8) ADD AX, E (9) MOV A, AX ?(4)和 (7)兩條指令是多余的; ?T T2是中間代碼生成時(shí)產(chǎn)生的臨時(shí)變量,它們在出了基本塊后將不再使用,故 (3)、 (6)兩條指令也可刪去。 第 7章 目標(biāo)代碼生成 ? 高效的代碼生成器 :考慮效率和充分使用寄存器 , 生成如下代碼: (1) MOV AX, B (2) ADD AX, C (3) MUL AX, D (4) ADD AX, E (5) MOV A, AX ?如何充分利用寄存器 第 7章 目標(biāo)代碼生成 待用信息與活躍信息 在一個(gè)基本塊內(nèi)的目標(biāo)代碼中 , 為了提高寄存器的使用效率 , 應(yīng)將基本塊內(nèi) 還要被引用的值盡可能地保留在寄存器中 , 而將基本塊內(nèi) 不再被引用的變量所占用的寄存器盡早釋放 。 ? 待用信息 :為了將基本塊內(nèi)還要被引用的值盡可能地保留在寄存器中 ,需要收集變量的待用信息 。 四元式 i: A=B op C 四元式 j: X=Y op A 四元式 i對變量 A定值 , i后面的四元式 j要引用 A且從 i到 j的四元式?jīng)]有其它對 A的定值點(diǎn) , 則稱 j是四元式 i中對變量 A的待用信息 ? 活躍信息 :為了將不再被引用的變量所占用的寄存器盡早釋放 ,需要收集變量的活躍信息 。 上例中如在 i之后 A被不再被引用 , 則稱 A為非活躍的 , 否則稱 A在i是活躍的; ? 如果 A被多處引用 , 則構(gòu)成了 A的待用信息鏈與活躍信息鏈 。 第 7章 目標(biāo)代碼生成 取得每個(gè)變量在基本塊內(nèi)的待用信息和活躍信息算法: ? 從基本塊的出口由后向前掃描 , 對每個(gè)變量建立相應(yīng)的待用信息鏈與活躍信息鏈 。 ? 基本塊中的臨時(shí)變量看作基本塊出口之后的非活躍變量 , 而所有的非臨時(shí)變量均看作基本塊出口之后的活躍變量 。 如果某些臨時(shí)變量能夠跨基本塊使用 , 則把這些臨時(shí)變量也看成基本塊出口之后的活躍變量 。 ? 假設(shè)變量的符號表內(nèi)有待用信息和活躍信息欄 , 則計(jì)算
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1