匯編語言入門教程 計算機專業(yè)自學匯編語言,有哪些好的書推薦?
計算機專業(yè)自學匯編語言,有哪些好的書推薦?可以詢問軟工的同學,他們的教材是哪幾本,然后去慕課上面找到對應的課程。把視頻和教材都好好學習一遍。怎樣學習匯編語言更容易?匯編語言是面向機器的程序設(shè)計語言。在
計算機專業(yè)自學匯編語言,有哪些好的書推薦?
可以詢問軟工的同學,他們的教材是哪幾本,然后去慕課上面找到對應的課程。把視頻和教材都好好學習一遍。
怎樣學習匯編語言更容易?
匯編語言是面向機器的程序設(shè)計語言。在實際應用中,它通常被應用在底層,硬件操作和高要求的程序優(yōu)化的場合。驅(qū)動程序、嵌入式操作系統(tǒng)和實時運行程序都需要匯編語言。
如何學好匯編語言?首先,要有一定的理論知識儲備,例如編譯原理,計算機原理,微機原理,體系結(jié)構(gòu)與指令系統(tǒng)。其次,要多研讀范例,多寫多調(diào)試匯編代碼。
盡管不同的硬件平臺,匯編語言不盡相同,但都離不開數(shù)據(jù)傳送,條件設(shè)置,控制轉(zhuǎn)移,位移與位操作,特權(quán)指令,浮點與多媒體,偽操作等等。
多年以來使用匯編語言的心得是,代碼完整規(guī)范,盡量使用常規(guī)指令,做好堆棧和上下文的保護與恢復。
謝謝大家。
現(xiàn)代匯編教材還是基于8086,對理解當今CPU(如i9)有幫助嗎,還是教程太滯后?
匯編沒用?胡說八道!
匯編難學?胡說八道!
任何一種高端應用場景,都需要匯編帶來的高效率和高可靠性!何為高端?軍事用途,工業(yè)用途,醫(yī)療領(lǐng)域!這些領(lǐng)域?qū)\行效率和可靠性的需求都是無止境的高。你用c 可以調(diào)用一個第三方函數(shù)庫很方便的寫出一個PID,但它是怎么實現(xiàn)的?效率如何?有問題怎么辦?如何調(diào)試提高效率?你都不知道!如果你能用匯編寫一個PID,你會發(fā)現(xiàn)一切都在你的掌控之中!運行速度可以達到極致!所有數(shù)據(jù)的變化都是按你的設(shè)計運作,這就叫自主可控!
很多人說中國沒有自己的工業(yè)軟件?為什么?因為高級語言都沒有提供現(xiàn)成的庫,所以大多數(shù)人都不知道怎么寫。。。國產(chǎn)PLC品牌有很多,但能有自己的編譯平臺的品牌卻是鳳毛麟角。為啥?因為用C語言寫不出PLC級別的編譯器。梯形圖語言本身就是匯編語言的增量版,比C更貼近底層,用C當然無法滿足要求了。再比如很多人吐槽國產(chǎn)的數(shù)控機床精度不如進口的高!這個精度的瓶頸,除了國內(nèi)冶金行業(yè)技術(shù)的差距之外,最大的原因就是編程語言的限制!因為效率和運行速度的差距,高級語言根本無法勝任這類應用!更別說什么三軸聯(lián)動五軸聯(lián)動之類的技術(shù)了。
綜上,匯編語言的意義絕不僅僅只是計算機基礎(chǔ)基礎(chǔ),幫助理解高級語言那么簡單!匯編語言是在高端應用領(lǐng)域是無法或缺的必須工具!
再說匯編語言難不難學?當然不難學!任何芯片的內(nèi)部資源都是極端有限的,所以一款CPU所能提供的匯編指令也是極其有限的,就那么多條,不會像高級語言那樣,動不動冒出一堆第三方庫讓你跟進學習。而且匯編語言的指令功能非常的簡單易懂,通常就是一個很單一的功能,例如把源操作數(shù)怎樣處理一下,然后寫入目標操作數(shù)地址里,非常簡單直接!和高級語言(哪怕是C)相比,學習難度也是直線下降的。
但必須要說,匯編很難用!非常難用!要想實現(xiàn)一個具體的任務(wù),你必須學會把任務(wù)分解成匯編指令能夠完成的各種小目標,這就意味著用匯編寫程序?qū)λ惴〞浅R蕾?,這也是程序員技術(shù)含量高,極其燒腦,也非常值錢的根本原因!
總結(jié)一下,匯編語言就像基礎(chǔ)漢字,高級語言就像名人名言大全。你想得諾貝爾文學獎,全都靠別人的名言湊數(shù)顯然不可行的,甚至你想講個自己原創(chuàng)的故事都不可能,因為你根本不識字![酷拽][酷拽][酷拽]