匯編語言源代碼分析
匯編語言源代碼分析
查看源代碼將發(fā)現(xiàn)它由4 4個文件組成,其中:
? 兩個是匯編語言文件,它們的名字帶后綴“ . s”;
? 28個是用“C”語言編寫的,它們的名字帶后綴“ . c”;
? 14個是用“C”語言編寫的,但并不準備單獨編譯,名字帶后綴“ . h”。
這些文件以及它們的內容是由編寫它們的程序設計人員為使他們自己使用方便而安排的,
并沒有考慮讀者閱讀的便利。在很多方面,文件之間的劃分與本書的討論無關。
如同在第1章中已提及的,所有這些文件已被組織成五個部分。在組織這些部分時所遵循
的基本點是:盡可能使各部分的長度大致相近;將強相關的文件分在同一部分中;將弱相關
的文件分到不同部分中。
4.1 變量分配
P D P 11系統(tǒng)結構支持對變量進行高效存取,其條件是這些變量的絕對地址已知,或者它
們相對于棧指針的地址可在編譯時完全確定。
P D P 11在硬件方面并無對變量說明的多詞法級的支持,在塊結構語言,例如A l g o l或
P a s c a l,則有變量說明的多詞法級支持。由于“ C”在P D P 11上實現(xiàn),所以它只支持兩個詞法
級:全局( g l o b a l )和局部( l o c a l )。
對全局變量進行靜態(tài)分配;對局部變量則在當前棧中或在通用寄存器( r 2、r 3和r 4用于此
種方式)中進行動態(tài)分配。
第1組“.h”文件
p a r a m . h,不包含變量說明,但包含很多操作系統(tǒng)常數(shù)和參數(shù)的定義,以及三個簡單結構
的說明。有關約定是對于定義的常數(shù)只使用大寫字母。
s y s t m . h〔第1 9章〕,主要由說明組成,其中作為副作用定義了“ c a l l o u t”和“ m o u n t”結
構。注意,其中沒有一個變量是顯式地賦予初值的,它們的初值都賦為0。
頭三個數(shù)組的長度是定義在“ p a r a m . h”中的參數(shù)。因此,任一包含“ s y s t m . h”的文件,
必須在包含“s y s t m . h”之前先包含“p a r a m . h”。
s e g . h,包含幾個定義和一個說明,在引用段寄存器時使用這些定義和說明。此文件實際
上可并入“ p a r a m . h”和“s y s t m . h”中。
p r o c . h〔第7章〕,包含重要的“ p r o c”的說明。p r o c是一個結構類型,也是這種結構類型
的一個數(shù)組。p r o c結構的每一個元素的名字都以“ p -”開始,沒有其他變量是這樣命名的。類
似的慣例用于命名其他結構的各元素。
p r o c結構中頭兩個元素“ p s t a t”和“ p f l a g”的各種相關值都有單獨的名字,它們也在
“p r o c . h”中定義。
u s e r. h〔第7章〕,包含非常重要的“ u s e r”結構的說明,還包含一組與“ u_e r r o r”相關的
定義值。在任一時刻只有一個“ u s e r”結構的實例是可存取的。該實例以名字“ u”引用,它
非常好我支持^.^
(5) 100%
不好我反對
(0) 0%
下載地址
匯編語言源代碼分析下載
相關電子資料下載
- 什么是C語言?單片機有什么特點?為什么要用C語言編程? 318
- KEIL軟件的詳細分析 212
- 看完這篇文章,匯編也不難 323
- 匯編語言基礎知識:基本概念 373
- 火遍童年的FC游戲是使用什么語言編寫的 431
- 匯編語言中常見的兩個指令 296
- 匯編語言的產生 匯編語言的組成 458
- 匯編語言之內存訪問(寄存器) 398
- 為什么要反匯編?反匯編文件的生成和解讀 1425
- Linux內核調試:指令追蹤大法簡析 547