SlideShare a Scribd company logo
1 of 95
Download to read offline
系統程式
( 習題: Nand2tetris 軟體部分 )
陳鍾誠
2018 年 3 月 27 日
本文衍生自 nand2tetris 課程
– http://www.nand2tetris.org/
Nand2tetris
● 是一門超棒的神級課程 ...
最棒的一點
● 不是老師教得多好
● 而是習題的安排非常巧妙!
讓學習者
● 可以從硬體到軟體 …
● 按步就班設計出
– ALU 、 Register 、 CPU
– Assembler 、 VM 、 Compiler 、 OS
硬體部分的習題
● 請看前情提要!
https://www.slideshare.net/ccckmit/20-nand2tetris
https://www.slideshare.net/ccckmit/nand2tetris-79925285
現在是系統程式課程
● 我們要學習的是軟體部分 ...
軟體部分的核心
● 是一個稱為 Jack 語言的編譯器
我們需要撰寫下列程式
● 編譯器 : Jack 轉 VM
● 虛擬機 : VM 轉 ASM
● 組譯器 : ASM 轉 Binary
然後
● 用高階語言 Jack 寫一個作業系統
● 接著放一個 tetris 遊戲在上面跑
整體架構
硬體部分 - 計算機結構
軟體部分 - 系統程式
高階語言
剖析 Parse
遞迴下降剖析法
高階語言 Jack
Jack 是類似 Java 的物件導向語言
只是語法設計更精簡
更容易實作與理解而已!
以下是 Jack 所支援的基礎資料型態
Jack 的變數種類
Jack 的程式結構
JackOS 所支援的函式庫
Jack 的語法 (1)
Jack 的語法 (2)
您必須寫出 Jack Compiler
在這之前
● 您必須先學習一下 Jack 語言
先看看老師給的範例
https://github.com/cccnqu/sp106b/blob/master/exercise/09/HelloWorld/Main.jack
像是輸入一堆數字後計算總和
https://github.com/cccnqu/sp106b/blob/master/exercise/09/Average/Main.jack
定義有理數 x/y 物件
https://github.com/cccnqu/sp106b/blob/master/exercise/09/Fraction/Fraction.jack
定義鏈結串列
甚至寫一個方塊移動程式等等
您可以隨便寫幾個習題
● 先學會如何用 Jack 語言寫程式
● 還有開發工具如何使用等等 ...
接著、就輪到你了
● 你必須寫出自己的 Jack 編譯器
或許在寫編譯器之前
● 你可以先學學如何寫
–《組譯器》還有《虛擬機》
因為這兩個比較簡單一點
寫完組譯器
● 還有虛擬機之後
● 再回到編譯器來
寫編譯器的時候
● 第一步是寫 Tokenizer
● 也就是《詞彙掃描器》
( 又稱 Lexer 或 Scanner)
Tokenizer 的功能如下
寫完後請檢驗一下
● 輸出的 xml 檔
是否正確
然後用遞迴下降法寫 parser
像是這樣
寫完 parser 之後
● 加上目的碼 (.vm) 產生的部分,
就完成了一個編譯器!
目的碼產生的動作
● 可以直接嵌入在 parse 的過程當中
https://github.com/cccnqu/sp106b/blob/master/more/nand2tetris/11/compiler.js
你的 Jack 編譯器
● 應該產生副檔名為 .vm
的虛擬機組合語言
像是這樣
Nand2tetris 裡的虛擬機
● 是一種《堆疊機》
● 類似 Java 的 JVM 與微軟 .NET 的 CLR 的架構
以下是虛擬堆疊機的組合語言
還有更完整的範例
該堆疊機的指令集相當精簡
而且老師提供了模擬器
可以讓您試玩看看
和一般 CPU 不同的部分
● 除了堆疊架構之外,就是分了很多段落,各有不同用途
學會堆疊機程式寫法後
● 您必須寫程式把堆疊機的指令
轉換成 HackCPU 的組合語言
● 這樣才能銜接上硬體部分
設計的處理器
以下是簡單的範例
虛擬機組合語言
真實機 HackCPU 組合語言
https://github.com/cccnqu/sp106b/blob/master/more/nand2tetris/07/SimpleAdd.vm
更複雜的範例,翻譯起來會很長
您必須處理
● 函數、分支、算術、布林等結構
其中函數呼叫時的堆疊處理比較複雜
必須在堆疊中放置以下資訊
● 返回點 returnAddress
● 參數 ARG
● 區域變數 LCL
● 指標 THIS,THAT
call 呼叫的前置處理
function 定義的區域變數分配
return 返回前的堆疊還原
有了以上堆疊結構
● 才能正確地進行函數呼叫並返回
● 還有正確地進行《遞迴型的函數呼叫》
然後在整個系統的進入點
● 會有堆疊初始化後呼叫主程式的動作
您可以參考我的實作解答
https://github.com/cccnqu/sp106b/tree/master/more/nand2tetris/07
https://github.com/cccnqu/sp106b/tree/master/more/nand2tetris/08
有了這樣的虛擬機器
● 就可以把任何高階語言轉換成虛擬機中間碼
● 也可以把中間碼轉換成各個真實機器的組合語言
這種中介特性
● 就是虛擬機主要扮演的角色
然後
● 當您將高階語言 *.jack 翻譯為 *.vm
● 再將 *.vm 翻譯為 *.asm 組合語言之後
● 還需要翻譯 *.asm 為二進位的機器碼
這樣才能在硬體部分設計的 HackCPU 上
執行。
所以我們還需要撰寫組譯器
● 將組合語言翻譯成機器碼
組合語言 機器碼
組譯器的動作比較簡單
● 主要是把指令翻譯成二進位
翻譯時必須分別處理各種指令格式
A 型指令的處理比較簡單
C 型指令的處理比較複雜
但是記得要正確處理符號的位址
這樣一步一步做下來
● 就會寫出整套編譯器工具鏈了
也就是《編譯器 + 虛擬機 + 組譯器》了
最後
● 銜接上第 12 章用 Jack 語言寫的作業系
統 JackOS 之後
● 我們就完成 nand2tetris 的所有習題了
但是
● 作業系統又是另一個大傢伙
● 想要完成還得經過一翻艱苦的奮戰
而且
● 金大資工系有另一門課
● 專門教作業系統 ...
所以我就不要求各位
● 要去寫第 12 章的習題了!
但是雖然不用寫
看得懂程式碼
● 並理解背後的原理
還是很重要的!
所以請各位同學
● 去看看 12 章的解答 ...
像是 Havivha 的版本
就是很好的參考範例
● 我們可以看看其運作原理
像是鍵盤 keyboard
螢幕 Screen
字元輸出 Output
陣列 Array
記憶體 Memory
字串 String
數學 Math
作業系統 Sys
這樣
● 我們就把所有習題都寫完
● 沒自己寫的也看完了 ...
於是
● 你可以拿老師已經寫好的《打磚塊遊戲》
在自己設計的電腦上打電動了 …
必須注意的是
● 這門課的精華在習題 ...
● 只有透過實作,才能深入的理解
《系統軟體》的各項細節 ...
也才不會
● 空有理論、而沒有實務了 ...
It's your turn
● Do it yourself
● You can make it !

