漫畫自學(xué)入門教程 怎樣學(xué)習(xí)匯編語言更容易?
怎樣學(xué)習(xí)匯編語言更容易?匯編語言是面向機(jī)器的程序設(shè)計(jì)語言。在實(shí)際應(yīng)用中,它通常被應(yīng)用在底層,硬件操作和高要求的程序優(yōu)化的場合。驅(qū)動程序、嵌入式操作系統(tǒng)和實(shí)時(shí)運(yùn)行程序都需要匯編語言。如何學(xué)好匯編語言?首
怎樣學(xué)習(xí)匯編語言更容易?
匯編語言是面向機(jī)器的程序設(shè)計(jì)語言。在實(shí)際應(yīng)用中,它通常被應(yīng)用在底層,硬件操作和高要求的程序優(yōu)化的場合。驅(qū)動程序、嵌入式操作系統(tǒng)和實(shí)時(shí)運(yùn)行程序都需要匯編語言。
如何學(xué)好匯編語言?首先,要有一定的理論知識儲備,例如編譯原理,計(jì)算機(jī)原理,微機(jī)原理,體系結(jié)構(gòu)與指令系統(tǒng)。其次,要多研讀范例,多寫多調(diào)試匯編代碼。
盡管不同的硬件平臺,匯編語言不盡相同,但都離不開數(shù)據(jù)傳送,條件設(shè)置,控制轉(zhuǎn)移,位移與位操作,特權(quán)指令,浮點(diǎn)與多媒體,偽操作等等。
多年以來使用匯編語言的心得是,代碼完整規(guī)范,盡量使用常規(guī)指令,做好堆棧和上下文的保護(hù)與恢復(fù)。
謝謝大家。
計(jì)算機(jī)專業(yè)自學(xué)匯編語言,有哪些好的書推薦?
可以詢問軟工的同學(xué),他們的教材是哪幾本,然后去慕課上面找到對應(yīng)的課程。把視頻和教材都好好學(xué)習(xí)一遍。
現(xiàn)代匯編教材還是基于8086,對理解當(dāng)今CPU(如i9)有幫助嗎,還是教程太滯后?
匯編沒用?胡說八道!
匯編難學(xué)?胡說八道!
任何一種高端應(yīng)用場景,都需要匯編帶來的高效率和高可靠性!何為高端?軍事用途,工業(yè)用途,醫(yī)療領(lǐng)域!這些領(lǐng)域?qū)\(yùn)行效率和可靠性的需求都是無止境的高。你用c 可以調(diào)用一個(gè)第三方函數(shù)庫很方便的寫出一個(gè)PID,但它是怎么實(shí)現(xiàn)的?效率如何?有問題怎么辦?如何調(diào)試提高效率?你都不知道!如果你能用匯編寫一個(gè)PID,你會發(fā)現(xiàn)一切都在你的掌控之中!運(yùn)行速度可以達(dá)到極致!所有數(shù)據(jù)的變化都是按你的設(shè)計(jì)運(yùn)作,這就叫自主可控!
很多人說中國沒有自己的工業(yè)軟件?為什么?因?yàn)楦呒壵Z言都沒有提供現(xiàn)成的庫,所以大多數(shù)人都不知道怎么寫。。。國產(chǎn)PLC品牌有很多,但能有自己的編譯平臺的品牌卻是鳳毛麟角。為啥?因?yàn)橛肅語言寫不出PLC級別的編譯器。梯形圖語言本身就是匯編語言的增量版,比C更貼近底層,用C當(dāng)然無法滿足要求了。再比如很多人吐槽國產(chǎn)的數(shù)控機(jī)床精度不如進(jìn)口的高!這個(gè)精度的瓶頸,除了國內(nèi)冶金行業(yè)技術(shù)的差距之外,最大的原因就是編程語言的限制!因?yàn)樾屎瓦\(yùn)行速度的差距,高級語言根本無法勝任這類應(yīng)用!更別說什么三軸聯(lián)動五軸聯(lián)動之類的技術(shù)了。
綜上,匯編語言的意義絕不僅僅只是計(jì)算機(jī)基礎(chǔ)基礎(chǔ),幫助理解高級語言那么簡單!匯編語言是在高端應(yīng)用領(lǐng)域是無法或缺的必須工具!
再說匯編語言難不難學(xué)?當(dāng)然不難學(xué)!任何芯片的內(nèi)部資源都是極端有限的,所以一款CPU所能提供的匯編指令也是極其有限的,就那么多條,不會像高級語言那樣,動不動冒出一堆第三方庫讓你跟進(jìn)學(xué)習(xí)。而且匯編語言的指令功能非常的簡單易懂,通常就是一個(gè)很單一的功能,例如把源操作數(shù)怎樣處理一下,然后寫入目標(biāo)操作數(shù)地址里,非常簡單直接!和高級語言(哪怕是C)相比,學(xué)習(xí)難度也是直線下降的。
但必須要說,匯編很難用!非常難用!要想實(shí)現(xiàn)一個(gè)具體的任務(wù),你必須學(xué)會把任務(wù)分解成匯編指令能夠完成的各種小目標(biāo),這就意味著用匯編寫程序?qū)λ惴〞浅R蕾?,這也是程序員技術(shù)含量高,極其燒腦,也非常值錢的根本原因!
總結(jié)一下,匯編語言就像基礎(chǔ)漢字,高級語言就像名人名言大全。你想得諾貝爾文學(xué)獎,全都靠別人的名言湊數(shù)顯然不可行的,甚至你想講個(gè)自己原創(chuàng)的故事都不可能,因?yàn)槟愀静蛔R字![酷拽][酷拽][酷拽]
有必要學(xué)習(xí)匯編語言嗎?
謝謝邀請,
現(xiàn)在從事匯編語言的崗位相對比較少,如果是從就業(yè)的角度考慮不建議直接去學(xué)習(xí)匯編,但是從建立知識體系的角度還是值得去學(xué)習(xí)。
學(xué)習(xí)匯編語言的幾個(gè)好處:
1.能更好的理解計(jì)算機(jī)體系結(jié)構(gòu)
2.在某些領(lǐng)域能夠極大的提升性能
3.方便從底層分析問題所在,特別是在解決某些程序崩潰
希望能幫到你
新人想學(xué)編程,如何入門?
- 首先,你得選擇學(xué)哪種語言,現(xiàn)在主流的有c,c ,c#,java,還有最近熱門的python。c是學(xué)習(xí)高級語言的基礎(chǔ);C 主要用于編寫大型軟件核心代碼和匯編一樣,比較難學(xué),不過學(xué)好了后,很有前途;C#主要用于編寫一些系統(tǒng)軟件,比如游戲引擎核心代碼,編寫比較簡單,界面比較友好;ASP.NET主要是用C#語言編寫開發(fā)網(wǎng)站(B/S架構(gòu))。java有J2SEJ2EEJ2MEJSP。J2EE是用很廣泛,主要偏向于企業(yè)應(yīng)用軟件和一些桌面系統(tǒng)(C/S架構(gòu)),計(jì)算機(jī)平臺;第二,J2ME,面向無限領(lǐng)域,主要用于開發(fā)手機(jī)一些軟件,比如手機(jī)游戲。很有潛力的家伙,看看中國的手機(jī)用戶就知道了;JSP主要也是開發(fā)網(wǎng)站。Python是人工智能必須的語言,想要追趕前沿,這是最優(yōu)的選擇。
- 想要學(xué)好這些語言,還得報(bào)輔導(dǎo)班或者上網(wǎng)自學(xué),我的動態(tài)里就有學(xué)習(xí)這些編程語言的網(wǎng)站,大多數(shù)都是免費(fèi)的。
匯編語言怎么入門學(xué)習(xí)?
匯編語言的學(xué)習(xí)首先要對計(jì)算機(jī)硬件基礎(chǔ)知識有所了解,特別是寄存器,內(nèi)存等。同時(shí)要對二進(jìn)制有所了解。同時(shí)你得了解與,或,非,異或等數(shù)理邏輯計(jì)算的相關(guān)知識;你同時(shí)對數(shù)字電路知識要了解,了解邏輯與或非在數(shù)字電路上如何實(shí)現(xiàn)。另外不但對數(shù)字電路,對于模擬電路你也要了解。諸于A/D,D/A轉(zhuǎn)換,光電轉(zhuǎn)換等等都要有所了解。這些東西對于你掌握匯編語言用于工業(yè)控制有很大幫助。順便說一下,有很多工業(yè)控制的程序是用C語言編寫的,C語言雖然也比較難,但較匯編語言方便多了。