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

2021-07-30 11:59:22 字數 6319 閱讀 1711

1樓:叢依波弘瀾

組合語言(assembly

language)是面向機器的程式設計語言。

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

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

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

組合語言:計算機中真正可以處理的只是由“0”、“1”組成的二進位制**,這種指令**易出錯且不易修改,由於依賴於機器,使用極不方便,於是人們發明“指令的助記符”,用幾個字母(往往就是其含義的英文單詞或縮寫)代替某條指令,如加法用add表示,這種符號系統的擴大就是組合語言。使用組合語言程式設計,優點是執行效率高,可直接對硬體內部進行控制,缺點是需對硬體有更深入的瞭解,而且編

程效率不高,並且與機器的體系結構仍有一定的依賴關係。

2樓:騰訊電腦管家

組合語言(assembly language)是任何一種用於電子計算機、微處理器、微控制器或其他可程式設計器件的低階語言,亦稱為符號語言。

3樓:可以放棄愛你

組合語言就是,比0,1要高階一個檔次的語言,人類能看懂的語言。學好組合語言,學其他語言會好學很多

4樓:河南新華電腦學院

簡單來說就是符號語言,

什麼是彙編和組合語言?

5樓:揚落

彙編語copy言是一種低階計算bai機程式語言,說"低階du"並不是指語言的功能和複雜程度,而是它zhi出現在計算機發展史dao的早期,但現在仍廣泛應用於計算機開發領域,應為它是絕大多數語言的基礎.再者,它是一種面向機器的語言,即它執行與操作都與計算機硬體密切相關.

c語言是一種高階語言,它有利於人為操作,近於物件導向與面向機器之間(vb就是一種物件導向的程式語言),它的功能更加強大,可移植性高,是當今最廣泛的語言之一.

dos彙編是說組合語言的操作介面是dost系統,這也說明是彙編是更低階一些,但執行速度是其它語言無法相比的,就是可移植性較差.

6樓:匿名使用者

簡單點說是一種低階語言,c語言是高階語言,dos是老的一種作業系統,不是程式設計

7樓:忘忘忘啊

組合語言是最底層的語言。

c已經可以說是高階語言,一般認為是中級語言

8樓:匿名使用者

組合語言和

baic語言的不同在於du彙編是低階語言,zhi程式設計者直接控制dao機器硬體。專

彙編的**和機屬

器碼有關,不同的機器使用不同的彙編碼。

而不同的機器可以使用相同的c語言**,翻譯成不同的機器碼。

彙編的優勢在於,你可以控制程式的長度與速度間的平衡,而高階語言很難。

dos彙編實際上並不確切,可以理解為:

intel 8086彙編+dos中斷服務程式(一般指int 21h)相對於windows,32位彙編

但是,組合語言可能有上千種,家用電腦僅是intel 80x86彙編。

9樓:邱茗蔣和豫

就是最接近機器碼的語言,所有程式最後都要被翻譯成組合語言才能執行。

組合語言直接操作硬體,對cpu內的暫存器、運算器進行控制。

組合語言裡“#”是什麼意思?

10樓:匿名使用者

組合語言中的“#”代表的

抄是定址方式為立即尋bai址。

比如指du令: mov a,#21h

mov意思

是微控制器片zhi內ram之間傳送,該指令的意思是:將值dao21h送給暫存器a中暫存;

如果把“#”去掉,mov a,21h該指令定址方式變了,為直接定址,21h就不是值了,而變成了一個地址,意思為:將21h這個地址裡面中的內容送給暫存器a中暫存。

其中微控制器中的定址方式為7種方式,分別為:立即定址,直接定址,位定址,暫存器定址,暫存器間接定址,變址定址,相對定址。

11樓:進夫成晴嵐

不帶引號的?,指從buff的位置開始預留指定位元組數的記憶體空間;

帶引號的?,指從buff的位置開始連續存放指定位元組數的?字元;

帶引號的$,指從buff的位置開始連續存放指定位元組數的$字元。

12樓:嶽玥米子辰