More Related Content

What's hot

用十分鐘搞懂 λ-Calculus
用十分鐘搞懂 λ-Calculus用十分鐘搞懂 λ-Calculus
用十分鐘搞懂 λ-Calculus鍾誠 陳鍾誠
 
用十分鐘瞭解陳鍾誠的 《課程、教材與學習方法》
用十分鐘瞭解陳鍾誠的  《課程、教材與學習方法》用十分鐘瞭解陳鍾誠的  《課程、教材與學習方法》
用十分鐘瞭解陳鍾誠的 《課程、教材與學習方法》鍾誠 陳鍾誠
 
區塊鏈 (比特幣背後的關鍵技術) -- 十分鐘系列
區塊鏈  (比特幣背後的關鍵技術)   -- 十分鐘系列區塊鏈  (比特幣背後的關鍵技術)   -- 十分鐘系列
區塊鏈 (比特幣背後的關鍵技術) -- 十分鐘系列鍾誠 陳鍾誠
 
用十分鐘快速掌握《數學的整體結構》
用十分鐘快速掌握《數學的整體結構》用十分鐘快速掌握《數學的整體結構》
用十分鐘快速掌握《數學的整體結構》鍾誠 陳鍾誠
 
用十分鐘瞭解 新竹科學園區的發展史
用十分鐘瞭解  新竹科學園區的發展史用十分鐘瞭解  新竹科學園區的發展史
用十分鐘瞭解 新竹科學園區的發展史鍾誠 陳鍾誠
 
