漫畫自學入門教程 怎樣學習匯編語言更容易?
怎樣學習匯編語言更容易?匯編語言是面向機器的程序設(shè)計語言。在實際應用中,它通常被應用在底層,硬件操作和高要求的程序優(yōu)化的場合。驅(qū)動程序、嵌入式操作系統(tǒng)和實時運行程序都需要匯編語言。如何學好匯編語言?首
怎樣學習匯編語言更容易?
匯編語言是面向機器的程序設(shè)計語言。在實際應用中,它通常被應用在底層,硬件操作和高要求的程序優(yōu)化的場合。驅(qū)動程序、嵌入式操作系統(tǒng)和實時運行程序都需要匯編語言。
如何學好匯編語言?首先,要有一定的理論知識儲備,例如編譯原理,計算機原理,微機原理,體系結(jié)構(gòu)與指令系統(tǒng)。其次,要多研讀范例,多寫多調(diào)試匯編代碼。
盡管不同的硬件平臺,匯編語言不盡相同,但都離不開數(shù)據(jù)傳送,條件設(shè)置,控制轉(zhuǎn)移,位移與位操作,特權(quán)指令,浮點與多媒體,偽操作等等。
多年以來使用匯編語言的心得是,代碼完整規(guī)范,盡量使用常規(guī)指令,做好堆棧和上下文的保護與恢復。
謝謝大家。
計算機專業(yè)自學匯編語言,有哪些好的書推薦?
可以詢問軟工的同學,他們的教材是哪幾本,然后去慕課上面找到對應的課程。把視頻和教材都好好學習一遍。
現(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)一個具體的任務,你必須學會把任務分解成匯編指令能夠完成的各種小目標,這就意味著用匯編寫程序?qū)λ惴〞浅R蕾嚕@也是程序員技術(shù)含量高,極其燒腦,也非常值錢的根本原因!
總結(jié)一下,匯編語言就像基礎(chǔ)漢字,高級語言就像名人名言大全。你想得諾貝爾文學獎,全都靠別人的名言湊數(shù)顯然不可行的,甚至你想講個自己原創(chuàng)的故事都不可能,因為你根本不識字![酷拽][酷拽][酷拽]
有必要學習匯編語言嗎?
謝謝邀請,
現(xiàn)在從事匯編語言的崗位相對比較少,如果是從就業(yè)的角度考慮不建議直接去學習匯編,但是從建立知識體系的角度還是值得去學習。
學習匯編語言的幾個好處:
1.能更好的理解計算機體系結(jié)構(gòu)
2.在某些領(lǐng)域能夠極大的提升性能
3.方便從底層分析問題所在,特別是在解決某些程序崩潰
希望能幫到你
新人想學編程,如何入門?
- 首先,你得選擇學哪種語言,現(xiàn)在主流的有c,c ,c#,java,還有最近熱門的python。c是學習高級語言的基礎(chǔ);C 主要用于編寫大型軟件核心代碼和匯編一樣,比較難學,不過學好了后,很有前途;C#主要用于編寫一些系統(tǒng)軟件,比如游戲引擎核心代碼,編寫比較簡單,界面比較友好;ASP.NET主要是用C#語言編寫開發(fā)網(wǎng)站(B/S架構(gòu))。java有J2SEJ2EEJ2MEJSP。J2EE是用很廣泛,主要偏向于企業(yè)應用軟件和一些桌面系統(tǒng)(C/S架構(gòu)),計算機平臺;第二,J2ME,面向無限領(lǐng)域,主要用于開發(fā)手機一些軟件,比如手機游戲。很有潛力的家伙,看看中國的手機用戶就知道了;JSP主要也是開發(fā)網(wǎng)站。Python是人工智能必須的語言,想要追趕前沿,這是最優(yōu)的選擇。
- 想要學好這些語言,還得報輔導班或者上網(wǎng)自學,我的動態(tài)里就有學習這些編程語言的網(wǎng)站,大多數(shù)都是免費的。
匯編語言怎么入門學習?
匯編語言的學習首先要對計算機硬件基礎(chǔ)知識有所了解,特別是寄存器,內(nèi)存等。同時要對二進制有所了解。同時你得了解與,或,非,異或等數(shù)理邏輯計算的相關(guān)知識;你同時對數(shù)字電路知識要了解,了解邏輯與或非在數(shù)字電路上如何實現(xiàn)。另外不但對數(shù)字電路,對于模擬電路你也要了解。諸于A/D,D/A轉(zhuǎn)換,光電轉(zhuǎn)換等等都要有所了解。這些東西對于你掌握匯編語言用于工業(yè)控制有很大幫助。順便說一下,有很多工業(yè)控制的程序是用C語言編寫的,C語言雖然也比較難,但較匯編語言方便多了。