2. 資料結構


資料庫型態、結構、功能?
第一次處理所需之較重要的資料庫有下列 9 種:
  1. 原始巨集組合語言程式:為巨集處理程式之輸入資料。
  2. 行緩衝器(Line Buffer;LB):用以暫存待分析之指令敘述的空間。
  3. 巨集定義表(MDT):儲存所有經巨集處理程式辨識之巨集定義。
  4. 巨集定義表記數器(MDTC):用來指出 MDT 下個可用位置。
  5. 巨集名稱表(MNT):儲存巨集名稱及其對應的巨集定義在 MDT 之指標。
  6. 巨集名稱表記數器(MNTC):用來指出 MNT 下個可用位置。
  7. 引數串陣列(ALA):用來儲存虛擬引數,且依其出現的順序儲存。
  8. 巨集符號表(MST):用來儲存巨集符號名稱(與 #SYM 連結之符號名稱)及其初始值『0000』(若系統無符號產生器之功能,就不需產生MST)。
  9. 不含巨集定義之原始巨集組合語言程式:供第二次處理時使用。
第二次處理所需之較重要的資料庫有下列 7 種
  1. 不含巨集定義之原始巨集組合語言程式:由第一次處理產生,作為本次處理之輸入資料。
  2. 巨集定義表(MDT):第一次處理產生。
  3. 巨集定義指示器(MDTP):在巨集擴展時,指示下個展開指令在 MDT 中之位置。
  4. 巨集名稱表(MNT):第一次處理產生。
  5. 引數串陣列(ALA):用來儲存巨集召用之參數,且依其出現的順序儲存。
  6. 巨集符號表(MST):第一次處理產生,但在此處理時可能會更新(update)巨集符號值。
  7. 擴展程式檔:由本次處理所產生之輸出檔,可做為組譯程式的輸入資料。

圖6-4 所示為上述各資料表與巨集處理程式之兩次處理間的相互關係圖,從圖中我們亦可瞭解各資料流程。


圖6-4 兩次巨集處理程式各資料間相互關係圖



首頁 課程目錄 第六章