最佳化問題的公理化方法
最佳化問題的公理化方法最佳化問題的公理化方法
最佳化問題的公理化方法鍾誠 陳鍾誠
 
對程式人有用的《幾何學》
對程式人有用的《幾何學》對程式人有用的《幾何學》
對程式人有用的《幾何學》鍾誠 陳鍾誠
 
怎樣才算是一個合格的資工系畢業生
怎樣才算是一個合格的資工系畢業生怎樣才算是一個合格的資工系畢業生
怎樣才算是一個合格的資工系畢業生鍾誠 陳鍾誠
 
區塊鏈 (比特幣背後的關鍵技術) -- 十分鐘系列
區塊鏈  (比特幣背後的關鍵技術)   -- 十分鐘系列區塊鏈  (比特幣背後的關鍵技術)   -- 十分鐘系列
區塊鏈 (比特幣背後的關鍵技術) -- 十分鐘系列鍾誠 陳鍾誠
 
用十分鐘搞懂《離散數學》
用十分鐘搞懂《離散數學》用十分鐘搞懂《離散數學》
用十分鐘搞懂《離散數學》鍾誠 陳鍾誠
 
用十分鐘學會字串處理的那些事兒!
用十分鐘學會字串處理的那些事兒!用十分鐘學會字串處理的那些事兒!
用十分鐘學會字串處理的那些事兒!鍾誠 陳鍾誠
 
用十分鐘瞭解 《單晶片、機器人與電子元件》 (Arduino + Raspberry Pi)
用十分鐘瞭解  《單晶片、機器人與電子元件》  (Arduino + Raspberry Pi)用十分鐘瞭解  《單晶片、機器人與電子元件》  (Arduino + Raspberry Pi)
用十分鐘瞭解 《單晶片、機器人與電子元件》 (Arduino + Raspberry Pi)鍾誠 陳鍾誠
 
適合資工系畢業生的 一百零一種工作
適合資工系畢業生的  一百零一種工作適合資工系畢業生的  一百零一種工作
適合資工系畢業生的 一百零一種工作鍾誠 陳鍾誠
 
用十分鐘理解 《微分方程》
用十分鐘理解  《微分方程》用十分鐘理解  《微分方程》
用十分鐘理解 《微分方程》鍾誠 陳鍾誠
 
用十分鐘瞭解《線性代數、向量微積分》以及電磁學理論
用十分鐘瞭解《線性代數、向量微積分》以及電磁學理論用十分鐘瞭解《線性代數、向量微積分》以及電磁學理論
用十分鐘瞭解《線性代數、向量微積分》以及電磁學理論鍾誠 陳鍾誠
 
用十分鐘瞭解 機率、統計、還有R軟體
用十分鐘瞭解  機率、統計、還有R軟體用十分鐘瞭解  機率、統計、還有R軟體
用十分鐘瞭解 機率、統計、還有R軟體鍾誠 陳鍾誠
 
開放電腦計畫 - 從一顆最簡單的 MCU 談起
開放電腦計畫  - 從一顆最簡單的 MCU 談起開放電腦計畫  - 從一顆最簡單的 MCU 談起
開放電腦計畫 - 從一顆最簡單的 MCU 談起鍾誠 陳鍾誠
 
西洋史 (你或許不知道但卻影響現代教育的那些事)
西洋史  (你或許不知道但卻影響現代教育的那些事)西洋史  (你或許不知道但卻影響現代教育的那些事)
西洋史 (你或許不知道但卻影響現代教育的那些事)鍾誠 陳鍾誠
 

What's hot (20)

用十分鐘搞懂 λ-Calculus
用十分鐘搞懂 λ-Calculus用十分鐘搞懂 λ-Calculus
用十分鐘搞懂 λ-Calculus
 
為何學數學?
為何學數學?為何學數學?
為何學數學?
 
用十分鐘瞭解陳鍾誠的 《課程、教材與學習方法》
用十分鐘瞭解陳鍾誠的  《課程、教材與學習方法》用十分鐘瞭解陳鍾誠的  《課程、教材與學習方法》
用十分鐘瞭解陳鍾誠的 《課程、教材與學習方法》
 
