❶ 匯編語言的編譯器是用什麼語言寫的,為什麼
直接用指令碼寫出第一個匯編語言編譯器,然後就可以用匯編語言寫新的編譯器,其實很多語言都可以寫匯編編譯器
比如第一個C語言編譯器可能是用匯編寫的,但是以後的C編譯器都可以用C語言來寫,神奇吧,哈哈
❷ win7下學習匯編語言,用什麼編譯器比較合適
win7有32位和64位之分:
1、如果是32位Win7,那麼任意一個編譯器都是可以的。
2、如果是64位Win7的話,那麼很多編譯器是無法正常運行的,必須選擇支持64位系統的編譯器。比如「匯編語言編譯器 v1.2 64位_官方版」就可以。
❸ 求匯編語言編譯器
微軟的是MASM32套裝,可以在Windows下使用。
NASM也是一個使用較多的匯編器,搜索「NASM"即可找到。但在Windows下使用一般要求搭配適當的連接器(連接程序Link),可以使用ALink等。
❹ 匯編語言編譯器是怎麼編寫的
編譯器自舉!搜索這個關鍵字
程序都是編譯器編譯的。這個是肯定的
至於第一款X語言編譯器是不是直接1010101010自己寫的那就不知道啦
一般開發編譯器的話。有兩條路選擇
1.利用yacc(或者其變種)&lex(詞法分析)-等工具自己生成語法模板
詞法語法都可以使用這些工具自己生成
然後自己編寫生成的中間碼和生成的機器碼就可以了
一般做編譯原理類似試驗都是如此的。許多編譯器也的確是這樣
2.自己寫詞法分析和語法分析。可以參考一些開源的編譯器
lcc-這個是ANSI C99標準的編譯器是開源的
或者nasm,watcom等編譯器到www.sf.net上不少開源的編譯器
總的來說。高級語言編譯器比較難寫
如果想快速寫出一個的話
可以採用第一種做法。利用工具生成語法詞法模板
先寫一個簡單的匯編編譯器比較簡單
開源的有nasm,jwasm(支持masm語法開源的編譯器)
http://www.japheth.de/JWasm.html
fasm(這款編譯器是自舉的.就是自己可以編譯自己),
http://flatassembler.net/
剩下的就是自己做好語言規則關鍵字map
引用高手的話。語言map做好了你的編譯器也做好一半了
剩下的都是機械性的工作了。
生成x86或者arm指令。
優化工作這個很難解釋.根據你所需要的做吧
畢竟可以做出一個無錯,又XX的編譯器已經很難得
你可以選擇使用現有的編譯器開發自己的編譯器
然後等到你的編譯器支持相當數量指令和成熟度的時候
使用自己的語法重新寫一遍編譯器.
這樣你就可以用自己的編譯器開發自己的編譯器了(是不是很邪惡?)
另外舉幾個例子
Delphi的編譯器是C++ Builder開發的。
而C++ Builder的IDE是Delphi開發的
C++ Builder的編譯器是C++ Builder開發的-這個就是編譯器自舉了。。Delphi和C++ Builder共享一個後端化優化器。
Delphi 早期的版本的編譯器是tasm直接編譯的。可見Anders的匯編功力多強悍(Anders也就是後來VJ++,C#,.NET工程的核心架構師.最關鍵的靈魂級人物)
VC++的編譯器是VC++開發的。很明顯這都說明了編譯器自舉
自己開發自己。如果一個編譯器可以做到自己編譯自己。那基本上就可以實現任何功能了。
關於編譯器開發的書籍可以看一下
龍書《編譯原理(第二版)》
虎書《現代編譯原理-C語言描述》
鯨書《高級編譯器設計與實現》
建議從鯨書看起。然後是龍書
再來是虎書--虎書裡面描述了許多現代編譯器(正如其名)技術
例如面向對象啦,優化,垃圾回收等等.
鯨書看完基本上就可以實現一個簡單的Tiny C編譯器了
然後在龍書鞏固,讀一下語言規范,自己看一些開源的匯編編譯器代碼
自己就可以嘗試做一個匯編語言編譯器了.等到技術提高了
在嘗試做一些高級語法識別,參考LCC代碼做一下ANSI C99的
C語言編譯器。再來就看你自己的興趣和領悟度拉
如果想支持C++的話就得要對編譯器做許多方便的研究
類似Java那種跨平台或者Ruby,Python等動態語言
虎書中也有描述。當然看自己功力了
❺ 匯編語言編譯器是怎麼來的
第一個軟體,顯然是用機器語言寫的。
當用機器語言寫成了文字處理軟體,才能用屏幕、鍵盤打字。
當用機器語言寫成了編譯軟體,才能把打好的字,編譯成機器碼。
❻ 匯編編譯器,
如果你只是為了學習的話,推薦試試 em8086.
調試本身推薦試試 turbo debugger
匯編語言就是這樣的,並不是為了方便學習而設計的。
❼ 用什麼樣的匯編語言編譯器好
學習時,建議不要使用別人做好的集成環境,而是使用單獨的匯編、連接和調試工具。
因為,匯編語言一般不是個人所學的第一門程序設計語言。使用單獨的匯編工具,有助於更清楚地了解語言程序的處理生成過程,更靈活地使用命令選項。這對達到學習匯編語言的學習目的---->更深入地了解計算機系統,有很大的幫助。
我推薦使用TASM 5.0
它全兼容MASM 6,且有所增強,甚至可以在一定程度上支持面向對象技術。
它最大的優勢是所配的調試程序:Turbo Debugger,功能強大,界面友好,易學易用,非常非常的棒。
如果你是在32位的操作系統如XP、WIN7等裡面用它,需要將TD的工作方式設成WIN 95兼容模式運行。
如果是在64位的系統中使用,則必須要安裝一個DOSBox ,在它提供的純DOS環境中運行。
至於匯編源程序的編輯器,可以使用的工具有很多選擇,比如UltraEdit就很不錯。
❽ 各個匯編語言編譯器有什麼區別
匯編語言源程序需要經過匯編生成目標程序,這個過程由一個叫「匯編程序」的來實現(注意區分匯編語言源程序和匯編程序的區別)。。
現在也有集成開發環境的,直接去搜匯編ide。