新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 匯編語言基礎(chǔ)

        匯編語言基礎(chǔ)

        作者: 時間:2013-05-04 來源:網(wǎng)絡(luò) 收藏

        通過前面的學習,我們對單片機的硬件結(jié)構(gòu)已有了一定的了解,下面,我們將與大家一起來學習單片機的匯編。

        所謂指令,就是規(guī)定計算機進行某種操作的命令。計算機按程序一條一條地依次執(zhí)行指令,從而完成指定任務。一條指令只能完成有限的功能,為使計算機完成一定的或者復雜的功能,就需要一系列指令。

        一般來說,一臺計算機的指令越豐富,尋址方式越多,且每條指令的執(zhí)行速度越快,則它的總體功能就越強。

        程序設(shè)計語言:機器語言,,高級語言

        我們學習的單片機共有111條指令,這111條指令共有七種尋址方式。其中:

        數(shù)據(jù)傳送類指令 29條

        算術(shù)運算類指令 24條

        邏輯運算及移位類指令 24條

        控制轉(zhuǎn)移類指令 17條

        位操作指令 17條

        這111條指令的具體功能我們在后面的課程中將會逐條的與大家進行分析。

        由于計算機只能識別二進制數(shù),所以計算機的指令均由二進制代碼組成。為了閱讀和書寫的方便,常把它寫成十六進制形式,通常稱這樣的指令為機器指令。現(xiàn)在一般的計算機都有幾十甚至幾百種指令。顯然即便用十六進制去書寫和記憶也是不容易的,為了便于記憶和使用的方便,制造廠家對的每一條指令都給出了助記符。

        助記符是根據(jù)機器指令不同的功能和操作對象來描述指令的符號。由于助記符是用英文縮寫來描述指令的特征,因此它不但便于記憶,也便于理解和分類。這種用助記符形式來表示的機器指令稱為指令。有如下特點:

        ① 助記符指令和機器指令一一對應,所以用匯編語言編寫的程序效率高,占用存儲空間小,運行速度快,因此匯編語言能編寫出最優(yōu)化的程序。

        ② 使用匯編語言編程比使用高級語言困難。因為匯編語言是面向計算機的,匯編語言的程序設(shè)計人員必須對計算機硬件有相當深入的了解。

        ③ 匯編語言能直接訪問存儲器及接口電路,也能處理中斷,因此匯編語言程序能直接管理和控制硬件設(shè)備。④ 匯編語言缺乏通用性,程序不易移植,各種計算機都有自己的匯編語言,不同計算機的匯編語言之間不能通用。

        匯編指令的格式MCS-51匯編語言的語句格式表示如下:

        〔標號>〕:操作碼>〔操作數(shù)>〕;〔注釋>〕

        即一條匯編語句是由標號、操作碼、操作數(shù)和注釋四個部分所組成,其中方括號括起來的是可選擇部分,可有可無,視需要而定。

        指令通常兩部份組成:操作碼、操作數(shù)

        操作碼:是由助記符表示的字符串,操作碼其實就是告訴我們這條指令是起什么樣的一個功能,是加?減?傳送?還是控制?等等。

        操作數(shù):是指參加操作的數(shù)據(jù)或者是數(shù)據(jù)地址。

        注釋:為了便于我們閱讀程序,通常我們在指令的后面都會加上注釋。

        標號:用來表示子程序名稱或程序執(zhí)行條件跳轉(zhuǎn)時的程序跳轉(zhuǎn)地址,實際上是表示一個地址值。

        中,操作數(shù)可以是1、2、3個,也可以沒有。不同功能的指令,操作數(shù)作用也不同。

        例如,傳送類指令多數(shù)有兩個操作數(shù),寫在左面的稱為目的操作數(shù)(表示操作結(jié)果存放的單元地址),寫在右面的稱為源操作數(shù)(指出操作數(shù)的來源)。


        上一頁 1 2 下一頁

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 武清区| 二连浩特市| 榕江县| 洛扎县| 朝阳县| 深圳市| 万全县| 瑞安市| 佛冈县| 镇平县| 辉县市| 沅江市| 进贤县| 武川县| 枣强县| 镇康县| 沂水县| 宣化县| 金昌市| 汝阳县| 买车| 普宁市| 博客| 东阿县| 青铜峡市| 菏泽市| 灵山县| 镇巴县| 阿尔山市| 潮州市| 德保县| 扎囊县| 靖边县| 区。| 东港市| 房山区| 金昌市| 特克斯县| 南郑县| 高台县| 曲靖市|