匯編代碼簡(jiǎn)介
說(shuō)到匯編語(yǔ)言的產(chǎn)生,首先要講一下機(jī)器語(yǔ)言。機(jī)器語(yǔ)言是機(jī)器指令的集合。機(jī)器指令展開(kāi)來(lái)講就是一臺(tái)機(jī)器可以正確執(zhí)行的命令。電子計(jì)算機(jī)的機(jī)器指令是一列二進(jìn)制數(shù)字。計(jì)算機(jī)將之轉(zhuǎn)變?yōu)橐涣懈叩碗娖?,以使?jì)算機(jī)的電子器件受到驅(qū)動(dòng),進(jìn)行運(yùn)算。
上面所說(shuō)的計(jì)算機(jī)指的是可以執(zhí)行機(jī)器指令,進(jìn)行運(yùn)算的機(jī)器。這是早期計(jì)算機(jī)的概念。在我們常用的PC機(jī)中,有一個(gè)芯片來(lái)完成上面所說(shuō)的計(jì)算機(jī)的功能。這個(gè)芯片就是我們常說(shuō)的CPU(Central
Processing Unit,中央處理單元)。每一種微處理器,由于硬件設(shè)計(jì)和內(nèi)部結(jié)構(gòu)的不同,就需要用不同的電平脈沖來(lái)控制,使它工作。所以每一種微處理器都有自己的機(jī)器指令集,也就是機(jī)器語(yǔ)言。
早期的程序設(shè)計(jì)均使用機(jī)器語(yǔ)言。程序員們將用0,1數(shù)字編成的程序代碼打在紙帶或卡片上,1打孔,0不打孔,再將程序通過(guò)紙帶機(jī)或卡片機(jī)輸入計(jì)算機(jī),進(jìn)行運(yùn)算。這樣的機(jī)器語(yǔ)言由純粹的0和1構(gòu)成,十分復(fù)雜,不方便閱讀和修改,也容易產(chǎn)生錯(cuò)誤。
程序員們很快就發(fā)現(xiàn)了使用機(jī)器語(yǔ)言帶來(lái)的麻煩(何止是麻煩,簡(jiǎn)直令人發(fā)狂),它們難于辨別和記憶,給整個(gè)產(chǎn)業(yè)的發(fā)展帶來(lái)了障礙,于是匯編語(yǔ)言產(chǎn)生了。
匯編語(yǔ)言的主體是匯編指令。匯編指令和機(jī)器指令的差別在于指令的表示方法上。匯編指令是機(jī)器指令便于記憶的書(shū)寫(xiě)格式。
我們舉個(gè)例子看下:
源代碼:
匯編代碼和機(jī)器碼:
可以看到匯編代碼,好歹還有幾個(gè)能猜出意思的單詞。
有沒(méi)有覺(jué)得現(xiàn)在的程序員還是挺幸福的。
-
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7611瀏覽量
89894 -
匯編代碼
+關(guān)注
關(guān)注
0文章
24瀏覽量
7614 -
機(jī)器語(yǔ)言
+關(guān)注
關(guān)注
0文章
36瀏覽量
10868
發(fā)布評(píng)論請(qǐng)先 登錄
怎么體現(xiàn)OSCtxSw OSIntCtxSw匯編代碼的區(qū)別?
如何編寫(xiě)Arm匯編代碼
DSP編程技巧之鏈接匯編代碼與C_C++代碼

從匯編代碼訪問(wèn)C全局變量
proteus交通燈電路圖及匯編代碼及應(yīng)用程序免費(fèi)下載

51單片機(jī)軟件復(fù)位的匯編代碼免費(fèi)下載

C和匯編代碼結(jié)合 是實(shí)現(xiàn)DSP軟件設(shè)計(jì)的最好方式

EE-134:為SHARC?系列編寫(xiě)與C兼容的匯編代碼中斷處理程序

集成開(kāi)發(fā)環(huán)境STM32CubeIDE下查看匯編代碼的相關(guān)配置操作
如何從匯編代碼來(lái)理解enum
怎么快速把匯編代碼和C語(yǔ)言代碼對(duì)應(yīng)起來(lái)呢?
armasm編譯匯編代碼鏈接失敗的問(wèn)題分析
TMS320LF240x DSP的C語(yǔ)言和匯編代碼快速入門(mén)

評(píng)論