區塊鏈 (比特幣背後的關鍵技術) -- 十分鐘系列
區塊鏈  (比特幣背後的關鍵技術)   -- 十分鐘系列區塊鏈  (比特幣背後的關鍵技術)   -- 十分鐘系列
區塊鏈 (比特幣背後的關鍵技術) -- 十分鐘系列
 
用十分鐘快速掌握《數學的整體結構》
用十分鐘快速掌握《數學的整體結構》用十分鐘快速掌握《數學的整體結構》
用十分鐘快速掌握《數學的整體結構》
 
用十分鐘瞭解 新竹科學園區的發展史
用十分鐘瞭解  新竹科學園區的發展史用十分鐘瞭解  新竹科學園區的發展史
用十分鐘瞭解 新竹科學園區的發展史
 
最佳化問題的公理化方法
最佳化問題的公理化方法最佳化問題的公理化方法
最佳化問題的公理化方法
 
為何學程式?
為何學程式?為何學程式?
為何學程式?
 
對程式人有用的《幾何學》
對程式人有用的《幾何學》對程式人有用的《幾何學》
對程式人有用的《幾何學》
 
怎樣才算是一個合格的資工系畢業生
怎樣才算是一個合格的資工系畢業生怎樣才算是一個合格的資工系畢業生
怎樣才算是一個合格的資工系畢業生
 
區塊鏈 (比特幣背後的關鍵技術) -- 十分鐘系列
區塊鏈  (比特幣背後的關鍵技術)   -- 十分鐘系列區塊鏈  (比特幣背後的關鍵技術)   -- 十分鐘系列
區塊鏈 (比特幣背後的關鍵技術) -- 十分鐘系列
 
用十分鐘搞懂《離散數學》
用十分鐘搞懂《離散數學》用十分鐘搞懂《離散數學》
用十分鐘搞懂《離散數學》
 
用十分鐘學會字串處理的那些事兒!
用十分鐘學會字串處理的那些事兒!用十分鐘學會字串處理的那些事兒!
用十分鐘學會字串處理的那些事兒!
 
用十分鐘瞭解 《單晶片、機器人與電子元件》 (Arduino + Raspberry Pi)
用十分鐘瞭解  《單晶片、機器人與電子元件》  (Arduino + Raspberry Pi)用十分鐘瞭解  《單晶片、機器人與電子元件》  (Arduino + Raspberry Pi)
用十分鐘瞭解 《單晶片、機器人與電子元件》 (Arduino + Raspberry Pi)
 
適合資工系畢業生的 一百零一種工作
適合資工系畢業生的  一百零一種工作適合資工系畢業生的  一百零一種工作
適合資工系畢業生的 一百零一種工作
 
用十分鐘理解 《微分方程》
用十分鐘理解  《微分方程》用十分鐘理解  《微分方程》
用十分鐘理解 《微分方程》
 
用十分鐘瞭解《線性代數、向量微積分》以及電磁學理論
用十分鐘瞭解《線性代數、向量微積分》以及電磁學理論用十分鐘瞭解《線性代數、向量微積分》以及電磁學理論
用十分鐘瞭解《線性代數、向量微積分》以及電磁學理論
 
用十分鐘瞭解 機率、統計、還有R軟體
用十分鐘瞭解  機率、統計、還有R軟體用十分鐘瞭解  機率、統計、還有R軟體
用十分鐘瞭解 機率、統計、還有R軟體
 
開放電腦計畫 - 從一顆最簡單的 MCU 談起
開放電腦計畫  - 從一顆最簡單的 MCU 談起開放電腦計畫  - 從一顆最簡單的 MCU 談起
開放電腦計畫 - 從一顆最簡單的 MCU 談起
 
西洋史 (你或許不知道但卻影響現代教育的那些事)
西洋史  (你或許不知道但卻影響現代教育的那些事)西洋史  (你或許不知道但卻影響現代教育的那些事)
西洋史 (你或許不知道但卻影響現代教育的那些事)
 

Similar to 系統程式 (習題:Nand2tetris軟體部分)