就是一個字元'$'。。一般用在一個字元組的末尾,作為字元組的終止符。這樣就可以用09號功能輸出字元組。。

組合語言是一種什麼語言?

13樓:景田不是百歲山

組合語言是任何一種用於電子計算機、微處理器、微控制器或其他可程式設計器件的低階語言,亦稱為符號語言。在組合語言中,用助記符代替機器指令的操作碼,用地址符號或標號代替指令或運算元的地址。在不同的裝置中,組合語言對應著不同的機器語言指令集,通過彙編過程轉換成機器指令。

特定的組合語言和特定的機器語言指令集是一一對應的,不同平臺之間不可直接移植。

14樓:深藍

補充一下:想學習組合語言,就得先對指令結構,尋指方式,計算機內部暫存器的作用有所瞭解,這樣才會使得編寫程式的時候得心應手。組合語言中,重要的是三種結構,即順序,選擇,迴圈,還有子過程,巨集,這幾個重點知識,掌握了這些,就足矣。

15樓:匿名使用者

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

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

16樓:湖北潛江高石碑

能夠直接控制機器的語言,最低階的語言

組合語言中db是什麼意思?

17樓:風翼殘念

db作為組合語言中的偽操作命令,它用來定義運算元佔用的位元組數。表示式中可包含符號、字串、或表示式等項,各個項之間用逗號隔開,字串應用引號括起來。括號內的標號是可選項,如果使用了標號。

db的作用:在這裡b是byte的縮寫,即位元組,所以,該偽操作所定義的每個運算元佔有1個位元組(8位)。

如:1message db ‘hello’,此時,字串“hello”中每個字元會佔用1個位元組。51微控制器中,用於定義位元組的內容。

db 指令以表示式的值的位元組形式初始化**空間。

則標號的值將是表示式表中第一位元組的地址。db 指令必須位於資料段之內,否則將會發生錯誤。

擴充套件資料:

組合語言中db指令的意義:

定義位元組變數的定義符為db/byte(definebyte),每個位元組只佔一個位元組單元。其中:byte是masm6.

0及其以後版本的資料型別說明符,隨後的其它型別說明符同此說明。

組合語言中db是定義單位元組資料段的意思,編譯時,db後面的資料將視為純資料而不是指令**。比如:

dis:

mov dptr,#tab;

movx a,@a+dptr;

mov p0,a;

ret。

tab:

db 0c0h ;“0” 00h;

db 0f9h ;“1” 01h;

db 0a4h ;“2” 02h;

db 0b0h ;“3” 03h;

db 99h ;“4” 04h;

db 92h ;“5” 05h;

db 82h ;“6” 06h;

db 0f8h ;“7” 07h;

db 80h ;“8” 08h;

db 90h ;“9” 09h;

db 88h ;“a” 0ah;

db 83h ;“b” 0bh;

db 0c6h ;“c” 0ch;

db 0a1h ;“d” 0dh;

db 86h ;“e” 0eh;

db 8eh ;“f” 0fh;

db 0ffh ;“ ” 10h。

18樓:匿名使用者

組合語言中db是定義單位元組資料段的意思,編譯時,db後面的資料將視為純資料而不是指令**。比如:

dis:

mov dptr,#tab

movx a,@a+dptr

mov p0,a

rettab:

db 0c0h ;"0" 00h

db 0f9h ;"1" 01h

db 0a4h ;"2" 02h

db 0b0h ;"3" 03h

db 99h ;"4" 04h

db 92h ;"5" 05h

db 82h ;"6" 06h

db 0f8h ;"7" 07h

db 80h ;"8" 08h

db 90h ;"9" 09h

db 88h ;"a" 0ah

db 83h ;"b" 0bh

db 0c6h ;"c" 0ch

db 0a1h ;"d" 0dh

db 86h ;"e" 0eh

db 8eh ;"f" 0fh

db 0ffh ;" " 10h

19樓:匿名使用者

db是偽指令,告訴編譯軟體,db後面的是資料,**

