組合語言是用什麼語言開發的,開發彙編的系統又是什麼

2022-01-05 13:03:17 字數 2639 閱讀 9388

1樓:還是別說話

如果是現在需要為某種可程式設計晶片開發一種組合語言的話,很明顯什麼語言,什麼系統下都是可以進行,不過按我理解,你的意思是想追究計算機發展初期,組合語言是怎麼來的吧。那就是用機器語言開發的。

其實無論什麼語言目的都是讓計算機執行人們所計劃的程式流程,其表現形式就是把人類認知的符號最終變成控制計算機的電訊號,你應該能理解,計算機執行程式實質就是閘電路的高低電平、電晶體通斷狀態的不斷變化。所謂指令就是你給了cpu的某個暫存器賦值了一組資料(也就是給某一些電路初始化了一組我們稱之為0101的高低電平組合),然後就導致了cpu中更多電路的變化,最終變化出我們想要的結果資料,而某個cpu的所有這種輸入與輸出的對應關係實際就是我們說的這種cpu支援的指令集。我們現在看到了語言指令都是編譯器定義的指令而已,其實就是把指令集的指令用英文字母來標識,在編譯時就轉化為二進位制的輸入碼。

那很顯然,有沒有英文字母的助記符,實際並不影響cpu的執行,沒有英文字母,用二進位制碼一樣程式設計,甚至最早的計算機是人手工直接來完成電子管開關的初始化才能執行的,連二進位制碼都不用,這也一樣是程式設計。

所以,彙編出現前人們就用打孔紙帶表示0101的二進位制碼來程式設計的,這就是機器語言了。

作業系統一般用什麼編碼語言程式設計?如:windows,linux,是組合語言嗎?還是自己開發的**?

2樓:

windows linux 都是用c加彙編寫的

作業系統主要針對硬體操作,所以只能用底層語言,並穿雜彙編提高速度

3樓:快樂居家美食

前兩年說windows2000**洩漏出來了,有人說是用c和彙編混合程式設計的

4樓:匿名使用者

windows不太清楚,呵呵,

linux肯定是c語言啦。

5樓:匿名使用者

基本上都是c

(核心的**不是我不想知道, 是人家不告訴我...)

請問組合語言是什麼?又有那些分類?

6樓:匿名使用者

組合語言的分類是按cpu分的。

■什麼是組合語言

組合語言(assembly language)是面向機器的程式設計語言。

在彙編語閤中,用助記符(memoni)代替操作碼,用地址符號(symbol)或標號(label)代替地址媽。這樣用符號代替機器語盲的二進位制碼,就把機器語音變成了組合語言。於是組合語言亦稱為符號語言。

使用組合語言編寫的程式,機器個能直接識別,要由一種程式將組合語言翻譯成機器語言,這種起翻譯作用的程式叫彙編程式,彙編程式是系統軟體中語言處理系統軟體。組合語言把彙編程式翻譯成機器語言的過程稱為f彙編。

組合語言比機器語言易於讀寫、易於除錯和修改,同時也具有機器語言執行速度快,佔記憶體空間少等優點,但在編寫複雜程式時具有明顯的侷限性,組合語言依賴於具體的機型,不能通用,也不能在不同機型之間移植。

■對於不同型號的計算機,有著不同的結構的組合語言

組合語言由於採用了助記符號來編寫程式,比用機器語言的二進位制**程式設計要方便些,在一定程度上簡化了程式設計過程。組合語言的特點是用符號代替了機器指令**,而且助記符與指令**一一對應,基本保留了機器語言的靈活性。使用組合語言能面向機器並較好地發揮機器的特性,得到質量較高的程式。

組合語言是面向具體機型的,它離不開具體計算機的指令系統,因此,對於不同型號的計算機,有著不同的結構的組合語言,而且,對於同一問題所編制的組合語言程式在不同種類的計算機間是互不相通的。

組合語言中由於使用了助記符號,用組合語言編制的程式輸入計算機,計算機不能象用機器語言編寫的程式一樣直接識別和執行,必須通過預先放入計算機的"彙編程式"的加工和翻譯,才能變成能夠被計算機識別和處理的二進位制**程式。用組合語言等非機器語言書寫好的符號程式稱為源程式,執行時彙編程式要將源程式翻譯成目標程式。目標程式是機器語言程式,它一經被安置在記憶體的預定位置上,就能被計算機的cpu處理和執行。

windows、linux、mac等系統是用什麼程式語言彙編的?

7樓:匿名使用者

這個問題可真難回答。

1.首先涉及到了電腦的發展史,有基本的二進位制**到組合語言,然後是作業系統的出現和進幾十年來高階語言(物件導向和過程的)快速發展,並且最近還不多有新的技術的出現。

2.作業系統使用c語言寫得,這是和硬體掛鉤的一門中級語言,學硬體必不可少;通過編譯程式設計電腦可識別的二進位制**,被電腦識別和執行;

3.組合語言是用匯編編譯器執行和編譯的,比如nsam;

4.現在大多數裸機都要安裝作業系統來進行各種操作和執行;而作業系統確切的含義就是硬體和軟體集合體,這方面可以看一些心得動向,不如韌體的發展;

5.源頭就是二進位制**,只是電腦唯一識別和支援的語言,各種軟體最後被電腦執行都是被翻譯成了它

6.想一些unix或linux是開源的,你可以看一下其系統的**檔案。

8樓:匿名使用者

它們的系統 多是用c語言加組合語言製作的。。c語言的執行速度比較快。。開發效率也快,一般多是用來做系統開發的。。。

而組合語言是用來做底層硬體介面的,使個硬體相互傳遞資料的。。。一般的軟體開發平臺多是將**轉換成組合語言的。。在通過彙編器轉換成相應的二進位制資料的(電腦唯一識別的**)

9樓:匿名使用者

所有的語言都用上了.

什麼是組合語言,什麼是彙編和組合語言?

組合語言就是計算機語言,它是有0,1組成的.通俗的說就是我們人和計算機交流的語言.介於機器語言和高階語言之間的一種 什麼是彙編和組合語言?彙編語copy言是一種低階計算bai機程式語言,說 低階du 並不是指語言的功能和複雜程度,而是它zhi出現在計算機發展史dao的早期,但現在仍廣泛應用於計算機開...

組合語言資料偽指令DUP用法,組合語言中的dup有什麼作用

10 dup 1 重複定義了10個字元素,初始值為1,佔用10 2 20個位元組。5 dup 重複定義了5個字元素 其初始值實際為0 佔用5 2 10個位元組 因此總共佔用30個位元組。具體分析 在彙編定義變數的時候會用到dup,變數名 型別 初值表,dup用於把一個相同值賦值若干次,重複次數 du...

組合語言中out和in的用法,組合語言中OUT和IN的用法

在8086系列的組合語言中 in指令的意思是從埠中讀取資料,比如 in al,80h,將80h埠資料讀入到al中 out指令的意思是往埠輸出資料,比如 out 80h,al,將al輸出到80h埠 組合語言中,cpu對外設的操作通過專門的埠讀寫指令來完成 讀埠用in指令,寫埠用out指令。例子如下 i...