少年科技人雜誌 2015 年六月
少年科技人雜誌 2015 年六月少年科技人雜誌 2015 年六月
少年科技人雜誌 2015 年六月鍾誠 陳鍾誠
 
Deep learning hardware architecture and software deploy with docker
Deep learning hardware architecture and software deploy with dockerDeep learning hardware architecture and software deploy with docker
Deep learning hardware architecture and software deploy with dockerYa-Lun Li
 
COSCUP 2019 國際開放原始碼專案經營 - 從失敗中學習
COSCUP 2019 國際開放原始碼專案經營 - 從失敗中學習COSCUP 2019 國際開放原始碼專案經營 - 從失敗中學習
COSCUP 2019 國際開放原始碼專案經營 - 從失敗中學習Jen Yee Hong
 
20201208 au smart_image_classification_omni_xri
20201208 au smart_image_classification_omni_xri20201208 au smart_image_classification_omni_xri
20201208 au smart_image_classification_omni_xriOmniXRI Studio
 
React.js what do you really mean?
React.js what do you really mean?React.js what do you really mean?
React.js what do you really mean?昱安 周
 
20121115 Slides
20121115 Slides20121115 Slides
20121115 SlidesTonyq Wang
 
SRE Study Notes - Opening, CH1
SRE Study Notes - Opening, CH1SRE Study Notes - Opening, CH1
SRE Study Notes - Opening, CH1Rick Hwang
 
初探 Elastic Observability 的實踐方法
初探 Elastic Observability 的實踐方法初探 Elastic Observability 的實踐方法
初探 Elastic Observability 的實踐方法Joe Wu
 
Noder eyes for frontend guys
Noder eyes for frontend guysNoder eyes for frontend guys
Noder eyes for frontend guysHsu Ping Feng
 

Similar to 系統程式 (習題:Nand2tetris軟體部分) (10)

少年科技人雜誌 2015 年六月
少年科技人雜誌 2015 年六月少年科技人雜誌 2015 年六月
少年科技人雜誌 2015 年六月
 
Deep learning hardware architecture and software deploy with docker
Deep learning hardware architecture and software deploy with dockerDeep learning hardware architecture and software deploy with docker
Deep learning hardware architecture and software deploy with docker
 
COSCUP 2019 國際開放原始碼專案經營 - 從失敗中學習
COSCUP 2019 國際開放原始碼專案經營 - 從失敗中學習COSCUP 2019 國際開放原始碼專案經營 - 從失敗中學習
COSCUP 2019 國際開放原始碼專案經營 - 從失敗中學習
 
Scrum intro
Scrum introScrum intro
Scrum intro
 
20201208 au smart_image_classification_omni_xri
20201208 au smart_image_classification_omni_xri20201208 au smart_image_classification_omni_xri
20201208 au smart_image_classification_omni_xri
 
React.js what do you really mean?
React.js what do you really mean?React.js what do you really mean?
React.js what do you really mean?
 
20121115 Slides
20121115 Slides20121115 Slides
20121115 Slides
 
SRE Study Notes - Opening, CH1
SRE Study Notes - Opening, CH1SRE Study Notes - Opening, CH1
SRE Study Notes - Opening, CH1
 
初探 Elastic Observability 的實踐方法
初探 Elastic Observability 的實踐方法初探 Elastic Observability 的實踐方法
初探 Elastic Observability 的實踐方法
 
Noder eyes for frontend guys
Noder eyes for frontend guysNoder eyes for frontend guys
Noder eyes for frontend guys
 

More from 鍾誠 陳鍾誠

交⼤資訊⼯程學系備審資料 ⾱詠祥
交⼤資訊⼯程學系備審資料 ⾱詠祥交⼤資訊⼯程學系備審資料 ⾱詠祥
交⼤資訊⼯程學系備審資料 ⾱詠祥鍾誠 陳鍾誠
 
smallpt: Global Illumination in 99 lines of C++
smallpt:  Global Illumination in 99 lines of C++smallpt:  Global Illumination in 99 lines of C++
smallpt: Global Illumination in 99 lines of C++鍾誠 陳鍾誠
 
梯度下降法 (隱藏在深度學習背後的演算法) -- 十分鐘系列
梯度下降法  (隱藏在深度學習背後的演算法) -- 十分鐘系列梯度下降法  (隱藏在深度學習背後的演算法) -- 十分鐘系列
梯度下降法 (隱藏在深度學習背後的演算法) -- 十分鐘系列鍾誠 陳鍾誠
 
