- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基本的载入器功能机器相关的载入器功能机器无关的载入器功
第3第 3章章 載入器和連結器載入器和連結器
第第 33章章 載入器和連結器載入器和連結器
基本的載入器功能
機器相關的載入器功能
機器無關的載入器功能
載入器設計選項
執行一個目的程式 ,所需採取的相關步驟:
載入 (Loading) :配置記憶體位置 ,將目的程式載入記憶體中,以便
執行。
重定位 (Relocation) 調整目的程式中在載入記憶體時需要修改的位:
址。
連結 (Linking) :合併 兩個以上的的目的程式 ,並且提供其間相互參
考的資訊 。
載入程式 (Loader) :載入欲執行的程式
重定位 、連結
連結編修程式 (linkage editor)
3.1 基本載入程式功能基本載入程式功能
基本載入程式功能基本載入程式功能
將一個目的程式載入至記憶體中 ,並且開始執行
內容
3.1.1討論 「絕對載入器」(absolute loader )
3.1.2 介紹用於SIC/XE的簡易 「絕對載入器」的範例
3.1 基本載入程式功能基本載入程式功能
基本載入程式功能基本載入程式功能
3.1.1 絕對載入器的設計絕對載入器的設計
絕對載入器的設計絕對載入器的設計
不需要執行連結和重定址的功能
首先測試表頭記錄 ,來驗證是否載入正確的程式(並
且有足夠的記憶體)
當讀取每一筆 「文字記錄」(Text record )時,會將該
記錄中的目的碼移到所指定的記憶體位址上
當讀取到 「結束記錄」(End record )時,載入器將會
跳到所示之位址 ,並且開始執行所載入的程式。
圖圖 3.1(a) 絕對程式的載入絕對程式的載入 :目的程式:目的程式
圖圖 絕對程式的載入絕對程式的載入 ::目的程式目的程式
圖圖 3.2 絕對載入器演算法絕對載入器演算法
圖圖 絕對載入器演算法絕對載入器演算法
Begin
read Header record
verify program name and length
read first Text record
while record type is not ‘E’ do
begin
{if object code is in character form, convert into internal
representation}
move object code to specified location in memory
read next object program record
end
Jump to address specified in End record
end
3.1 基本載入程式功能基本載入程式功能
基本載入程式功能基本載入程式功能
3.1.2 簡單的啟動載入器簡單的啟動載入器
簡單的啟動載入器簡單的啟動載入器
「啟動載入器」會載入電腦首先必須執行的程式 ,通
常就是作業系統
圖 3.3展示 「啟動載入器」的原始碼 。開機的起始運作
位址是在機器之記憶體的位址 0處,而作業系統的載入
位址是始於位址 80處。
「啟動程式」(bootstrap )的主要迴圈會將下一個載入
位址存放在 X暫存器中
GETC則是從 F1裝置讀入和轉換一對字元
圖圖 3.1(b) 絕對程式的載入絕對程式的載入 :程式載至記憶體中:程式載至記憶體中
圖圖 絕對程式的載入絕對程式的載入 ::程式載至記憶體中程式載至記憶體中
圖圖
文档评论(0)