港澳译作组合语言.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
指導老師 : 陳世中 班級 : 日四技控晶一乙 學號 : 4992C089 姓名 : 吳定融 ; 早期的電腦軟體都是用組合語言直接編寫的,這種狀況持續了數年。當人們發現為不同型別的CPU編寫可重用軟體的開銷要明顯高於編寫編譯器時,人們發明了高階程式語言。由於早期的電腦的內部記憶體很少,當大家實作編譯器時,遇到了許多技術難題。大約在20世紀50年代末期,與機器無關的程式語言被首次提出。隨後,人們開發了幾種實驗性質的編譯器。第一個編譯器是由Grace Hopper於1952年為A-0語言編寫的。通常認為,1957年由IBM的約翰·巴科斯領導的FORTRAN團隊介紹了第一個完整的編譯器。1960年,COBOL成為一種較早的能在多種架構下被編譯的語言。高階語言在許多領域流行起來。由於新的程式語言支援的功能越來越多,電腦的架構越來越複雜,這使得編譯器也越來越複雜。早期的編譯器是用組合語言編??的。首個能編譯自己源程式的編譯器是在1962年由麻省理工學院的Hart和Levin製作的。從20世紀70年代起,實作能編譯自己源程式的編譯器變得越來越可行,不過還是用Pascal和C語言來實作編譯器更加流行。製作某種語言的第一個能編譯器,要麼需要用其它語言來編寫,要麼就像Hart和Levin製作Lisp編譯器那樣,用直譯器來執行編譯器。 ( 註一 ) ; 直接執行高階程式語言 (如 Shell 內建的直譯器) 轉換高階程式語言碼到一些有效率的中間代表碼 (Bytecode),並執行這些Bytecode 以直譯器包含的編譯器對高階語言編譯,並指示處理器執行編譯後的程式 (例如: JIT) 在轉譯的過程中,這組高階語言所寫成的程式仍然維持在原始碼的格式(或某種中繼語言的格式),而程式本身所指涉的動作或行為則由直譯器來表現。直譯器的好處是它消除了編譯整個程式的負擔,但也會讓執行時的效率打了折扣。 ;使用直譯器來執行程式會比直接執行編譯過的機器碼來得慢,但是相對的這個直譯的行為會比編譯再執行來得快。這在程式開發的雛型化階段和只是撰寫試驗性的程式碼時尤其來得重要,因為這個「編輯-直譯-除錯」的循環通常比「編輯-編譯-執行-除錯」的循環來得省時許多。 在直譯器上執行程式比直接執行編譯過的程式碼來得慢,是因為直譯器每次都必須去分析並轉譯它所執行到的程式行,而編譯過的程式就只是直接執行。這個在執行時的分析被稱為直譯式的成本。在直譯器中,變數的存取也是比較慢的,因為每次要存取變數的時候它都必須找出該變數實際儲存的位置,而不像編譯過的程式在編譯的時候就決定好了變數的位置了。 ;在使用直譯器來達到較快的開發速度和使用編譯器來達到較快的執行進度之間是有許多妥協的。有些系統(例如有一些LISP)允許直譯和編譯的程式碼互相呼叫並共享變數。這意味著一旦一個子程式在直譯器中被測試併除錯過之後,它就可以被編譯以獲得較快的執行進度。許多直譯器並不像其名稱所說的那樣執行原始程式碼,反而是把原始程式碼轉換成更壓縮的內部格式。舉例來說,有些BASIC的直譯器會把keywords取代成可以用來在jump table中找出相對應指令的單一byte符號.直譯器也可以使用如同編譯器一般的文字分析器(lexical analyzer)和語法分析器(parser)然後再轉譯產生出來的抽象語法樹(abstract syntax tree)。可攜性佳,直譯式程式相較於編譯式程式有較佳的可攜性,可以容易的在不同軟硬體平台上執行。而編譯式程式經過編譯後的程式則只限定於執行在開發環境平台。 直譯語言(Interpreted language),又稱直譯式語言,是一種程式語言,它不需要經過編譯器先行編譯為機器碼,之後直接在CPU中執行,相反的,它需要通過直譯器,在執行期動態直譯(interpreted)。理論上,任何程式語言都可以是編譯式,或直譯式的,因此,它們之間的區別,與程式的應用有關。 ( 註二 ) ;組合語言(英語:Assembly language,中國大陸譯作彙編語言,港澳譯作組合語言),是一種與硬體緊密相關的程式設計低階語言。組譯語言是機器語言便於記憶和理解的符號形式(又稱為助憶碼)。組合語言的語句與機器語言 (機器語言操作碼)存在對應關係,但這並不意味著組合語言語句與機器操作對應。在CISC (複雜指令集)結構CPU上,組合語言(或一個機器語言操作碼)可能被組譯器解譯成多個「微指令」。因此有多少種CPU,甚至有多少單晶片,就有多少種組合語言。組合語言不像其他大多數的程式設

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档