系統程式 -- 第 12 章 系統軟體實作
系統程式 -- 第 12 章 系統軟體實作系統程式 -- 第 12 章 系統軟體實作
系統程式 -- 第 12 章 系統軟體實作鍾誠 陳鍾誠
 
系統程式 -- 第 11 章 嵌入式系統
系統程式 -- 第 11 章 嵌入式系統系統程式 -- 第 11 章 嵌入式系統
系統程式 -- 第 11 章 嵌入式系統鍾誠 陳鍾誠
 
系統程式 -- 第 10 章 作業系統
系統程式 -- 第 10 章 作業系統系統程式 -- 第 10 章 作業系統
系統程式 -- 第 10 章 作業系統鍾誠 陳鍾誠
 
系統程式 -- 第 9 章 虛擬機器
系統程式 -- 第 9 章 虛擬機器系統程式 -- 第 9 章 虛擬機器
系統程式 -- 第 9 章 虛擬機器鍾誠 陳鍾誠
 
系統程式 -- 第 8 章 編譯器
系統程式 -- 第 8 章 編譯器系統程式 -- 第 8 章 編譯器
系統程式 -- 第 8 章 編譯器鍾誠 陳鍾誠
 
系統程式 -- 第 7 章 高階語言
系統程式 -- 第 7 章 高階語言系統程式 -- 第 7 章 高階語言
系統程式 -- 第 7 章 高階語言鍾誠 陳鍾誠
 
系統程式 -- 第 6 章 巨集處理器
系統程式 -- 第 6 章 巨集處理器系統程式 -- 第 6 章 巨集處理器
系統程式 -- 第 6 章 巨集處理器鍾誠 陳鍾誠
 
系統程式 -- 第 5 章 連結與載入
系統程式 -- 第 5 章 連結與載入系統程式 -- 第 5 章 連結與載入
系統程式 -- 第 5 章 連結與載入鍾誠 陳鍾誠
 
系統程式 -- 第 4 章 組譯器
系統程式 -- 第 4 章 組譯器系統程式 -- 第 4 章 組譯器
系統程式 -- 第 4 章 組譯器鍾誠 陳鍾誠
 
系統程式 -- 第 3 章 組合語言
系統程式 -- 第 3 章 組合語言系統程式 -- 第 3 章 組合語言
系統程式 -- 第 3 章 組合語言鍾誠 陳鍾誠
 
系統程式 -- 第 1 章 系統軟體
系統程式 -- 第 1 章 系統軟體系統程式 -- 第 1 章 系統軟體
系統程式 -- 第 1 章 系統軟體鍾誠 陳鍾誠
 
nand2tetris 舊版投影片 -- 第五章 計算機結構
nand2tetris 舊版投影片 -- 第五章 計算機結構nand2tetris 舊版投影片 -- 第五章 計算機結構
nand2tetris 舊版投影片 -- 第五章 計算機結構鍾誠 陳鍾誠
 
nand2tetris 舊版投影片 -- 第四章 機器語言
nand2tetris 舊版投影片 -- 第四章 機器語言nand2tetris 舊版投影片 -- 第四章 機器語言
nand2tetris 舊版投影片 -- 第四章 機器語言鍾誠 陳鍾誠
 
nand2tetris 舊版投影片 -- 第三章 循序邏輯
nand2tetris 舊版投影片 -- 第三章 循序邏輯nand2tetris 舊版投影片 -- 第三章 循序邏輯
nand2tetris 舊版投影片 -- 第三章 循序邏輯鍾誠 陳鍾誠
 

More from 鍾誠 陳鍾誠 (20)

交⼤資訊⼯程學系備審資料 ⾱詠祥
交⼤資訊⼯程學系備審資料 ⾱詠祥交⼤資訊⼯程學系備審資料 ⾱詠祥
交⼤資訊⼯程學系備審資料 ⾱詠祥
 
smallpt: Global Illumination in 99 lines of C++
smallpt:  Global Illumination in 99 lines of C++smallpt:  Global Illumination in 99 lines of C++
smallpt: Global Illumination in 99 lines of C++
 
