Feng.Li's Java See

          抓緊時(shí)間,大步向前。
          隨筆 - 95, 文章 - 4, 評(píng)論 - 58, 引用 - 0
          數(shù)據(jù)加載中……

          匯編初學(xué)者入門

          計(jì)算機(jī)程序設(shè)計(jì)語言分為三個(gè)層次:機(jī)器語言、匯編語言和高級(jí)語言。

          機(jī)器語言是用0和1的二進(jìn)制串表示機(jī)器指令代碼的語言,不同的CPU,機(jī)器語言是不同的。

          由于機(jī)器語言指令很難記,程序員用機(jī)器語言只在計(jì)算機(jī)誕生的早期出現(xiàn)過。匯編語言用一些助記符來代替機(jī)器語言指令代碼,與機(jī)器語言指令代碼是一一對(duì)應(yīng)的,因此也是面向機(jī)器的,助記符是幫助人們記憶的符號(hào),方便程序員進(jìn)行編程。

          匯編語言程序設(shè)計(jì)一般用于對(duì)硬件的控制,編程效率較低,但設(shè)計(jì)出的程序工作效率較高。高級(jí)語言接近自然語言,容易學(xué)習(xí),編程效率較高。


          匯編語言到底怎么學(xué)習(xí)?匯編語言難學(xué)嗎?學(xué)習(xí)匯編語言要什么基礎(chǔ)嗎?匯編語言的學(xué)習(xí)從哪里入手?最好是看什么樣的入門書籍?(這里以80X60匯編為基礎(chǔ))

          這些都是匯編語言初學(xué)者的普遍疑問,也都是普遍想知道的問題。有的初學(xué)者帶著這些問題,利用豐富的網(wǎng)絡(luò)資源進(jìn)行搜索,也許由于網(wǎng)絡(luò)上大部分都是高手,或者本來就是有相當(dāng)基礎(chǔ)的,所以大部分也說不出很明確的答案。為什么這么說了,因?yàn)槲以趧傔M(jìn)行學(xué)習(xí)的時(shí)候,也是在網(wǎng)絡(luò)上鋪天蓋地的搜索答案,都沒有找到理想的,還是一片茫然。

          我寫這篇文章的目的(以后會(huì)把自己的學(xué)習(xí)經(jīng)驗(yàn)和方法慢慢都寫出來,可能會(huì)當(dāng)作日記或者“教程”來發(fā)布到自己的博客上,說是教程有點(diǎn)托大了,呵呵!)是想以自己的親身體驗(yàn)來幫助初學(xué)者,同時(shí)也為自己的學(xué)習(xí)留個(gè)筆記。

          其實(shí)網(wǎng)絡(luò)上有很多這方面的高手和專業(yè)人士,他們寫的文章相當(dāng)好,但是這些東西對(duì)于高手和已經(jīng)入門的朋友很有用,對(duì)于從來沒接觸過的朋友不太適合,看不太明白。我兩年前剛開始學(xué)習(xí)的時(shí)候也是什么基礎(chǔ)都沒有,因?yàn)槲也⒉皇怯?jì)算機(jī)專業(yè)的,可以說我的專業(yè)和計(jì)算機(jī)風(fēng)牛馬不相及。那時(shí)候來學(xué)習(xí)這些東西,一個(gè)是因?yàn)閷?duì)計(jì)算機(jī)比較感興趣,玩電腦也有10多年了(也只能說是玩,玩游戲倒是比較可以的);另外一個(gè)原因說出來有點(diǎn)不好意思了,由于有一段時(shí)間喜歡買彩票,但是很多比較好點(diǎn)的彩票軟件都是收費(fèi)軟件,要注冊(cè)的,網(wǎng)絡(luò)上也找不到破解版的,為了免費(fèi)用軟件,不得不去學(xué)習(xí)破解。(現(xiàn)在想起來當(dāng)時(shí)的想法真垃圾)學(xué)破解的基礎(chǔ)就是匯編語言,但是,為了尊重軟件制作者的勞動(dòng)成果,破解的軟件從來沒有發(fā)布過。(現(xiàn)在很少來破解軟件了,確實(shí)要很多的精力,同時(shí)覺得寫博客更有意思)

          上面提到的問題,小天將一一用自己的親身經(jīng)歷來說明。

          一、匯編語言難學(xué)嗎?

          很明確的告訴大家,不難!這個(gè)不難是有一點(diǎn)限定的,你要去學(xué)透,那肯定也難,但是只入門,應(yīng)用到目前的領(lǐng)域中去,還是比較容易的。我不知道大家學(xué)習(xí)匯編語言的目的是什么,只能大致猜測(cè)一下。一是象小天一樣為了去破解軟件(當(dāng)時(shí)很垃圾的想法);二是想了解一下硬件工作原理;三是為了單機(jī)片程序的開發(fā);四是為了提高程序的效率,適當(dāng)插入一些匯編代碼。。。。等等,只要大家不是為了用匯編語言去寫一個(gè)比較大的應(yīng)用程序,那都是不難的,但是如今完全用匯編來編寫程序的,我想也很少很少了,除了個(gè)別相當(dāng)?shù)呐H恕3艘郧霸贒OS操作系統(tǒng)普及的情況下,有不少匯編語言寫的程序,但是后來多數(shù)也是用C語言來寫了。

          二、學(xué)習(xí)匯編語言要什么基礎(chǔ)嗎?

          可以說不要什么基礎(chǔ),因?yàn)槲揖褪窃跊]有任何基礎(chǔ)的情況下來學(xué)習(xí)的,(我是屬于比較笨的人了,相信大家比我都要聰明的)可能對(duì)于高手和專業(yè)編程人員來說,我的學(xué)習(xí)深度是九牛一毛。但是,用于以前自己來破解程序還是夠了的,筆者要達(dá)到的目的也只有這個(gè),學(xué)深了也沒有必要,真要學(xué),也學(xué)不完。只能作為愛好。也許讀者不是為了破解來學(xué)匯編的,但是只是為了入門,也是不要基礎(chǔ)的。如果讀者已經(jīng)是這方面高手了,那么這些文章,都可以不用看了。因?yàn)楣P者以后的文章,都只是針對(duì)沒有入門的朋友的。

          三、匯編語言的學(xué)習(xí)從哪里入手?

          直接從80X60的匯編語言開始學(xué)習(xí)就可以了,這里也許有的人會(huì)提到現(xiàn)在已經(jīng)是32位操作系統(tǒng)了,甚至是64位操作系統(tǒng)了,怎么還從80X86匯編語言開始。其實(shí),學(xué)會(huì)了80X86的匯編,對(duì)于以后學(xué)習(xí)WIN32匯編等就容易一些,學(xué)破解后來也被逼學(xué)了WIN32匯編,而在學(xué)WIN32匯編的時(shí)候,又學(xué)習(xí)了C語言。學(xué)完之后,才明白,WIN32匯編和C語言聯(lián)系比較大,但是學(xué)習(xí)了80X86匯編對(duì)于理解其他的東西有很大的幫助,學(xué)起來容易很多。于是,恍然大悟,原來,這些東西也是萬變不離其宗的。

          四、最好是看什么樣的入門書籍?

          就我的經(jīng)歷來說,我認(rèn)為最好的應(yīng)該是王爽的《匯編語言》,這本書,學(xué)完之后,也發(fā)現(xiàn)了他的一些不足之處,比如牽涉的面太窄,系統(tǒng)性不太好之類的問題。但是對(duì)于初學(xué)者,卻相當(dāng)好,因?yàn)槌鯇W(xué)的朋友,什么都不懂,而這部書,卻恰好屏蔽了不少的知識(shí)面。也正是一個(gè)道理,廣而不精,精而不廣。正因?yàn)樗粡V,所以初學(xué)的朋友,容易接受。這部書的這些缺點(diǎn),在你學(xué)完這本書后,你可以去看《80x86匯編語言程序設(shè)計(jì)教程》(楊季文)、《IBM-PC匯編語言程序設(shè)計(jì)》(沈美明 溫冬嬋 )、Intel匯編語言程序設(shè)計(jì)(第四版)這些書來彌補(bǔ),但是你一定要學(xué)好了王爽的這部書后,才去看,這樣才能看懂、才好理解,要不你就很可能似懂非懂。把這些書都看了后,看其他的書也就都大同小異了。其實(shí)當(dāng)你看了其中一本后,你就會(huì)有這樣的感覺,但是你自己卻在不知不覺中提高了。

          posted on 2007-10-19 10:03 小鋒 閱讀(337) 評(píng)論(0)  編輯  收藏 所屬分類: C


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 常熟市| 平顶山市| 曲阳县| 绿春县| 丰都县| 万盛区| 彰化县| 平塘县| 光泽县| 资源县| 江津市| 会宁县| 突泉县| 泰和县| 洪泽县| 新沂市| 双鸭山市| 虞城县| 东阳市| 克东县| 宁安市| 高要市| 钦州市| 新宁县| 宁波市| 石河子市| 鲁甸县| 饶河县| 聂拉木县| 平武县| 溧阳市| 定安县| 无极县| 扬州市| 红河县| 库尔勒市| 浮山县| 文水县| 永嘉县| 瑞安市| 长丰县|