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 為操作碼 表示指令要執行...