關於組合語言的編譯器,用什麼樣的組合語言編譯器好

2022-03-14 01:20:06 字數 3316 閱讀 6904

1樓:

給你個假設的例子看能說明白不:

咱國某型計算機研製,指令系統確定後,

(1)先用機器語言編寫乙個「小彙編」編譯器,它能編譯該機所有的機器指令相對應的彙編符號語言

(2)然後用小組合語言編寫該機的彙編編譯器和fortran編譯器(3)……再pascal…

另,再多說幾句。:以上說的是幾十年前是這麼做的,現在用的是交叉彙編等其它一些技術,比如:可以用成熟的機器的c語言寫個某種機器編譯器(可以是任何語言),,用這個交叉編譯器再編寫目標機的各種語言編譯器。

2樓:記住一座城

第乙個彙編編譯器應該是用機器語言寫的,有了組合語言以後才用彙編寫編譯器。

3樓:做而論道

先有的硬體,同時就有了機器語言。

然後,用機器語言,編寫了初級的作業系統。

在作業系統的層次之上,用機器語言編寫了彙編編譯器,這時才有了組合語言。

有了組合語言,才能編寫更完備的作業系統。

有了組合語言,才能編寫出c語言編譯器,這時才誕生了c語言。

以後,就是雞生蛋、蛋孵雞的迴圈。

4樓:校聞海

給你乙個假設的例子,看看我是否可以理解:

確定某種型別的計算機研究,指令系統,

(1)機器語言編寫的第乙個彙編編譯器,它可以編譯飛機是咱國家一所有對應的機器指令的符號語言

(2),然後編譯,編譯與一架小型飛機組合語言的編譯器和fortran編譯器

(3)再次pascal ...

另乙個,多說幾句。上面說的,十年前做現在是交叉彙編器和其他技術,如:在c語言編寫的成熟的機器可以使用某種機器的編譯器(或任何語言)使用此交叉編譯器寫入目標機器語言的編譯器。

5樓:水瓶貓咪呀

機器碼=cpu指令集=彙編編譯器=組合語言又可以(偽指令,其他符號,彙編指令),彙編指令直接通過cpu指令集。偽指令,和其他符號通過編譯器執行,cpu不執行。

用什麼樣的組合語言編譯器好

組合語言編譯器是怎麼來的?

6樓:做而論道

第乙個軟體,顯然是用機器語言寫的。

當用機器語言寫成了文字處理軟體,才能用螢幕、鍵盤打字。

當用機器語言寫成了編譯軟體,才能把打好的字,編譯成機器碼。

7樓:

現在 c語言編譯器也可以用c語言編寫

8樓:匿名使用者

很多人都在問電腦中的很多軟體是怎麼來的,比如說作業系統怎麼來的,程式設計軟體又是怎麼來的。問這個問題的根本原因就是,認為某個軟體必須在該軟體更舊的版本存在條件下才能產生。具體化這種思想,例如:

認為新的作業系統必須在舊的作業系統存在條件下才能開發出來,那麼,最初的作業系統優勢如何開發出來的呢?又比如:c語言用組合語言開發,但是組合語言又是由什麼更老的語言開發的呢?

這兩個問題實際上都一樣的邏輯。你為什麼必須認為c語言只能用組合語言開發,組合語言只能用二進位制開發呢?電腦的進化類似於生物進化,但是,又不等於生物進化,不是說只能由低等開發高等。

作業系統也好,編譯器也罷,根本上都是程式,他們有著共同發展歷史:

程式首先出現在穿孔卡上,人們通過機械把小孔打上去,如果歷史出現一點小差錯,某個人忽然在這個時候突然想到要編乙個彙編編譯器(當然,這是假設的歷史),那麼,他只需要在上面打上幾個小孔代表相應機器指令,就把彙編編譯器程式寫完了。

既然寫程式就是寫一些機器指令,然後把它儲存好讓機器執行,那麼,編寫其它任何程式包括編譯器也是同樣道理,只要把能夠實現相應功能的**寫好,並且儲存好就行,管他用什麼編寫

無論用c語言

還是組合語言。

