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

正文內容

目標程序運行時的存儲組織教材-展示頁

2025-02-27 02:26本頁面
  

【正文】 的存儲空間,每當需要時就從 這片空間中借用一塊,不用時再退還,由于借還的時間 先后不一,經一段運行之后,程序運行空間將被劃分成 許多塊,有些占用,有些空閑。 棧式存儲分配的實現 ?過程的活動記錄 AR(Activation Record):是一段連續(xù)的存 儲區(qū),用以存放過程的一次執(zhí)行所需要的信息,這些信 息如圖 : ?臨時工作單元:如計算表達式過程存放的中間結果 ?局部變量:一個過程的局部變量 ?機器狀態(tài)信息:如程序計數器、寄存器的值 ?存取鏈:用以存取非局部變量 ?控制鏈:指向調用該過程的那個過程的活動記錄 ?實參:由調用過程向該被調過程提供實參的值 (或地址 ) ?返回地址:保存該被調過程返回后的地址 一 .簡單的棧式存儲分配的實現 ?最簡單的程序設計語言結構如圖 : ?例如,圖 ,若主程序調用了過程 Q, Q 又調用了 R,在 R進入運行后的存儲結構如圖 (a)所示: ?若主程序調用了過程 Q, Q遞歸調用自己,在 Q過程第 2次 進入運行后的存儲結構如圖 (b)所示: ?若主程序先調用過程 Q,然后主程序接著調用 R,且 Q過 程沒有調用 Q和 R,這時 Q和 R進入運行后的存儲結構分 別如圖 (c)和 (d)所示: ?常常使用兩個指針指示棧最頂端的數據區(qū): ?SP:總是指向現行過程活動記錄的起點 ?TOP:始終指向已占用的棧頂單元 ?這種語言若含有可變數組,則其過程活動記錄的內容如 圖 : ?圖 ,可以與圖 ( a)對照: 二 .嵌套過程語言的棧式實現 ?Pascal語言程序結構的特點是允許過程嵌套定義,如圖 : ?圖 Pascal程序中過程定義的嵌套情況如下: ?sort ? readarray ? exchange ? quicksort ? partition ?假如過程 sort激活(調用)了過程 quicksort,這時存儲棧 中的情形如圖 ,其中在 quicksort過程活動記錄 中有一存儲單元(用斜線描繪)用以記錄過程 quicksort 可以引用 sort中定義的變量 a和 x。 過程活動記錄的內容如圖 ( a)所示。也 就是說,在這種情況下,只需所 P1的 display地址作為連 接數據之一傳送給 P2就能夠建立 P2的 display ?如果 P2是形式參數,那么調用 P2意味著調用 P2當前相應的 實在過程 ?此時的 P0應是這個實在過程的直接外層過程 ?假定 P0的 display地址可從形式單元 P2所指示的地方獲得 ?為了能在 P2中獲得 P0的 display地址,必須在 P1調用 P2時設 法把 P1的 display地址作為連接數據之一傳送給 P2 ?于是連接數據變?yōu)槿棧? ( 1)老 SP值; ( 2)返回地址; ( 3)全局 display地址 ?這樣,整個活動記錄的組織就如圖 例: 有如下示意的 Pascal源程序 program main。 procedure X(i,j:integer)。 procedure Y。 begin ... end。 var h,i,j:real。{Z} begin ..... 10:Y。 ..... end。 ..... end.{main} 并已知在運行時刻,以過程為單位對程序中的變量進行動態(tài)存儲分配。 ( 1)已開始而尚未執(zhí)行完畢的標號為 10的語句。 臨時變量 內情向量 簡單變量 display 形式單元 形參個數 全局 display 返回地址 老 SP g f 16 6 0 0 12 返回地址 6 e d 6 0 j i 2 2 返回地址 0 c b a 0 返回地址 0 解 :( 1)程序已開始而尚未執(zhí)行完畢標號為 10的語句時 ,運行棧的內容和 Display表的內容如下圖所示 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 全局 display 全局 display 全局 display display display TOP→ SP2→ SP1→ SP0→ (2)程序已開始而尚未執(zhí)行完畢標號為 11的語句時,運行棧的內容和 Display表的內容如下圖所示 j i h 16 6 0 k 1 12 返回地址 6 e d 6 0 j i 2 2 返回地址 0 c b a 0 返回地址 0 全局 display display display 全局 display 全局 display 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 TOP→ SP2→ SP1→ SP0→ 三 .分程序結構的存儲管理( 自習 ) ?一個分程序是一個含有它自己的局部數據(變量)聲明 的語句 ?在 C語言中,一個分程序的語法形式是: { 聲明 語句 } ?例如圖 C程序中的分程序 B0, B1, B2和 B3,分程 序的特征是它們的嵌套結構,使用界符標明分程序的開 始和結束, C語言用 { } ?分程序結構可以用棧式存儲分配實現 ?一種
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1