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

正文內(nèi)容

目標(biāo)程序運行時的存儲組織教材(參考版)

2025-02-23 02:26本頁面
  

【正文】 試分別給出程序執(zhí)行到( 1)和( 2)點時運行棧的內(nèi)容和DISPLAY的內(nèi)容。{A} begin{main} ... A(d)。 C。 begin ...(2)... end。 {B} procedure C。 var c:char。 var p:char。 d:integer。 當(dāng)?shù)诙危ㄟf歸地)進入 F后, DISPLAY的內(nèi)容是什么?當(dāng)時整個運行棧的內(nèi)容是什么? 臨時變量 內(nèi)情向量 簡單變量 display 形式單元 形參個數(shù) 全局 display 返回地址 老 SP 如下的 Pascal程序, program Tr(input,output)。 begin K:=F(10)。 function F(N:integer):integer begin if N =0 then F:=1 else F:=N * F(N1)。 p(a+b,a,a)。 begin a∶ =4。 z∶ =z+x。 procedure p(x,y,z)。 (4) 參數(shù)的傳遞辦法為 傳結(jié)果 。然后所生成的目標(biāo)指令則 應(yīng)完成的工作是:恢復(fù) SP;恢復(fù) TOP,按保存的返回地址 實行無條件轉(zhuǎn)移 【本章小結(jié)】 ?目標(biāo)代碼運行時,存儲區(qū)域的整體布局 ,以及各區(qū)域的作用 ?各種不同數(shù)據(jù)變量區(qū)的不同分配組織方式 ?允許過程嵌套定義的語言,棧式動態(tài)分配的組織管理 ?過程活動紀(jì)錄的各項內(nèi)容和它們的作用,以及活動紀(jì)錄的 組織方式 ?參數(shù)傳遞的不同方式及其實現(xiàn) ?過程調(diào)用和返回時,相應(yīng)目標(biāo)代碼以及棧式動態(tài)分配區(qū)的 管理 作業(yè) 下面的程序執(zhí)行時輸出的 a分別是什么 ?若 (1) 參數(shù)的傳遞辦法為 傳值 ; (2) 參數(shù)的傳遞辦法為“傳地址”。 167。 ( 2) 傳結(jié)果 , 則將實在參數(shù)的地址和值傳遞給 被調(diào)用者 , p 運行時有( 假設(shè) a的地址為 add_a, b的地址為 add_b,臨時單元 T的地址為 add_T)。 解: ( 3) 傳名 當(dāng)執(zhí)行調(diào)用 p ( a+b, a ,a)時,相當(dāng)于被調(diào)用者被替換成 procedure p (a+b , a , a) begin a:=a+1 a:=a+a+b end。 ( 2) 傳地址 , 則將實在參數(shù)的地址傳遞給 被 調(diào)用者, p 運行時有( 假設(shè) a的地址為 add_a, b的地址為 add_b )。 執(zhí)行時所輸出的 a分別是什么? ( 1) 傳值 . 則將實參的值傳遞給被調(diào)用者 p .程序運行時有(假設(shè) a的地址為 add_a, b的地址為 add_b)。 b:=3。 end。 begin y:=y+1。 參數(shù)傳遞 ?把實在參數(shù)傳遞給相應(yīng)的形式參數(shù)方法: ?傳值、傳地址、傳名、傳結(jié)果等 一 .傳值(值調(diào)用) ?將實參計算出它的值,然后把它傳給被調(diào)過程: ,并將它們的值放在為形式單元 開辟的空間中 ,就像使用局部變量一樣使用這些形式 單元 ?傳值的重要特點是對形式參數(shù)的任何運算不影響調(diào)用過程的活動記錄中實參的值 ?通過值調(diào)用的過程可以由非局部量或由指針而對調(diào)用過程發(fā)生影響 二 .傳地址 ?當(dāng)參數(shù)通過引用傳遞時,也稱作傳地址,或引用調(diào)用 ?調(diào)用過程傳給被調(diào)過程的是指針,指向?qū)崊⒋鎯ξ恢玫? 指針 ,則名字的地址傳遞過去 ,比如 a+b或 2,而沒有左值,則表 達式先求值,并存入某一位置,然后該位置的地址傳遞 過去 調(diào)過程的指針被處理成間接訪問 二 .傳名 ?當(dāng)參數(shù)通過名字傳遞時,也稱作傳名調(diào)用 ?調(diào)用過程傳給被調(diào)過程的是名字,實參名字代替形參名字 ,則名字直接替代相應(yīng)的形式參數(shù) ,比如 a+b, a+b替代相應(yīng)的形式參數(shù) 到被調(diào)過程的指針被處理成間接訪問 二 .傳結(jié)果 ?調(diào)用過程傳給被調(diào)過程的是指針和值,每個形式參數(shù)對應(yīng)兩個單元,一個存實參的地址,一個存實參的值。分程序在哪 里定義就在哪里被調(diào)用 ?另一種辦法是每次為一個完整的過程體分配存儲,即把 一個過程體中的所有分程序所需的存儲一次分配好,如 圖 C程序 ,可以為這里所有聲明的名字分配一塊存 儲,如圖 : ?ALGOL的結(jié)構(gòu)特點是除了允許過程嵌套定義還含有分程 序的結(jié)構(gòu),如圖 ALGOL過程: ?如采用將分程序看成“無參過程”,則效率很低,因為: ?第一,分程序不存在被調(diào)用的問題,不必要在進入一個 分程序時,將連接數(shù)據(jù)和 display都放進活動記錄中 ?第二,當(dāng)從內(nèi)層分程序向外轉(zhuǎn)移時可能同時要結(jié)束若干 個分程序,那么怎樣恢復(fù)所要到達的那個分程序的數(shù)據(jù) 區(qū)呢? ?克服上述缺點的辦法是: ?首先,代替原來的那個統(tǒng)一的棧頂指示器,讓每個過程 和分程序都有自己的棧頂指示器 TOP,它的值保存在各 自的活動記錄中 ?其次,不把分程序看作“無參過程”,而讓每個分程序享 用包圍它的那個最小過程的 display ?每個過程的活動記錄所含的內(nèi)容有: TOP單元,指向活動記錄的棧頂位置 : (1)老 SP值 (2)返回地址 (3)全局 display地址 (4)調(diào)用時的棧頂單元地址,稱作老 TOP , 它們包括: (1)一個名為 TOP的單元,當(dāng)進入時它含現(xiàn)行棧頂?shù)刂?,以? 用來存放棧的新高度 (2)分程序的局部變量、數(shù)組內(nèi)情向量和臨時工作單元
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1