只要產生能夠達到相應功能的**就行,管他用什麼寫,哪怕你用刀子刻上去都一樣!!

組合語言的編譯器是用什麼語言寫的,為什麼

9樓:匿名使用者

直接用指令碼寫出第乙個組合語言編譯器,然後就可以用組合語言寫新的編譯器,其實很多語言都可以寫彙編編譯器

比如第乙個c語言編譯器可能是用彙編寫的,但是以後的c編譯器都可以用c語言來寫,神奇吧,哈哈

10樓:匿名使用者

前面幾樓的都說的不錯,其實還有一種辦法,就是採用交叉編譯器,也就是比如我現在是51微控制器平台的,但是51的執行**可以在intel的32位windows下面編譯完成。

所以概括的說,什麼語言都可以用來寫編譯器。

11樓:匿名使用者

事實上幾乎可以用任何語言來寫,呵呵。

12樓:匿名使用者

樓主這個問題,提得好,真的,說明你比較有想法!

這個涉及到乙個編譯器悖論的問題,你可以請教你們老師.好象《組合語言》這個教材裡面也有涉及的

某種編譯器可以是比它低階的或者高階的語言編寫的各種介面:先把使用者編寫的程式翻譯為編譯器自己能識別的語言,然後在以2進製的形式,傳遞給cpu和記憶體,進行處理,然後返回,在反過來翻譯一遍,輸出結果,釋放緩衝區.

這裡面涉及到n多問題,在此不討論了.

組合語言編譯器是怎麼編寫的

13樓:匿名使用者

最開始的編譯器是機器語言寫的,然後寫出來支援部分之後,就可以用這部分繼續編譯其他部分的。

14樓:匿名使用者

怎麼說呢,能寫編譯器的都是大牛了---

我認為是根據一定規則,(不是有編譯原理的理論嗎),結合硬體與組合語言--對應指令有對應的翻譯過程

15樓:腦子很笨

用彙編寫的 給你個**

www.aogosoft.com

組合語言的編譯器是用什麼寫的呢?

16樓:匿名使用者

編譯器一般是用c寫的,最初的東西肯定是用機器語言寫的,我老師曾經用在紙帶上穿孔的辦法寫過程式。

他當時的願望是用鍵盤敲乙個a就能輸入乙個a,而不是出來一排孔。

17樓:匿名使用者

任意一種程式語言都可以。

但是世界上第一款組合語言編譯器一定是機器語言寫的。哈哈。

18樓:江捷斯

你不是已經想到了沒~?

第乙個編譯器就是機器碼寫的.

只要是設身處地的想一想就知道,當是的人寫的時候就跟我們現在寫c語言一樣,因為那時候只有機器碼,並沒有什麼累不累的想法.

只有感覺自己實在創造一種新的東西,在為計算機界做潛在的巨大貢獻.

組合語言一般用什麼編譯器編輯?

組合語言中的dec是什麼意思,組合語言中的DEC是什麼意思

組合語言中,dec是減1指令,該指令使運算元的內容減1,然後再送回該運算元。該運算元可以是暫存器運算元 儲存器運算元。例如 dec al al內容減1,然後再送aldec ax ax減內容1,然後再送ax dec cont cont減內容1,然後再送cont 00h 30h 30h,30h位址在什麼...

彙編關於借位的問題,組合語言進製與借位的問題。

97h不夠98h減,向高位借位1,他的高位的權值為100h,借位後就是1 100h 97h 197h!組合語言進製與借位的問題。你這裡混淆了兩個概念,無符號數和有符號數。如果你希望得到2 3 1,那麼你應該認為2和 3都是有符號數,既然是有符號數,是否產生借位要看of標誌位,即溢位標誌位 如果你認為...

求解一道組合語言的題,求解一道題關於組合語言的題

棧頂的三個字,自位址比較大的開始,向位址比較小的方向看 分別是psw,斷點 cs,ip 即0240,0900,00a2 ss的內容不變,還是0300,sp的是原內容 6,即 0100h 6 009ah ip的內容是中斷服務程式中第一條指令的位置,即00020h記憶體單元的內容,0040h,至於psw...