掌握目標語言的使用、編寫 是很是重要的!!!數組
若是你要實現的Jack語言編譯器是把Jack語言代碼編譯成虛擬機VM代碼、或者直接成彙編代碼,要完成源代碼中unit A——> 目標語言代碼轉寫此unit A 這個工做,缺乏對目標語言代碼的掌握是不行的。函數
因此:彙編做爲最廣泛的目標代碼,是遲早都須要學會的。spa
貼幾張書中截圖,展現一下在vm層面,是如何實現諸如求積函數、數組元素賦值、對象實例賦值這樣的高級語言代碼典型unit的。對象
首先這是vm的函數執行內存模型、基本的pop/push指令:blog
1. 一個求積函數內存
2. 數組元素賦值: int bar[10]; bar[2]=19;編譯器
3. 實例對象的成員變量賦值:
虛擬機