用於movc指令查表用的

20樓:夏天的太陽君

define byte :定義一個位元組型資料

21樓:

data byte,即定義byte型別的變數

c語言和組合語言的區別是什麼?

22樓:哇哎西西

區別如下:

1、效率不同

彙編效率高,c語言效率比較低。

2、對硬體的可操控性不同

彙編對硬體的可操控性強,c語言硬體可操控性比較差。

3、**體積大小不同

彙編目標**體積小,c語言目標**體積大。

4、維護性不同

彙編不易維護,c語言容易維護。

5、可移植性不同

彙編可移植性很差,c語言可移植性很好。

23樓:哇哎西西

1、兩者編譯組成不同。組合語言是將由0、1組成的機器語言用具有簡單語義的英文**表示,而c語言不但將許多相關的機器指令合成為單條指令,並且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆疊、暫存器等。

2、兩者被計算機識別的路徑不同。組合語言通常用於對硬體的直接操控。而且c語言所編制的程式不能直接被計算機識別,必須經過轉換才能被執行。

3、兩者用處不同。組合語言通常用在程式中最核心的、控制硬體的**,一方面是安全,另一方面提高執行速度。而c語言通常用在計算機外用功能上。

24樓:會飛的小兔子

1、操作複雜程度的不同

c語言,與組合語言相比,c語言在更加接近人的一般思維,因此在程式的設計過程中比較容易操作,此外在進行一些複雜的操作,運算時,c語言比彙編就要簡單很多,尤其是c語言中的豐富的函式庫,可以直接實現一些原本很複雜的功能,並且從**量來說任意一個c語言程式,通過反彙編之後變成組合語言程式,其長度都可能要增加好幾倍。

2、使用範圍的不同

c語言程式的事件將會只是編寫組合語言程式的幾分之一,從編寫程式的效率上來說c語言無疑更高,此外c語言是高階程式語言因此可移植性較好,不太受到到硬體裝置的限制。

在實現一個功能時,組合語言可以直接奔著目標去,而c語言則是給你提供了一種對於對於這種問題的普遍處理辦法,不具有針對性,因此會有許多多餘的在這個問題中不需要的過程,因此可能回事程式較大,執行較慢。相對與組合語言,c語言更加適合一些較大型專案的開發。

3、執行的速度和效率不同

程式沒有了組合語言計算機直接就無法執行,因為組合語言是基於計算機底層硬體的程式設計,通過它實現了對cpu,記憶體,硬碟以及外界裝置的直接操作,因為直接所以組合語言在程式的大小,執行的速度與效率方面幾乎無可比擬,但是也是因為直接,所以彙編程式難以移植,且完成相同的操作**量太大,在進行一些大的專案是,單獨使用匯編進行程式設計幾乎不可能實現。

組合語言是什麼?組合語言是一種什麼語言?

組合語言,是和機器語言同一層次的程式語言。組合語言的主體,是機器語言的助記符,因此,就比機器語言易懂,好記。組合語言中,還有一些偽指令,都是英文單詞,也不難。用組合語言編寫程式,也就是用機器語言程式設計,完全是直接對 cpu 進行程式設計。用組合語言編寫程式,需要對計算機本身,有全面的瞭解,所以,難...

組合語言程式設計,組合語言程式設計

教你一個小招,用vc6.0編好一個c的程式,然後alt 8可以檢視彙編程式 1 include 2 void main void 3 00401055 jmp main 21h 00401031 10 for i 0 i 4 i 00401057 mov dword ptr ebp 14h 0 00...

組合語言RLC和JC,組合語言裡JCJNCJBJNBJZJNZ的問題

不是的,只有在運算指令中才會產生進位的,a的資料移動式不會產生進位的 是否進位還要看a的最高位是1還是0 jc 在組合語言中什麼意思 jc 在組合語言 是一個 條件轉移指令的操作碼 後面應該再加上一個位元組的偏移量 即要轉移到地址 為運算元 例如 jc llla 其中 jc 為操作碼 表示指令要執行...