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