組合語言中的機器語言怎麼編寫,組合語言是一種機器語言嗎?怎麼有的說不是有的說是啊

時間 2022-09-01 23:44:19

1樓:匿名使用者

組合語言是從機器語言轉換過來的.最早的計算機系統沒有可用的高階語言,是直接用0101這樣的二進位制編碼來程式設計的,這樣對絕大多數使用者就很不方便,因為這要求對計算機系統的軟體和硬體資源要非常了解才可以.記憶量也很大.

到後來,大家就用一些符號來代替一些二進位制**,方便識別,比如原來**1011意思是加法,現在就不寫1011了,寫成add,用add這個大家都容易識別的符號來程式設計,可以提公升一些效率.但計算機的執行仍然只識別二進位制**,所以需要把組合語言寫的**再轉換成機器語言.

組合語言是一種低階語言,好處是可以直接控制計算機的軟硬體資源.壞處就是對程式設計人員的要求非常高.計算機執行的時候,用組合語言編寫的**的執行效率是最高的.

和機器語言**的效率一樣高.

2樓:永恆

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

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

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

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

3樓:做而論道

ldi r21, -10 它的機器語言為什麼是11101111-01010110

----

這些機器語言,都是cpu設計者制定的,是直接控制硬體的,懂硬體的人,才能看懂。

機器語言,不適合普通人理解和使用,為此,才出現了彙編和c等高階語言。

人,只要使用高階語言程式設計即可,編譯系統,會把高階語言變換成機器語言。

4樓:漫步在網路中的天玉

你學過計算機組成原理麼,簡單的說這些機器語言中的0和1對應到計算機中的電路上去就表示為有電流或者沒電流(有電壓或者沒電壓),計算機是由許許多多的晶元組成的,通過是否通電(是0或者是1)來控制這些晶元如何工作

你看到的00001110-00111100 (相當於一條指令,是在設計晶元時就定義好的) 就相當與告訴計算機哪些晶元需要工作,如何工作,

組合語言是一種機器語言嗎?怎麼有的說不是有的說是啊?

5樓:匿名使用者

機器語言就是0或1,組合語言則是語句.

不一樣的.

比如:010101110是機器語言,

mov ac,#56就是組合語言.

6樓:匿名使用者

不是.機器語言 是 數字 比如說 彙編的jnz 應該是 74.

74 才是機器語言.

7樓:匿名使用者

不是,比機器語言要高一級.

它是利用助記符對機器語言進行標記,方便記憶與使用.

組合語言是用什麼語言編寫出來的??

8樓:匿名使用者

你是說編譯器嗎? 組合語言的編譯器,用什麼語言都能寫。關鍵是**執行。

是cpu 快取進行執行。如果您問我 cpu 使用什麼語言寫的。我告訴你。

是電子電路裡邊的數電寫的

9樓:ming有夢的人

組合語言(assemblylanguage)是面向機器的程式語言。在彙編語合中,用助記符(memoni)代替操作碼,用位址符號(symbol)或標號(label)代替位址碼。這樣用符號代替機器語言的二進位製碼,就把機器語言變成了組合語言。

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

因為組合語言是直接對硬體進行操作,所以能控制硬體,比如mov a,#17h

就是直接對硬體的暫存器a進行操作,所以能控制硬體。

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

10樓:匿名使用者

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

11樓:匿名使用者

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

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

12樓:腦子很笨

用彙編寫的 給你個**

www.aogosoft.com

組合語言和機器語言有多相近,組合語言與機器語言有多相似

計算機語言分為高階語言 組合語言和機器語言三個層次。用高階語言不需要懂計算機原理和計算機結構,高階語言開發的程式經過解釋程式或翻譯程式自動變換成機器語言。組合語言則是一種符號語言,是依賴硬體的,不同型號計算機的組合語言是不盡相同的,所以用組合語言必須懂得計算機原理和計算機結構。組合語言開發的程式,更...

計算機的組合語言和機器語言,高階語言 組合語言 機器語言三者的區別與聯絡

機器語言就是計算機可以識別並接受的語言,比如10011101之類,都是機器嘛,機器只能接受這些,卻不能接受類似於mova,r0隻類的組合語言,組合語言跟機器語言最相近,它可以直接翻譯成機器語言,比如前面寫的那句組合語言,可以,編譯器遇到mov就把它變成10011110 只是舉例實際可能並不是這個數字...

機器語言與組合語言之間是怎麼轉化的

機器碼與彙編一一對應,但是很複雜 參考如下位址,後面是具體解法,mov ax,bx 對應的機器碼為 8bc3 解法 判斷 這個是8086彙編16位彙編指令格式,並且是暫存器定址方式 查表 開啟opcodes.html檔案,找到標題為 main instructions 單擊 m 字母,然後對應檢視 ...

簡述計算機程式語言機器語言組合語言高

一 機器語言 1 優點 可以被計算機直接識別 執行,所以用機器語言寫的程式效率最高。2 缺點 是用指令程式設計,而成千上萬條指令很難記住,且一旦出錯很難找出錯誤。不同型號的計算機,指令編碼並不相同,因此,針對某一型計算機寫的程式移植到另外一種計算機上後,執行結果未必正確,甚至有可能根本不能執行。二 ...

組合語言jz與jnz的區別,組合語言中je 和jne的區別

jnz結果不為零 或不相等 則轉移。jz即零標誌為1就跳轉。jnz 或jne jump if not zero,or not equal 組合語言中的條件轉移指令。結果不為零 或不相等 則轉移。測試條件 zf 0 zf組合語言中的psw標誌暫存器中的一位,而jz則是根據zf決定是否跳轉。若zf 1 ...