梯度下降法 (隱藏在深度學習背後的演算法) -- 十分鐘系列
梯度下降法  (隱藏在深度學習背後的演算法) -- 十分鐘系列梯度下降法  (隱藏在深度學習背後的演算法) -- 十分鐘系列
梯度下降法 (隱藏在深度學習背後的演算法) -- 十分鐘系列
 
系統程式 -- 前言
系統程式 -- 前言系統程式 -- 前言
系統程式 -- 前言
 
系統程式 -- 附錄
系統程式 -- 附錄系統程式 -- 附錄
系統程式 -- 附錄
 
系統程式 -- 第 12 章 系統軟體實作
系統程式 -- 第 12 章 系統軟體實作系統程式 -- 第 12 章 系統軟體實作
系統程式 -- 第 12 章 系統軟體實作
 
系統程式 -- 第 11 章 嵌入式系統
系統程式 -- 第 11 章 嵌入式系統系統程式 -- 第 11 章 嵌入式系統
系統程式 -- 第 11 章 嵌入式系統
 
系統程式 -- 第 10 章 作業系統
系統程式 -- 第 10 章 作業系統系統程式 -- 第 10 章 作業系統
系統程式 -- 第 10 章 作業系統
 
系統程式 -- 第 9 章 虛擬機器
系統程式 -- 第 9 章 虛擬機器系統程式 -- 第 9 章 虛擬機器
系統程式 -- 第 9 章 虛擬機器
 
系統程式 -- 第 8 章 編譯器
系統程式 -- 第 8 章 編譯器系統程式 -- 第 8 章 編譯器
系統程式 -- 第 8 章 編譯器
 
系統程式 -- 第 7 章 高階語言
系統程式 -- 第 7 章 高階語言系統程式 -- 第 7 章 高階語言
系統程式 -- 第 7 章 高階語言
 
系統程式 -- 第 6 章 巨集處理器
系統程式 -- 第 6 章 巨集處理器系統程式 -- 第 6 章 巨集處理器
系統程式 -- 第 6 章 巨集處理器
 
系統程式 -- 第 5 章 連結與載入
系統程式 -- 第 5 章 連結與載入系統程式 -- 第 5 章 連結與載入
系統程式 -- 第 5 章 連結與載入
 
系統程式 -- 第 4 章 組譯器
系統程式 -- 第 4 章 組譯器系統程式 -- 第 4 章 組譯器
系統程式 -- 第 4 章 組譯器
 
系統程式 -- 第 3 章 組合語言
系統程式 -- 第 3 章 組合語言系統程式 -- 第 3 章 組合語言
系統程式 -- 第 3 章 組合語言
 
系統程式 -- 第 1 章 系統軟體
系統程式 -- 第 1 章 系統軟體系統程式 -- 第 1 章 系統軟體
系統程式 -- 第 1 章 系統軟體
 
系統程式 - 第二章
系統程式 - 第二章系統程式 - 第二章
系統程式 - 第二章
 
nand2tetris 舊版投影片 -- 第五章 計算機結構
nand2tetris 舊版投影片 -- 第五章 計算機結構nand2tetris 舊版投影片 -- 第五章 計算機結構
nand2tetris 舊版投影片 -- 第五章 計算機結構
 
nand2tetris 舊版投影片 -- 第四章 機器語言
nand2tetris 舊版投影片 -- 第四章 機器語言nand2tetris 舊版投影片 -- 第四章 機器語言
nand2tetris 舊版投影片 -- 第四章 機器語言
 
nand2tetris 舊版投影片 -- 第三章 循序邏輯
nand2tetris 舊版投影片 -- 第三章 循序邏輯nand2tetris 舊版投影片 -- 第三章 循序邏輯
nand2tetris 舊版投影片 -- 第三章 循序邏輯
 

Recently uploaded

1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...黑客 接单【TG/微信qoqoqdqd】
 
EDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxEDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxmekosin001123
 
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书jakepaige317
 
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制jakepaige317
 
educ6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxeduc6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxmekosin001123
 
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxEDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxmekosin001123
 

Recently uploaded (6)

1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
 
EDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxEDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptx
 
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
 
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
 
educ6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxeduc6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptx
 
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxEDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
 

系統程式 (習題:Nand2tetris軟體部分)