99插插插,亚洲伦理中文在线,站长推荐一二三区欧美,青青草在线导航

×

匯編器與虛擬機

  • 作者:新網(wǎng)
  • 來源:新網(wǎng)
  • 瀏覽:100
  • 2018-05-10 13:22:51

上篇文章主要觀點是程序?qū)崿F(xiàn)就是一個翻譯過程,最終會翻譯成(JIT)CPU指令。我們倒著推,那么GIT的上層就是虛擬機,而虛擬機是針對中間字節(jié)碼的。中間字節(jié)碼就是油匯編器對匯編語言文件的一個翻譯。

   上篇文章主要觀點是程序?qū)崿F(xiàn)就是一個翻譯過程,最終會翻譯成(JIT)CPU指令。我們倒著推,那么GIT的上層就是虛擬機,而虛擬機是針對中間字節(jié)碼的。中間字節(jié)碼就是油匯編器對匯編語言文件的一個翻譯。

Cg-4WlGqHDyIXbC2AAFEbC-WlaEAAJOZQKJsoQAAUSE577.jpg

<div>  那么我們先來談談匯編器(虛擬匯編):
  對于匯編器實現(xiàn)中的詞法分析肯定是很簡單的,語法分析也嗯容易,因為其語法大致有三種:
  1:函數(shù)定義
  2:標簽定義
  3:定義變量
  3:匯編指令語句
  所以語法分析的結(jié)果就是要得到所有的函數(shù)定義表,然后每個函數(shù)中又有標簽表和變量表)
  我們的目的是生成中間字節(jié)碼,以至于提高速度,那么盡量讓每個指令干自己指令內(nèi)部的事情而不需要關心其他(否則速度就降下來了)。
  這樣虛擬機的實現(xiàn)也就更簡單。
  因為虛擬機的實現(xiàn)大概只需要一個函數(shù)表以及一個運行時堆棧就OK。那么我們的中間字節(jié)碼中的虛擬指令就應該只針對棧進行操作(而且都是固定了偏移的)
  (想象一下,如果不存在匯編器,而進行純粹的語言解釋器,那么會通過一個map結(jié)構去查詢某個變量,而先通過匯編器-(可以看成預處理,事實上預處理也就是一個翻譯過程)
  去生成中間指令,給每個變量安排一個相對索引,那么查詢某變量,只需要一個常量時間-更短的時間即可)
  (正因為預處理-翻譯過程,所以才使得下一步過程的執(zhí)行速度才更快)
  接下來就是代碼生成,寫入OPcode,然后它具有參數(shù),而參數(shù)無非就是一個特定偏移。
  虛擬機去執(zhí)行這個中間字節(jié)碼,提供一個堆棧作為運行時。

免責聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權,也不承認相關法律責任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)送郵件至:operations@xinnet.com進行舉報,并提供相關證據(jù),一經(jīng)查實,本站將立刻刪除涉嫌侵權內(nèi)容。

免費咨詢獲取折扣

Loading
欧美精品人妻视频97哺乳| 亚洲图片欧美强迫| 欧美双泬同入视频| 草莓一区三区区| 久久超超97| 久久99精品一区| chinese性高潮偷拍| 国产无遮挡又黄又爽高潮欧美| 一区二区不卡在线播放一区| 国产综合一区二区在线| 欧美亚洲国产精品黑料社区| 激情视频精选一区| 福利视频试看一下一边看一边| 少妇喷水久久久久久久久久久久| 艹逼视频不卡免费观看| 高清性色| 激情老熟女合久丁| 一区二区三区精品麻豆| 欧美成人一区二区视频| 欧美性生活特级网| 久久高清一二三四| 久久亚洲精品天堂| 国产精品久久久久久养生馆| 日本熟女禁断| caoporn 超碰公开| 亚洲综合AV二区中文字幕| 日本 一二三区VR久久久| 一区二区三级A片| www.theporn亚洲欧美| 玖玖大香蕉| a毛片大片| 欧美国产视频日韩| xingse在线播放| 欧美亚洲日韩熟女| 国产精品99久久久久久久久久久久| 97p亚洲精品一区二区三区| 大香蕉视频网32| 精品码一区二区在线| 色中色中中文字幕一区二区三区四区| 亚洲日韩黄色电影| 亚洲乱A亚洲乱A在线|