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

正文內(nèi)容

目標代碼生成ppt課件-文庫吧資料

2025-05-07 22:17本頁面
  

【正文】 原代碼生成算法中,僅當變量在基本塊中被定值時,其值才存放在寄存器中。 第 7章 目標代碼生成 寄存器分配 ? 以下寄存器分配考慮循環(huán)內(nèi)的寄存器的使用 , 優(yōu)化使用寄存器考慮一個循環(huán)中所有基本塊變量的情況 。 第 7章 目標代碼生成 表 例 四元式 目標代碼 RVALUE AVALUE T=A?B MOV AX, A SUB AX, B AX含有 T T在 AX中 U=A?C MOV BX, A SUB BX, C AX含有 T BX含有 U T在 AX中 U在 BX中 V=T+U ADD AX, BX AX含有 V BX含有 U V在 AX中 U在 BX中 D=V+U ADD AX, BX AX含有 D D在 AX中 例 對例 ,假設只有 AX和 BX是可用寄存器,用代碼生成算法生成目標代碼和相應的 RVALUE和 AVALUE。選取原則為:占用Ri的變量的值也同時放在內(nèi)存中,或者該值在基本塊中要在最遠的位置才會引用到。 (2) 如有尚未分配的寄存器 , 則從中選取一個 Ri為所需寄存器并轉(zhuǎn) (4)。 R中的值已發(fā)生變化,不等于 B或 C 第 7章 目標代碼生成 (5) 如果 B和 C的現(xiàn)行值在基本塊中不再被引用 , 它們也不是基本塊出口之后的活躍變量且它們的現(xiàn)行值存放在寄存器 Rk中 , 則刪除 RVALUE [Rk]中的 B和 C以及AVALUE [B]中的 Rk, 使寄存器 Rk不再為 B和 C所占用 。為 R, 則刪除 AVALUE [B]或 AVALUE [C]中的 R。 如果 B39。 op R, C39。 第 7章 目標代碼生成 (3) 如果 B39。;如果是存放在寄存器中 , 則把寄存器取作 B39。 (2) 通過地址描述數(shù)組 AVALUE [B]和 AVALUE [C]確定出變量 B和變量 C的現(xiàn)行值存放位置 B39。 優(yōu)化使用寄存器基本不考慮基本塊以外的情況 。 第 7章 目標代碼生成 例 考察基本塊: (1) T=A?B (2) U=A?C (3) V=T+U (4) D=V+U 其中 , A、 B、 C、 D為變量 , T、 U、 V為中間變量 ,試求各變量的待用信息鏈和活躍信息鏈 。 (2) 從基本塊出口到基本塊入口由后向前依次處理各四元式 。 如果某些臨時變量能夠跨基本塊使用 , 則把這些臨時變量也看成基本塊出口之后的活躍變量 。 第 7章 目標代碼生成 取得每個變量在基本塊內(nèi)的待用信息和活躍信息算法: ? 從基本塊的出口由后向前掃描 , 對每個變量建立相應的待用信息鏈與活躍信息鏈 。 四元式 i: A=B op C 四元式 j: X=Y op A 四元式 i對變量 A定值 , i后面的四元式 j要引用 A且從 i到 j的四元式?jīng)]有其它對 A的定值點 , 則稱 j是四元式 i中對變量 A的待用信息 ? 活躍信息 :為了將不再被引用的變量所占用的寄存器盡早釋放 ,需要收集變量的活躍信息 。 第 7章 目標代碼生成 ? 高效的代碼生成器 :考慮效率和充分使用寄存器 , 生成如下代碼: (1) MOV AX, B (2) ADD AX, C (3) MUL AX, D (4) ADD AX, E (5) MOV A, AX ?如何充分利用寄存器 第 7章 目標代碼生成 待用信息與活躍信息 在一個基本塊內(nèi)的目標代碼中 , 為了提高寄存器的使用效率 , 應將基本塊內(nèi) 還要被引用的值盡可能地保留在寄存器中 , 而將基本塊內(nèi) 不再被引用的變量所占用的寄存器盡早釋放 。 ? 一方面生成計算某變量值的目標代碼時,盡可能地讓該變量的值保留在寄存器中,直到該寄存器必須用來存放其它變量的值或已達基本塊出口為止; ? 另一方面,后續(xù)的目標代碼盡可能地引用變量在寄存器中的值而不訪問內(nèi)存。 (.exe或 .) (2)待裝配的機器語言模塊。第 7章 目標代碼生成
點擊復制文檔內(nèi)容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1