畫畫教程簡單的畫畫教程 怎樣學(xué)習(xí)匯編語言更容易?
怎樣學(xué)習(xí)匯編語言更容易?匯編語言是一種面向機(jī)器的編程語言。在實(shí)際應(yīng)用中,它通常用于底層、硬件操作和要求較高的程序優(yōu)化。驅(qū)動(dòng)程序、嵌入式操作系統(tǒng)和實(shí)時(shí)運(yùn)行程序都需要匯編語言。如何學(xué)好匯編語言?首先要有一
怎樣學(xué)習(xí)匯編語言更容易?
匯編語言是一種面向機(jī)器的編程語言。在實(shí)際應(yīng)用中,它通常用于底層、硬件操作和要求較高的程序優(yōu)化。驅(qū)動(dòng)程序、嵌入式操作系統(tǒng)和實(shí)時(shí)運(yùn)行程序都需要匯編語言。
如何學(xué)好匯編語言?首先要有一定的理論知識儲備,如編譯原理、計(jì)算機(jī)原理、微機(jī)原理、體系結(jié)構(gòu)和教學(xué)體系等。其次,我們應(yīng)該閱讀更多的例子,編寫更多的調(diào)試匯編代碼。
雖然不同的硬件平臺和匯編語言不同,但它們離不開數(shù)據(jù)傳輸、條件設(shè)置、控制傳輸、位移和位操作、特權(quán)指令、浮點(diǎn)和多媒體、偽操作等。
多年使用匯編語言的經(jīng)驗(yàn)是:代碼完整規(guī)范,盡量使用常規(guī)指令,棧和上下文的保護(hù)和恢復(fù)做得很好。
謝謝。
現(xiàn)代匯編教材還是基于8086,對理解當(dāng)今CPU(如i9)有幫助嗎,還是教程太滯后?
裝配不工作?胡說
!組裝難學(xué)?胡說
!任何高端應(yīng)用場景都需要組裝帶來的高效率和可靠性!什么是高端?軍工醫(yī)療領(lǐng)域!這些領(lǐng)域?qū)\(yùn)行效率和可靠性的要求是無止境的。用C語言調(diào)用第三方函數(shù)庫可以方便地編寫PID,但它是如何實(shí)現(xiàn)的呢?效率有多高?如果有問題怎么辦?如何提高效率?你不知道!如果你能在匯編中編寫一個(gè)PID,你會(huì)發(fā)現(xiàn)一切都在你的控制之下!跑步速度達(dá)到極限!所有的數(shù)據(jù)更改都是根據(jù)您的設(shè)計(jì)來操作的,這就是所謂的自主控制
!很多人說中國沒有自己的工業(yè)軟件?為什么?大多數(shù)人不知道怎么寫,因?yàn)楦呒壵Z言不提供現(xiàn)成的庫。。。國內(nèi)PLC的品牌很多,但很少有自己的編譯平臺。為什么?因?yàn)橛肅語言不能編寫PLC級編譯器。梯形圖語言本身是匯編語言的增量式版本,比C語言更接近底層,當(dāng)然C語言不能滿足要求。例如,許多人抱怨數(shù)控機(jī)床不如進(jìn)口機(jī)床精確。這個(gè)精度的瓶頸,除了國內(nèi)冶金行業(yè)技術(shù)的差距外,最大的原因就是編程語言的局限!由于效率和運(yùn)行速度的差異,高級語言根本不能勝任這種應(yīng)用程序!更不用說三軸聯(lián)動(dòng)、五軸聯(lián)動(dòng)等技術(shù)了。
綜上所述,匯編語言的意義不僅僅是計(jì)算機(jī)的基礎(chǔ),幫助理解高級語言這么簡單!匯編語言是高端應(yīng)用領(lǐng)域的必備工具
!匯編語言難學(xué)嗎?當(dāng)然,學(xué)習(xí)并不難!任何芯片的內(nèi)部資源都是極其有限的,因此CPU所能提供的匯編指令也是極其有限的。只有這么多的指令,而且您不會(huì)像高級語言那樣有一堆第三方庫需要跟進(jìn)。而匯編語言的指令函數(shù)非常簡單易懂,通常是一個(gè)非常單一的函數(shù),比如如何處理源操作數(shù),然后寫到目標(biāo)操作數(shù)的地址,非常簡單直接!與高級語言(甚至C)相比,學(xué)習(xí)的難度在下降。
但必須指出的是,裝配很難使用!很難使用!要完成一個(gè)特定的任務(wù),就必須學(xué)會(huì)將任務(wù)分解成匯編指令可以完成的各種小目標(biāo),這就意味著用匯編來編寫程序?qū)λ惴ㄓ泻艽蟮囊蕾囆?,這也是程序員技術(shù)高超、腦力極度消耗的根本原因,也是非常有價(jià)值的
!總而言之,匯編語言就像基本的漢字,高級語言就像名言的全集。如果你想獲得諾貝爾文學(xué)獎(jiǎng),靠別人的名言是行不通的。即使你想講自己的原創(chuàng)故事,那也是不可能的,因?yàn)槟愀究床欢?![cool drag][cool drag][cool drag
你可以問軟件工程專業(yè)的學(xué)生他們的課本是什么,然后去MOOC找相應(yīng)的課程。好好學(xué)習(xí)視頻和課本。
計(jì)算機(jī)專業(yè)自學(xué)匯編語言,有哪些好的書推薦?
目前匯編程序主要分為兩類,一類是PC端的x86系列,另一類是嵌入式領(lǐng)域的MCU(51、PIC、AVR等)、arm(含手機(jī))和DSP。
學(xué)習(xí)裝配可分為幾個(gè)類別。有些人在學(xué)習(xí)組裝時(shí)會(huì)想拆開。有些人需要最快的代碼運(yùn)行效率,比如DSP匯編,而有些人則將匯編的一小部分嵌入其中。
一些啟動(dòng)代碼是在匯編中編寫的,這是最有效的。
目前,裝配和拆卸軟件更加先進(jìn)。1981年開始學(xué)Z80組裝,1985年開始學(xué)51組裝,自己寫了super 51反匯編。后來,它被嵌入到hotisp中,hotisp采用了代碼和數(shù)據(jù)分離技術(shù)。
后來,我學(xué)習(xí)了x86匯編,主要使用DOS嵌入式調(diào)試.com反匯編和跟蹤調(diào)試。(如下圖所示,是1991年福祿克公司CRC32保護(hù)軟件狗破解時(shí)的拆卸調(diào)試說明)
學(xué)會(huì)PIC拆裝。
學(xué)習(xí)DSP組裝(非常頭痛)。
現(xiàn)在我不想拆卸。當(dāng)然,51拆卸非常簡單。
簡而言之,嵌入式域編程,必須能夠進(jìn)行一些匯編。
匯編應(yīng)該怎么學(xué)?
學(xué)習(xí)匯編語言首先要了解計(jì)算機(jī)硬件的基本知識,特別是寄存器、內(nèi)存等。同時(shí),我們應(yīng)該了解一些二進(jìn)制的知識。同時(shí),還要了解與、或、非、異或等數(shù)理邏輯計(jì)算的相關(guān)知識;同時(shí)還要了解數(shù)字電路的知識,以及如何在數(shù)字電路中實(shí)現(xiàn)邏輯與非。此外,不僅適用于數(shù)字電路,也適用于模擬電路。我們應(yīng)該了解a/D,D/a轉(zhuǎn)換,光電轉(zhuǎn)換等等。這些東西對你掌握工業(yè)控制的匯編語言很有幫助。另外,許多工業(yè)控制程序都是用C語言編寫的。雖然C語言比較困難,但它比匯編語言方便得多。