- 小型編譯器設(shè)計實踐
- 蘇孟晉編著
- 546字
- 2024-05-14 10:48:54
第一篇 PIC16Fxxxx編譯器(cc16e.exe)的設(shè)計
有必要說明,本篇所使用的“編譯器”一詞是狹義的概念,只涵蓋將源程序解析并轉(zhuǎn)換至目標(biāo)處理器匯編語言格式文件的過程和工具。而行業(yè)中所謂的“編譯器”通常是廣義的,是指將源程序轉(zhuǎn)換成最終目標(biāo)處理器能運行的二進制格式文件。因此,前者在概念上只是后者的一個子集。盡管如此,將C語言源程序解析并轉(zhuǎn)換至目標(biāo)處理器的過程是最關(guān)鍵、也是最艱難的操作。因為它不僅可以進行高、低級語言之間的轉(zhuǎn)譯,還可以從語言結(jié)構(gòu)上將二維概念的源程序轉(zhuǎn)換成單純的目標(biāo)處理器指令流。
本書選擇加強型PIC16Fxxxx(Enhanced PIC16 core)作為實戰(zhàn)對象,主要基于以下幾個原因。
(1)PIC16F 系列的8位微處理器在全球市場中擁有廣大的用戶。其加強型PIC16Fxxxx約于2009年問世,與基本型PIC16F系列相比,不僅系統(tǒng)結(jié)構(gòu)上有很高的兼容度,性能也有相應(yīng)的提高,并逐漸成為越來越多用戶的選擇。
(2)PIC16Fxxxx 不僅在性能上,而且在結(jié)構(gòu)上均介于PIC16F 系列和PIC18F系列之間。選擇PIC16Fxxxx作為實戰(zhàn)例子有一定的承前啟后的意義。
(3)與基本型PIC16F/PIC18F系列相比,PIC16Fxxxx結(jié)構(gòu)更顯得“規(guī)范”,這對于理解編譯器的設(shè)計會容易一點。
PIC16F/PIC16Fxxxx系列微處理器的結(jié)構(gòu)較為特殊,對于C語言的支持顯得很不友好,這無疑對C語言編譯器的設(shè)計帶來難度和障礙。這大概也是GNU C/C++編譯器至今未能被移植到這些產(chǎn)品系列編譯器上的主要原因。
本篇將詳細(xì)敘述編譯器具體設(shè)計過程。
- 大學(xué)計算機基礎(chǔ)(第二版)
- Kubernetes實戰(zhàn)
- 構(gòu)建移動網(wǎng)站與APP:HTML 5移動開發(fā)入門與實戰(zhàn)(跨平臺移動開發(fā)叢書)
- 深入淺出Spring Boot 2.x
- Amazon S3 Cookbook
- MySQL從入門到精通(軟件開發(fā)視頻大講堂)
- Node.js:來一打 C++ 擴展
- 愛上micro:bit
- SQL 經(jīng)典實例
- 從零開始學(xué)Python網(wǎng)絡(luò)爬蟲
- Go語言入門經(jīng)典
- jQuery Mobile Web Development Essentials(Second Edition)
- C語言程序設(shè)計教程
- Splunk Essentials
- WCF編程(第2版)