1. 匯編程序的作用
1.提高程序效率;
2.可以了解一些系統知識;
3.增加程序的開發時間和難度;
4.可以使程序不容易維護;
5.降低程序的可移置性;
呵呵, 總之, 如果你的程序需要有很高的效率(比如游戲),
應該在效率的瓶頸處考慮使用匯編!
2. 匯編語言的作用有哪些
匯編語言的總體特點
1.機器相關性
這是一種面向機器的低級語言,通常是為特定的計算機或系列計算機專門設計的。因為是機器指令的符號化表示,故不同的機器就有不同的匯編語言。使用匯編語言能面向機器並較好地發揮機器的特性,得到質量較高的程序。
2.高速度和高效率
匯編語言保持了機器語言的優點,具有直接和簡捷的特點,可有效地訪問、控制計算機的各種硬體設備,如磁碟、存儲器、CPU、I/O埠等,且佔用內存少,執行速度快,是高效的程序設計語言。
3.編寫和調試的復雜性
由於是直接控制硬體,且簡單的任務也需要很多匯編語言語句,因此在進行程序設計時必須面面俱到,需要考慮到一切可能的問題,合理調配和使用各種軟、硬體資源。這樣,就不可避免地加重了程序員的負擔。與此相同,在程序調試時,一旦程序的運行出了問題,就很難發現。
優點
1、因為用匯編語言設計的程序最終被轉換成機器指令,故能夠保持機器語言的一致性,直接、簡捷,並能像機器指令一樣訪問、控制計算機的各種硬體設備,如磁碟、存儲器、CPU、I/O埠等。使用匯編語言,可以訪問所有能夠被訪問的軟、硬體資源。
2、目標代碼簡短,佔用內存少,執行速度快,是高效的程序設計語言,經常與高級語言配合使用,以改善程序的執行速度和效率,彌補高級語言在硬體控制方面的不足,應用十分廣泛。
缺點
1、匯編語言是面向機器的,處於整個計算機語言層次結構的底層,故被視為一種低級語言,通常是為特定的計算機或系列計算機專門設計的。不同的處理器有不同的匯編語言語法和編譯器,編譯的程序無法在不同的處理器上執行,缺乏可移植性;
2、難於從匯編語言代碼上理解程序設計意圖,可維護性差,即使是完成簡單的工作也需要大量的匯編語言代碼,很容易產生bug,難於調試;
3、使用匯編語言必須對某種處理器非常了解,而且只能針對特定的體系結構和處理器進行優化,開發效率很低,周期長且單調。
3. 匯編語言重要,有用嗎
我不想說學習匯編語言對你來說重不重要,因為我不知道你的目的何在。好吧,就算我知道,我也懶得去計算它對你的價值所在;
我簡單的說說匯編語言給我帶來了什麼價值:學習匯編語言,給我提供了一個受約束的底層生態環境。在這個生態環境裡面去體驗編程,使我我知道了cpu和內存,IO的工作原理。我學習的時候一直在思考這個cpu到底厲害在什麼地方,到底能不能支撐真正的人工智慧,它的本質目的是什麼?
第二:獲取了底層的編程體驗,對於底層的理解,給我提供了一個強大的解釋力,這個解釋力是終極的,是確信的,不像C語言所帶給我的不確定性的,模糊的,和基於抽象概念的解釋。過去在學習高級語言的時候經常遇到一些莫名奇妙的規定,尤其是那些硬性的語法規定,弄得我很不自在,但又拿它沒辦法,當時我真想自立門戶,不用別人的語言,自己搞一套。其實你會發現所有高級語言的某些偏僻的語法細節,高級語言自己是無法解釋的,只能由高級語言下面的更底層的事物才能解釋清楚。
第三:使我對數據結構有了更深刻的認識,這個cpu是如何支撐起這個結構的。數據為什麼要有結構,有結構和沒結構給演算法帶來什麼影響?這些東西在匯編語言這種形式約束下,凸顯的特別典型。我以前一直以為數組是最低級的數據結構,現在我發現,數組很偉大,cpu就是和數組內存在打交道,我們這些所謂的高級數據結構都要轉化到數組上去。
總之:在匯編語言這個約束框架下,重構了我對編程和計算機生態系統的認識,為我後續的學習提供了批判,反駁的基礎,我可以根據自己的想法演化出自己的技術理論,而不是死磕別人的東西。
4. 匯編語言有什麼用處
匯編語言(Assembly Language)是面向機器的程序設計語言.匯編語言是一種功能很強的程序設計語言,也是利用計算機所有硬體特性並能直接控制硬體的語言。匯編語言」作為一門語言,對應於高級語言的編譯器,需要一個「匯編器」來把匯編語言原文件匯編成機器可執行的代碼。高級的匯編器如MASM, TASM等等為我們寫匯編程序提供了很多類似於高級語言的特徵,比如結構化、抽象等。在這樣的環境中編寫的匯編程序,有很大一部分是面向匯編器的偽指令,已經類同於高級語言。現在的匯編環境已經如此高級,即使全部用匯編語言來編寫windows的應用程序也是可行的,但這不是匯編語言的長處。匯編語言的長處在於編寫高效且需要對機器硬體精確控制的程序。
在匯編語言中,用助記符(Memoni)代替操作碼,用地址符號(Symbol)或標號(Label)代替地址碼。這樣用符號代替機器語言的二進制碼,就把機器語言變成了匯編語言。因此匯編語言亦稱為符號語言。
使用匯編語言編寫的程序,機器不能直接識別,要由一種程序將匯編語言翻譯成機器語言,這種起翻譯作用的程序叫匯編程序,匯編程序是系統軟體中語言處理系統軟體。匯編語言把匯編程序翻譯成機器語言的過程稱為匯編。
匯編語言比機器語言易於讀寫、調試和修改,同時具有機器語言全部優點。但在編寫復雜程序時,相對高級語言代碼量較大,而且匯編語言依賴於具體的處理器體系結構,不能通用,因此不能直接在不同處理器體系結構之間移植。
匯編語言的特點:
1.面向機器的低級語言,通常是為特定的計算機或系列計算機專門設計的。
2.保持了機器語言的優點,具有直接和簡捷的特點。
3.可有效地訪問、控制計算機的各種硬體設備,如磁碟、存儲器、CPU、I/O埠等。
4.目標代碼簡短,佔用內存少,執行速度快,是高效的程序設計語言。
5.經常與高級語言配合使用,應用十分廣泛。
匯編語言的應用:
1.70%以上的系統軟體是用匯編語言編寫的。
2.某些快速處理、位處理、訪問硬體設備等高效程序是用匯編語言編寫的。
3.某些高級繪圖程序、視頻游戲程序是用匯編語言編寫的。
5. 匯編程序的功能和作用是什麼
匯編程序的功能和作用:
可以更好地了解計算機的工作原理,主要用於一些對速度要求高,需更少存儲容量的地方。
匯編語言是最接近於機器語言的編程語言。
如果說機器語言是計算機操作的本質,那麼匯編語言就是最最接近本質的語言。
匯編語言操作直接面向硬體,所以,在使用匯編語言的時候。
能夠感知計算機的運行過程和原理,從而能夠對計算機硬體和應用程序之間的聯系和交互形成一個清晰的認識。
這也是最能夠鍛煉編程者編程思維邏輯的,只有這樣,才能形成一個軟、硬兼備的編程知識體系,這是任何高級語言都無法給予的。
相對於繁復的高級語言,匯編語言指令集合更簡約,指令操作更直接。
從匯編開始學習更符合循序漸進的學習原理。所以,對於計算機技術初學者或者自學者,匯編語言重要性無可替代。
6. 匯編語言有什麼用
1.匯編語言 匯編語言是最接近於機器語言的編程語言。如果說機器語言是計算機操作的本質那麼匯編語言就是最最接近本質的語言。匯編語言操作直接面向硬體。所以我們在使用匯編語言的時候,我們能夠感知計算機的運行過程和原理,從而能夠對計算機硬體和應用程序之間的聯系和交互形成一個清晰的認識。這也是最能夠鍛煉編程者編程思維邏輯的,只有這樣,學習者才能形成一個軟、硬兼備的編程知識體系,這是任何高級語言都無法給予的,相對於繁復的高級語言,匯編語言指令集合更簡約,指令操作更直接,從匯編開始學習更符合循序漸進的學習原理。所以,對於計算機技術初學者或者自學者,匯編語言重要性無可替代
2.匯編語言之於高級語言,不否認在應用層面高級語言占據了軟體開發市場的絕大部分。也正是這種現象誤導了學習者甚者是教育者,所以目前高校計算機專業的現狀是,專業課程中C語言、C++、Java等高級語言一應俱全而畢業的學生卻連簡單的程序都不能編寫。為什麼?聽不懂、學不會。這就是缺乏基礎造成的。匯編語言才是計算機技術的基礎,而不是常說的C語言。之所以說匯編重要,其一個重要的原因就是,匯編語言能夠讓你更好的理解高級語言,尤其是高級語言中的C語言。匯編語言對於內存的操作都是基於內存地址的,而C語言中最令人頭疼的指針概念,說白了就是內存的地址。指針的學習和應用中最頭疼的就是在指針這個抽象的概念和實際的內存單元之間建立思維映射,而這些恰恰是我們在匯編語言學習中頻繁做的一件平常事。另外,對於C語言中的數據類型、形參實參、函數調用、全局變數、局部變數等概念及操作,我們都可以用匯編語言中的一些操作相關聯把這些抽象的概念和過程通過匯編語言形成一個具體的映像,深度剖析這樣我們才能真正的學會、學好C語言。
有了匯編和C的基礎,那些所謂的面向對象的語言學習起來就更為順暢了,奉勸那些好高騖遠的學習者,踏踏實實的從匯編開始吧。古雲:磨刀不誤砍柴工啊!
3.匯編語言之於應用 很多學習者放棄對於匯編語言的學習,是因為高級語言的開發更容易找到工作。這個理由也是我見到過的最現實的。但是,這裡面明顯存在著認識誤區。首先,我們的學習是一個系統過程,我們的知識結構不是一個單一課程所能夠建立的。所以,學習匯編的目的並不是非要用匯編去掙飯錢。因為匯編語言對於一個編程人員所應該具備的基本素質的培養和形成得意義是非常重大的,這在前文中已經分析了,不再贅述;其次,匯編本身也是很重要的應用技術。由於學習者,尤其是在校的學生,平時接觸的最多的是純軟體的東西。所以,覺得五花八門的軟體才是計算機技術應用的舞台。那麼這些人最終會成為那位博主提到的那些工作後才意識到匯編的作用的「師兄」。匯編的操作由於跟硬體緊密相關。所以,很多硬體設施的嵌入式編程使用的都是使用的匯編語言,因為匯編語言更直接、更有效率。我們現在的數碼產品很多,而這些數碼產品賴以生存的晶元、主板等。都包含了嵌入式程序,而這些程序中。匯編語言的使用是相當重要的。
7. 匯編語言能做什麼
匯編語言的作用:
匯編語言用一些容易理解和記憶的字母,單詞來代替一個特定的指令,比如:用「ADD」代表數字邏輯上的加減,「 MOV」代表數據傳遞等等,通過這種方法,人們很容易去閱讀已經完成的程序或者理解程序正在執行的功能,對現有程序的bug修復以及運營維護都變得更加簡單方便。當計算機的硬體不認識字母符號,這時候就需要一個專門的程序把這些字元變成計算機能夠識別的二進制數。因為匯編語言只是將機器語言做了簡單編譯,所以並沒有根本上解決機器語言的特定性,所以匯編語言和機器自身的編程環境息息相關,推廣和移植很難,但是還是保持了機器語言優秀的執行效率,因為他的可閱讀性和簡便性,匯編語言到現在依然是常用的編程語言之一。
匯編語言不像其他大多數的程序設計語言一樣被廣泛用於程序設計。在今天的實際應用中,它通常被應用在底層,硬體操作和高要求的程序優化的場合。驅動程序、嵌入式操作系統和實時運行程序都需要匯編語言。
(7)匯編語言程序有什麼用擴展閱讀:
匯編語言是計算機提供給用戶的最快最有效的語言,也是能夠利用計算機的所有硬體特性並能夠直接控制硬體的唯一語言。但是由於編寫和調試匯編語言程序要比高級語言復雜,因此目前其應用不如高級語言廣泛。
匯編語言比機器語言的可讀性要好,但跟高級語言比較而言,可讀性還是較差。不過採用它編寫的程序具有存儲空間佔用少、執行速度快的特點,這些是高級語言所無法取代的。在實際應用中,是否使用匯編語言,取決於具體應用要求、軟體開發時間和質量等方面作權衡。
匯編語言作為機器語言之上的第二代編程語言,它也有很多優點:
1、可以輕松的讀取存儲器狀態以及硬體I/O介面情況
2、編寫的代碼因為少了很多編譯的環節,可以能夠准確的被執行
3、作為一種低級語言,可擴展性很高
缺點:
1、因為代碼非常單調,特殊指令字元很少,所以造成了代碼的冗長以及編寫的困難
2、因為匯編仍然需要自己去調用存儲器存儲數據,很容易出現BUG,而且調試起來也不容易
3、就算完成了一個程序,後期維護時候也需要耗費大量的時間。
4、因為機器的特殊性造成了代碼兼容性差的缺陷
8. 匯編程序和匯編源程序有什麼區別兩者的作用是什麼
一、結構不同
1、匯編程序:匯編程序輸入的是用匯編語言書寫的源程序,輸出的是用機器語言表示的目標程序。
2、匯編源程序:匯編源程序 = 匯編指令 + 偽指令。
二、組成不同
1、匯編程序:一個匯編程序是由多個段組成的,這些段被用來存放代碼、數據、或當作棧空間來使用。
2、匯編源程序:源程序中最終由計算機執行、處理的指令或數據。
三、分類不同
1、匯編程序:簡單匯編程序、模塊匯編程序、條件匯編程序、宏匯編程序、高級匯編程序。
2、匯編源程序:分為偽指令(編譯器處理)和匯編指令(編譯為機器碼)。
9. 匯編語言的功能
是面向機器的程序設計語言.匯編語言是一種功能很強的程序設計語言,也是利用計算機所有硬體特性並能直接控制硬體的語言。匯編語言」作為一門語言,對應於高級語言的編譯器,需要一個「匯編器」來把匯編語言原文件匯編成機器可執行的代碼。
匯編語言比機器語言易於讀寫、調試和修改,同時具有機器語言全部優點。但在編寫復雜程序時,相對高級語言代碼量較大,而且匯編語言依賴於具體的處理器體系結構,不能通用,因此不能直接在不同處理器體系結構之間移植。
匯編語言的特點:
1.面向機器的低級語言,通常是為特定的計算機或系列計算機專門設計的。
2.保持了機器語言的優點,具有直接和簡捷的特點。
3.可有效地訪問、控制計算機的各種硬體設備,如磁碟、存儲器、CPU、I/O埠等。
4.目標代碼簡短,佔用內存少,執行速度快,是高效的程序設計語言。
5.經常與高級語言配合使用,應用十分廣泛。
匯編語言的應用:
1.70%以上的系統軟體是用匯編語言編寫的。
2.某些快速處理、位處理、訪問硬體設備等高效程序是用匯編語言編寫的。
3.某些高級繪圖程序、視頻游戲程序是用匯編語言編寫的。