Submit Search
Upload
系統程式 -- 第 12 章
•
1 like
•
1,400 views
鍾誠 陳鍾誠
Follow
http://sp1.wikidot.com/
Read less
Read more
Education
Report
Share
Report
Share
1 of 86
Download now
Download to read offline
Recommended
系統程式 -- 第 12 章 系統軟體實作
系統程式 -- 第 12 章 系統軟體實作
鍾誠 陳鍾誠
系統程式 -- 第 8 章 編譯器
系統程式 -- 第 8 章 編譯器
鍾誠 陳鍾誠
系統程式 -- 第 3 章
系統程式 -- 第 3 章
鍾誠 陳鍾誠
系統程式 -- 第 8 章
系統程式 -- 第 8 章
鍾誠 陳鍾誠
系統程式 -- 第 9 章
系統程式 -- 第 9 章
鍾誠 陳鍾誠
系統程式 -- 第 1 章
系統程式 -- 第 1 章
鍾誠 陳鍾誠
系統程式 -- 第 7 章
系統程式 -- 第 7 章
鍾誠 陳鍾誠
系統程式 -- 第 4 章
系統程式 -- 第 4 章
鍾誠 陳鍾誠
Recommended
系統程式 -- 第 12 章 系統軟體實作
系統程式 -- 第 12 章 系統軟體實作
鍾誠 陳鍾誠
系統程式 -- 第 8 章 編譯器
系統程式 -- 第 8 章 編譯器
鍾誠 陳鍾誠
系統程式 -- 第 3 章
系統程式 -- 第 3 章
鍾誠 陳鍾誠
系統程式 -- 第 8 章
系統程式 -- 第 8 章
鍾誠 陳鍾誠
系統程式 -- 第 9 章
系統程式 -- 第 9 章
鍾誠 陳鍾誠
系統程式 -- 第 1 章
系統程式 -- 第 1 章
鍾誠 陳鍾誠
系統程式 -- 第 7 章
系統程式 -- 第 7 章
鍾誠 陳鍾誠
系統程式 -- 第 4 章
系統程式 -- 第 4 章
鍾誠 陳鍾誠
系統程式 -- 第 7 章 高階語言
系統程式 -- 第 7 章 高階語言
鍾誠 陳鍾誠
系統程式 -- 第 2 章
系統程式 -- 第 2 章
鍾誠 陳鍾誠
系統程式 -- 第 11 章 嵌入式系統
系統程式 -- 第 11 章 嵌入式系統
鍾誠 陳鍾誠
系統程式 -- 第 11 章
系統程式 -- 第 11 章
鍾誠 陳鍾誠
系統程式 -- 第 4 章 組譯器
系統程式 -- 第 4 章 組譯器
鍾誠 陳鍾誠
系統程式 -- 第 10 章
系統程式 -- 第 10 章
鍾誠 陳鍾誠
系統程式 -- 第 5 章
系統程式 -- 第 5 章
鍾誠 陳鍾誠
系統程式 -- 第 1 章 系統軟體
系統程式 -- 第 1 章 系統軟體
鍾誠 陳鍾誠
系統程式 -- 附錄
系統程式 -- 附錄
鍾誠 陳鍾誠
系統程式 -- 第 3 章 組合語言
系統程式 -- 第 3 章 組合語言
鍾誠 陳鍾誠
系統程式 -- 前言
系統程式 -- 前言
鍾誠 陳鍾誠
系統程式 - 第二章
系統程式 - 第二章
鍾誠 陳鍾誠
系統程式 -- 第 6 章 巨集處理器
系統程式 -- 第 6 章 巨集處理器
鍾誠 陳鍾誠
系統程式 -- 第 6 章
系統程式 -- 第 6 章
鍾誠 陳鍾誠
系統程式 -- 第 10 章 作業系統
系統程式 -- 第 10 章 作業系統
鍾誠 陳鍾誠
系統程式 -- 第 5 章 連結與載入
系統程式 -- 第 5 章 連結與載入
鍾誠 陳鍾誠
系統程式 -- 為何撰寫此書
系統程式 -- 為何撰寫此書
鍾誠 陳鍾誠
系統程式 -- 第 9 章 虛擬機器
系統程式 -- 第 9 章 虛擬機器
鍾誠 陳鍾誠
系統程式 - 附錄
系統程式 - 附錄
鍾誠 陳鍾誠
系統程式 -- 第 0 章
系統程式 -- 第 0 章
鍾誠 陳鍾誠
十分鐘讓程式人搞懂雲端平台與技術
十分鐘讓程式人搞懂雲端平台與技術
鍾誠 陳鍾誠
用十分鐘將你的網站送上雲端
用十分鐘將你的網站送上雲端
鍾誠 陳鍾誠
More Related Content
What's hot
系統程式 -- 第 7 章 高階語言
系統程式 -- 第 7 章 高階語言
鍾誠 陳鍾誠
系統程式 -- 第 2 章
系統程式 -- 第 2 章
鍾誠 陳鍾誠
系統程式 -- 第 11 章 嵌入式系統
系統程式 -- 第 11 章 嵌入式系統
鍾誠 陳鍾誠
系統程式 -- 第 11 章
系統程式 -- 第 11 章
鍾誠 陳鍾誠
系統程式 -- 第 4 章 組譯器
系統程式 -- 第 4 章 組譯器
鍾誠 陳鍾誠
系統程式 -- 第 10 章
系統程式 -- 第 10 章
鍾誠 陳鍾誠
系統程式 -- 第 5 章
系統程式 -- 第 5 章
鍾誠 陳鍾誠
系統程式 -- 第 1 章 系統軟體
系統程式 -- 第 1 章 系統軟體
鍾誠 陳鍾誠
系統程式 -- 附錄
系統程式 -- 附錄
鍾誠 陳鍾誠
系統程式 -- 第 3 章 組合語言
系統程式 -- 第 3 章 組合語言
鍾誠 陳鍾誠
系統程式 -- 前言
系統程式 -- 前言
鍾誠 陳鍾誠
系統程式 - 第二章
系統程式 - 第二章
鍾誠 陳鍾誠
系統程式 -- 第 6 章 巨集處理器
系統程式 -- 第 6 章 巨集處理器
鍾誠 陳鍾誠
系統程式 -- 第 6 章
系統程式 -- 第 6 章
鍾誠 陳鍾誠
系統程式 -- 第 10 章 作業系統
系統程式 -- 第 10 章 作業系統
鍾誠 陳鍾誠
系統程式 -- 第 5 章 連結與載入
系統程式 -- 第 5 章 連結與載入
鍾誠 陳鍾誠
系統程式 -- 為何撰寫此書
系統程式 -- 為何撰寫此書
鍾誠 陳鍾誠
系統程式 -- 第 9 章 虛擬機器
系統程式 -- 第 9 章 虛擬機器
鍾誠 陳鍾誠
系統程式 - 附錄
系統程式 - 附錄
鍾誠 陳鍾誠
系統程式 -- 第 0 章
系統程式 -- 第 0 章
鍾誠 陳鍾誠
What's hot
(20)
系統程式 -- 第 7 章 高階語言
系統程式 -- 第 7 章 高階語言
系統程式 -- 第 2 章
系統程式 -- 第 2 章
系統程式 -- 第 11 章 嵌入式系統
系統程式 -- 第 11 章 嵌入式系統
系統程式 -- 第 11 章
系統程式 -- 第 11 章
系統程式 -- 第 4 章 組譯器
系統程式 -- 第 4 章 組譯器
系統程式 -- 第 10 章
系統程式 -- 第 10 章
系統程式 -- 第 5 章
系統程式 -- 第 5 章
系統程式 -- 第 1 章 系統軟體
系統程式 -- 第 1 章 系統軟體
系統程式 -- 附錄
系統程式 -- 附錄
系統程式 -- 第 3 章 組合語言
系統程式 -- 第 3 章 組合語言
系統程式 -- 前言
系統程式 -- 前言
系統程式 - 第二章
系統程式 - 第二章
系統程式 -- 第 6 章 巨集處理器
系統程式 -- 第 6 章 巨集處理器
系統程式 -- 第 6 章
系統程式 -- 第 6 章
系統程式 -- 第 10 章 作業系統
系統程式 -- 第 10 章 作業系統
系統程式 -- 第 5 章 連結與載入
系統程式 -- 第 5 章 連結與載入
系統程式 -- 為何撰寫此書
系統程式 -- 為何撰寫此書
系統程式 -- 第 9 章 虛擬機器
系統程式 -- 第 9 章 虛擬機器
系統程式 - 附錄
系統程式 - 附錄
系統程式 -- 第 0 章
系統程式 -- 第 0 章
Viewers also liked
十分鐘讓程式人搞懂雲端平台與技術
十分鐘讓程式人搞懂雲端平台與技術
鍾誠 陳鍾誠
用十分鐘將你的網站送上雲端
用十分鐘將你的網站送上雲端
鍾誠 陳鍾誠
系統程式 -- 附錄
系統程式 -- 附錄
鍾誠 陳鍾誠
《計算機結構與作業系統裏》-- 資工系學生們經常搞錯的那些事兒!
《計算機結構與作業系統裏》-- 資工系學生們經常搞錯的那些事兒!
鍾誠 陳鍾誠
用十分鐘搞懂《離散數學》
用十分鐘搞懂《離散數學》
鍾誠 陳鍾誠
用JavaScript 實踐《軟體工程》的那些事兒!
用JavaScript 實踐《軟體工程》的那些事兒!
鍾誠 陳鍾誠
用十分鐘搞懂 《資管、資工、電子、電機、機械》 這些科系到底在學些甚麼?
用十分鐘搞懂 《資管、資工、電子、電機、機械》 這些科系到底在學些甚麼?
鍾誠 陳鍾誠
人造交談語言 (使用有BNF的口語透過機器翻譯和外國人溝通)
人造交談語言 (使用有BNF的口語透過機器翻譯和外國人溝通)
鍾誠 陳鍾誠
用十分鐘學會 《微積分、工程數學》及其應用
用十分鐘學會 《微積分、工程數學》及其應用
鍾誠 陳鍾誠
用十分鐘 向jserv學習作業系統設計
用十分鐘 向jserv學習作業系統設計
鍾誠 陳鍾誠
FastData 快速的人文資料庫撰寫方式
FastData 快速的人文資料庫撰寫方式
鍾誠 陳鍾誠
用十分鐘 學會《資料結構、演算法和計算理論》
用十分鐘 學會《資料結構、演算法和計算理論》
鍾誠 陳鍾誠
用十分鐘瞭解《線性代數、向量微積分》以及電磁學理論
用十分鐘瞭解《線性代數、向量微積分》以及電磁學理論
鍾誠 陳鍾誠
用十分鐘瞭解JavaScript的模組 -- 《還有關於npm套件管理的那些事情》
用十分鐘瞭解JavaScript的模組 -- 《還有關於npm套件管理的那些事情》
鍾誠 陳鍾誠
用十分鐘決定要不要念大學《資訊工程系》
用十分鐘決定要不要念大學《資訊工程系》
鍾誠 陳鍾誠
用十分鐘開始理解深度學習技術 (從 dnn.js 專案出發)
用十分鐘開始理解深度學習技術 (從 dnn.js 專案出發)
鍾誠 陳鍾誠
用十分鐘瞭解《如何避免寫出悲劇的 C 語言》
用十分鐘瞭解《如何避免寫出悲劇的 C 語言》
鍾誠 陳鍾誠
Viewers also liked
(17)
十分鐘讓程式人搞懂雲端平台與技術
十分鐘讓程式人搞懂雲端平台與技術
用十分鐘將你的網站送上雲端
用十分鐘將你的網站送上雲端
系統程式 -- 附錄
系統程式 -- 附錄
《計算機結構與作業系統裏》-- 資工系學生們經常搞錯的那些事兒!
《計算機結構與作業系統裏》-- 資工系學生們經常搞錯的那些事兒!
用十分鐘搞懂《離散數學》
用十分鐘搞懂《離散數學》
用JavaScript 實踐《軟體工程》的那些事兒!
用JavaScript 實踐《軟體工程》的那些事兒!
用十分鐘搞懂 《資管、資工、電子、電機、機械》 這些科系到底在學些甚麼?
用十分鐘搞懂 《資管、資工、電子、電機、機械》 這些科系到底在學些甚麼?
人造交談語言 (使用有BNF的口語透過機器翻譯和外國人溝通)
人造交談語言 (使用有BNF的口語透過機器翻譯和外國人溝通)
用十分鐘學會 《微積分、工程數學》及其應用
用十分鐘學會 《微積分、工程數學》及其應用
用十分鐘 向jserv學習作業系統設計
用十分鐘 向jserv學習作業系統設計
FastData 快速的人文資料庫撰寫方式
FastData 快速的人文資料庫撰寫方式
用十分鐘 學會《資料結構、演算法和計算理論》
用十分鐘 學會《資料結構、演算法和計算理論》
用十分鐘瞭解《線性代數、向量微積分》以及電磁學理論
用十分鐘瞭解《線性代數、向量微積分》以及電磁學理論
用十分鐘瞭解JavaScript的模組 -- 《還有關於npm套件管理的那些事情》
用十分鐘瞭解JavaScript的模組 -- 《還有關於npm套件管理的那些事情》
用十分鐘決定要不要念大學《資訊工程系》
用十分鐘決定要不要念大學《資訊工程系》
用十分鐘開始理解深度學習技術 (從 dnn.js 專案出發)
用十分鐘開始理解深度學習技術 (從 dnn.js 專案出發)
用十分鐘瞭解《如何避免寫出悲劇的 C 語言》
用十分鐘瞭解《如何避免寫出悲劇的 C 語言》
Similar to 系統程式 -- 第 12 章
Api Code Pack For Net Framework
Api Code Pack For Net Framework
Chui-Wen Chiu
部門會議 950619 Leon的錦囊妙計
部門會議 950619 Leon的錦囊妙計
Leon Chuang
Java SE 7 技術手冊 - 課後練習解答
Java SE 7 技術手冊 - 課後練習解答
Justin Lin
C++工程实践
C++工程实践
Shuo Chen
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Gelis Wu
Hadoop Map Reduce 程式設計
Hadoop Map Reduce 程式設計
Wei-Yu Chen
软件工程
软件工程
bill0077
Hcsm lect-20120913
Hcsm lect-20120913
lusecheng
Baidu LSP and DISQL for Log Analysis
Baidu LSP and DISQL for Log Analysis
Xiaoming Chen
Introduction To Direct Show
Introduction To Direct Show
guestce3937
Introduction To Direct Show
Introduction To Direct Show
guestce3937
DISQL 2.0: Language for Big Data Analysis Widely Adopted in Baidu
DISQL 2.0: Language for Big Data Analysis Widely Adopted in Baidu
Xiaoming Chen
Jobforcompal
Jobforcompal
Chiwei Tseng
LLVM introduction
LLVM introduction
National Cheng Kung University
Glider
Glider
windyrobin
C+
C+
LohasBicycle
C#
C#
LohasBicycle
手机之家的数据访问层实践
手机之家的数据访问层实践
guestf5121c
手机之家的数据访问层实践
手机之家的数据访问层实践
xcq
Windows 8 apps dev.整理及分享
Windows 8 apps dev.整理及分享
Liyao Chen
Similar to 系統程式 -- 第 12 章
(20)
Api Code Pack For Net Framework
Api Code Pack For Net Framework
部門會議 950619 Leon的錦囊妙計
部門會議 950619 Leon的錦囊妙計
Java SE 7 技術手冊 - 課後練習解答
Java SE 7 技術手冊 - 課後練習解答
C++工程实践
C++工程实践
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Hadoop Map Reduce 程式設計
Hadoop Map Reduce 程式設計
软件工程
软件工程
Hcsm lect-20120913
Hcsm lect-20120913
Baidu LSP and DISQL for Log Analysis
Baidu LSP and DISQL for Log Analysis
Introduction To Direct Show
Introduction To Direct Show
Introduction To Direct Show
Introduction To Direct Show
DISQL 2.0: Language for Big Data Analysis Widely Adopted in Baidu
DISQL 2.0: Language for Big Data Analysis Widely Adopted in Baidu
Jobforcompal
Jobforcompal
LLVM introduction
LLVM introduction
Glider
Glider
C+
C+
C#
C#
手机之家的数据访问层实践
手机之家的数据访问层实践
手机之家的数据访问层实践
手机之家的数据访问层实践
Windows 8 apps dev.整理及分享
Windows 8 apps dev.整理及分享
More from 鍾誠 陳鍾誠
用十分鐘瞭解 新竹科學園區的發展史
用十分鐘瞭解 新竹科學園區的發展史
鍾誠 陳鍾誠
用十分鐘搞懂 λ-Calculus
用十分鐘搞懂 λ-Calculus
鍾誠 陳鍾誠
交⼤資訊⼯程學系備審資料 ⾱詠祥
交⼤資訊⼯程學系備審資料 ⾱詠祥
鍾誠 陳鍾誠
smallpt: Global Illumination in 99 lines of C++
smallpt: Global Illumination in 99 lines of C++
鍾誠 陳鍾誠
西洋史 (你或許不知道但卻影響現代教育的那些事)
西洋史 (你或許不知道但卻影響現代教育的那些事)
鍾誠 陳鍾誠
區塊鏈 (比特幣背後的關鍵技術) -- 十分鐘系列
區塊鏈 (比特幣背後的關鍵技術) -- 十分鐘系列
鍾誠 陳鍾誠
區塊鏈 (比特幣背後的關鍵技術) -- 十分鐘系列
區塊鏈 (比特幣背後的關鍵技術) -- 十分鐘系列
鍾誠 陳鍾誠
梯度下降法 (隱藏在深度學習背後的演算法) -- 十分鐘系列
梯度下降法 (隱藏在深度學習背後的演算法) -- 十分鐘系列
鍾誠 陳鍾誠
用十分鐘理解 《微分方程》
用十分鐘理解 《微分方程》
鍾誠 陳鍾誠
nand2tetris 舊版投影片 -- 第五章 計算機結構
nand2tetris 舊版投影片 -- 第五章 計算機結構
鍾誠 陳鍾誠
nand2tetris 舊版投影片 -- 第四章 機器語言
nand2tetris 舊版投影片 -- 第四章 機器語言
鍾誠 陳鍾誠
nand2tetris 舊版投影片 -- 第三章 循序邏輯
nand2tetris 舊版投影片 -- 第三章 循序邏輯
鍾誠 陳鍾誠
nand2tetris 舊版投影片 -- 第二章 布林算術
nand2tetris 舊版投影片 -- 第二章 布林算術
鍾誠 陳鍾誠
nand2tetris 舊版投影片 -- 第一章 布林邏輯
nand2tetris 舊版投影片 -- 第一章 布林邏輯
鍾誠 陳鍾誠
Boolean arithmetic
Boolean arithmetic
鍾誠 陳鍾誠
Introduction
Introduction
鍾誠 陳鍾誠
More from 鍾誠 陳鍾誠
(16)
用十分鐘瞭解 新竹科學園區的發展史
用十分鐘瞭解 新竹科學園區的發展史
用十分鐘搞懂 λ-Calculus
用十分鐘搞懂 λ-Calculus
交⼤資訊⼯程學系備審資料 ⾱詠祥
交⼤資訊⼯程學系備審資料 ⾱詠祥
smallpt: Global Illumination in 99 lines of C++
smallpt: Global Illumination in 99 lines of C++
西洋史 (你或許不知道但卻影響現代教育的那些事)
西洋史 (你或許不知道但卻影響現代教育的那些事)
區塊鏈 (比特幣背後的關鍵技術) -- 十分鐘系列
區塊鏈 (比特幣背後的關鍵技術) -- 十分鐘系列
區塊鏈 (比特幣背後的關鍵技術) -- 十分鐘系列
區塊鏈 (比特幣背後的關鍵技術) -- 十分鐘系列
梯度下降法 (隱藏在深度學習背後的演算法) -- 十分鐘系列
梯度下降法 (隱藏在深度學習背後的演算法) -- 十分鐘系列
用十分鐘理解 《微分方程》
用十分鐘理解 《微分方程》
nand2tetris 舊版投影片 -- 第五章 計算機結構
nand2tetris 舊版投影片 -- 第五章 計算機結構
nand2tetris 舊版投影片 -- 第四章 機器語言
nand2tetris 舊版投影片 -- 第四章 機器語言
nand2tetris 舊版投影片 -- 第三章 循序邏輯
nand2tetris 舊版投影片 -- 第三章 循序邏輯
nand2tetris 舊版投影片 -- 第二章 布林算術
nand2tetris 舊版投影片 -- 第二章 布林算術
nand2tetris 舊版投影片 -- 第一章 布林邏輯
nand2tetris 舊版投影片 -- 第一章 布林邏輯
Boolean arithmetic
Boolean arithmetic
Introduction
Introduction
Recently uploaded
我了解到黑客在某些领域拥有卓越的技术能力,特别是在处理系统漏洞方面。在当前的情境下,如果我想要改变我的毕业成绩,他们的帮助或许是我唯一可行的选择。【微 t...
我了解到黑客在某些领域拥有卓越的技术能力,特别是在处理系统漏洞方面。在当前的情境下,如果我想要改变我的毕业成绩,他们的帮助或许是我唯一可行的选择。【微 t...
黑客 接单【TG/微信qoqoqdqd】
加急代办一个日本鹿儿岛纯心女子大学学位记🌈学习成绩单电子版定制🌈仿制荷兰大学毕业证🌈日语JLPT证书定制
加急代办一个日本鹿儿岛纯心女子大学学位记🌈学习成绩单电子版定制🌈仿制荷兰大学毕业证🌈日语JLPT证书定制
bairnshajjes
澳洲圣母大学毕业证制作/加拿大硕士学历代办/购买一个假的中央警察大学硕士学位证书
澳洲圣母大学毕业证制作/加拿大硕士学历代办/购买一个假的中央警察大学硕士学位证书
kathrynalvarez364
哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制
哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制
kathrynalvarez364
布莱德福德大学毕业证制作/英国本科学历如何认证/购买一个假的香港中文大学专业进修学院硕士学位证书
布莱德福德大学毕业证制作/英国本科学历如何认证/购买一个假的香港中文大学专业进修学院硕士学位证书
kathrynalvarez364
日本九州齿科大学毕业证制作🚩定制本科卒业证书🚩哪里可以购买假美国西南基督复临安息日会大学成绩单
日本九州齿科大学毕业证制作🚩定制本科卒业证书🚩哪里可以购买假美国西南基督复临安息日会大学成绩单
jakepaige317
Recently uploaded
(6)
我了解到黑客在某些领域拥有卓越的技术能力,特别是在处理系统漏洞方面。在当前的情境下,如果我想要改变我的毕业成绩,他们的帮助或许是我唯一可行的选择。【微 t...
我了解到黑客在某些领域拥有卓越的技术能力,特别是在处理系统漏洞方面。在当前的情境下,如果我想要改变我的毕业成绩,他们的帮助或许是我唯一可行的选择。【微 t...
加急代办一个日本鹿儿岛纯心女子大学学位记🌈学习成绩单电子版定制🌈仿制荷兰大学毕业证🌈日语JLPT证书定制
加急代办一个日本鹿儿岛纯心女子大学学位记🌈学习成绩单电子版定制🌈仿制荷兰大学毕业证🌈日语JLPT证书定制
澳洲圣母大学毕业证制作/加拿大硕士学历代办/购买一个假的中央警察大学硕士学位证书
澳洲圣母大学毕业证制作/加拿大硕士学历代办/购买一个假的中央警察大学硕士学位证书
哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制
哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制
布莱德福德大学毕业证制作/英国本科学历如何认证/购买一个假的香港中文大学专业进修学院硕士学位证书
布莱德福德大学毕业证制作/英国本科学历如何认证/购买一个假的香港中文大学专业进修学院硕士学位证书
日本九州齿科大学毕业证制作🚩定制本科卒业证书🚩哪里可以购买假美国西南基督复临安息日会大学成绩单
日本九州齿科大学毕业证制作🚩定制本科卒业证书🚩哪里可以购买假美国西南基督复临安息日会大学成绩单
系統程式 -- 第 12 章
1.
第 12 章、系統軟體實作 作者:陳鍾誠 旗標出版社
2.
第 12 章、系統軟體實作
12.1 簡介 12.2 組譯器實作 12.3 虛擬機實作 12.4 剖析器實作 12.5 編譯器實作 12.6 整合測試
3.
12.1 簡介 C
語言實作 動態陣列 + 雜湊表格 (12.1 節) 組譯器 (12.2 節) 虛擬機器 (12.3 節) 剖析器 (12.4 節) 編譯器 (12.5 節) 目的 展示系統軟體的實作方法與技巧 讓讀者熟悉系統軟體的原理 培養開發系統軟體的能力 以實作印證理論, 以理論支持實作
4.
實作程式列表
5.
動態陣列 實作目的 標準
C 語言函式庫當中缺乏一些基本資料結構的相 關函數, 因此我們必須先設計出這些資料結構, 像是 動態陣列 (Array)、雜湊表 (Hash Table) 等 以便在後續的組譯器、虛擬機、剖析器與編譯器中, 可以很容易的利用這些結構存放像符號表、指令表、 詞彙串列、剖析樹等資料。
6.
動態陣列的資料結構與函數
7.
動態陣列新增 – ArrayAdd()
8.
動態陣列的使用
9.
動態陣列的測試結果
10.
動態陣列的列舉 - ArrayEach()
11.
雜湊表 實作目的 標準
C 語言函式庫當中缺乏一些基本資料結構的相 關函數, 因此我們必須先設計出這些資料結構, 像是 動態陣列 (Array)、雜湊表 (Hash Table) 等 以便在後續的組譯器、虛擬機、剖析器與編譯器中, 可以很容易的利用這些結構存放像符號表、指令表、 詞彙串列、剖析樹等資料。
12.
雜湊表的資料結構與函數
13.
雜湊函數的實作 將字串 key
中的每個位元組相加後, 對雜湊表的大小取 餘數後的結果 這個方法雖然不是很好的雜湊函數,但是簡單卻足夠了。
14.
雜湊表:取得對應鍵值的元素 - HashTableGet(table, key)
15.
雜湊表:放入鍵值與元素 - HashTablePut(table, key,
data)
16.
12.2 組譯器實作 撰寫一個簡單的
CPU0 組譯器 – as0 印證組譯器的理論 學習組譯器的實作方式 使用方式 as0 <asmFile> <objFile>
17.
組譯範例:as0 ArraySum.asm0 ArraySum.obj0
18.
組譯器的資料結構
19.
組譯器的函數
20.
組譯器的主要函數 – assemble(asmFile, objFile)
21.
組譯器的第一階段 (計算符號位址)
22.
計算指令大小 – AsmCodeSize()
23.
組譯器的第2階段
24.
指令轉機器碼 (J 型指令)
25.
指令轉機器碼 (A 型指令)
26.
資料轉二進位碼
27.
12.3 虛擬機實作 當我們用
as0 組譯出了目的碼之後, 這個目的碼仍 然無法被執行 這是因為筆者所使用的處理器並不是 CPU0, 而是 Intel 的 IA32 CPU 為核心的電腦。 為了讓讀者能執行 CPU0 的目的碼, 筆者只好繼續 撰寫一個虛擬機器 vm0 以便讓讀者執行 as0 所組譯出的目的碼, 本節將描 述 vm0 的使用方式與設計原理。
28.
虛擬機的執行 vm0 ArraySum.obj0
29.
執行後的傾印
30.
虛擬機的資料結構與函數
31.
虛擬機的最上層函數 – runObjFile(objFile)
32.
虛擬機使用的位元操作函數
33.
定義暫存器別名
34.
虛擬機的主要函數 – Cpu0Run()
35.
Cpu0Run() - 指令擷取階段
36.
Cpu0Run() – 解碼階段
37.
Cpu0Run() – 執行階段
(載入指令)
38.
Cpu0Run() – 執行階段
(運算指令)
39.
Cpu0Run() – 執行階段
(跳躍指令)
40.
Cpu0Run() – 執行階段
(結尾)
41.
虛擬機:傾印暫存器 - Cpu0Dump()
42.
12.4 剖析器實作 C0
語言的剖析器 (Parser) 是編譯器與直譯器中的關鍵程式 作為 c0c 編譯器的語法剖析程式 會呼叫詞彙掃描器 Scanner 取的詞彙
43.
掃描器 詞彙掃描器 Scanner
是一個較為簡單的物件 用來取得下一個詞彙 (token) 提供剖析器呼叫使用
44.
掃描器的使用方法
45.
掃描器的資料結構
46.
判斷詞彙的型態 – tokenToType(token)
47.
掃 描 器 的 主 要 函 數
48.
剖析器 Parser.h 剖析器的資料結構與函數宣告
Parser.c 剖析器的程式實作
49.
剖析器的資料結構與函數
50.
剖析器的最上層函數 parse()
51.
遞迴下降剖析法
52.
剖析 for 迴圈語法
53.
剖析器中的 next() 函數
54.
剖析器中的 push(), pop()
函數
55.
圖 12.1 遞迴下降剖析器的執行過程 PROG BaseList PROG BaseList BASE STMT 成 長 方 向 堆疊
(Stack) BASE STMT i : id = 0:number EXP ITEM EXP ITEM FOR FOR (for BASE …
56.
12.5 編譯器實作 c0c
編譯器 輸入:C0 語法的程式 輸出:CPU0 的組合語言 執行方法 c0c <c0File> <asmFile>
57.
編 譯 的 範 例
58.
編譯器的最上層函數 範例 12.24
的 compile(cFile, asmFile) 剖析器:parse(cText) 程式產生器: generate(parser->tree, asmFile)
59.
程式碼產生器的最上層函數
60.
程式碼產生器的資料結構與函數
61.
程式碼產生器 GenCode() –
開頭
62.
GenCode() – 處理
FOR
63.
GenCode() – 處理
STMT
64.
GenCode() – 處理
COND
65.
GenCode() – 處理
EXP
66.
GenCode() – 結尾
67.
輸出中間碼 P-Code
68.
P-Code 轉為組合語言 (前半段)
69.
P-Code 轉為組合語言 (後半段)
70.
輸出組合語言
71.
12.6 整合測試 單一主程式,
以條件編譯的方式 編譯出 test, c0c, as0, vm0 等四個執行檔 方法是利用 C 語言的巨集編譯指令 #if … #elif…#endif
72.
整個系統的主程式 (前半段)
73.
整個系統的主程式 (後半段)
74.
專案建置檔 makefile (第1部分)
75.
專案建置檔 makefile (第2部分)
76.
專案建置檔 makefile (第3部分)
77.
建置執行過程 (1)
78.
執行:編譯器 (剖析)
79.
執行:編譯器 (中間碼產生)
80.
執行:編譯器 (產生組合語言)
81.
執行:組譯器 (第1階段:計算符號位址)
82.
執行:組譯器 (第2階段:指令轉機器碼)
83.
執行:組譯器 (輸出:目的碼)
84.
執 行 : 虛 擬 機
85.
結語 系統軟體實作 本章以
C 語言實作了 動態陣列 雜湊表 編譯器 c0c test.c0 test.asm0 組譯器 as0 test.asm0 test.obj0 虛擬機 vm0 test.obj0
86.
習題 12.1 請撰寫一個
C0 語言的程式 fib.c0, 可以利用 for 迴圈的方式算出費氏序列 中的 f(10) 的值, 費氏序列的規則為 f(n) = f(n-1)+f(n-2), 而且 f(0) = 1, f(1)=1。 12.2 請利用 c0c 編譯器, 將 fib.c0 編譯為組合語言 fib.asm0。 12.3 請利用 as0 組譯器, 將 fib.asm0 組譯為目的檔 fib.obj0。 12.4 請利用 vm0 虛擬機, 執行 fib.obj0, 並檢查看看 f(10) 的結果是否正確。 12.5 請為 C0 語言加上 if 條件的規則為 IF = ‘if’ ‘(’ COND ‘)’ BLOCK (‘ elseif’ BLOCK)* (else BLOCK)?, 然後修改本章的剖析器程式, 加入可以處理該規則的 程式。 12.6 繼續前一題, 請修改本章的程式碼產生器程式, 以產生上述的 if 規則之程 式。
Download now