mcs-51匯編語言程序設計

mcs-51匯編語言程序設計

ID:19797874

大?。?.59 MB

頁數(shù):11頁

時間:2018-10-06

mcs-51匯編語言程序設計_第1頁
mcs-51匯編語言程序設計_第2頁
mcs-51匯編語言程序設計_第3頁
mcs-51匯編語言程序設計_第4頁
mcs-51匯編語言程序設計_第5頁
資源描述:

《mcs-51匯編語言程序設計》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫。

1、第四章MCS-51匯編語言程序設計99第四章MCS-51匯編語言程序設計重點及難點:單片機匯編語言程序設計的基本概念、偽指令、單片機匯編語言程序的三種基本結(jié)構(gòu)形式、常用匯編語言程序設計。教學基本要求:1、掌握匯編語言程序設計的基本概念;2、掌握偽指令的格式、功能和使用方法;3、掌握順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)程序設計的步驟和方法;4、掌握常用匯編語言程序設計步驟和方法。教學內(nèi)容§4.1匯編語言程序設計概述一、匯編語言的特點(1)助記符指令和機器指令一一對應,所以用匯編語言編寫的程序效率高,占用存儲空間小,運行速度快,因此匯編語言能編寫出最優(yōu)化的程序。(2)使用匯編語言

2、編程比使用高級語言困難,因為匯編語言是面向計算機的,匯編語言的程序設計人員必須對計算機硬件有相當深入的了解。(3)匯編語言能直接訪問存儲器及接口電路,也能處理中斷,因此匯編語言程序能夠直接管理和控制硬件設備。(4)匯編語言缺乏通用性,程序不易移植,各種計算機都有自己的匯編語言,不同計算機的匯編語言之間不能通用;但是掌握了一種計算機系統(tǒng)的匯編語言后,學習其他的匯編語言就不太困難了。二、匯編語言的語句格式[<標號>]:<操作碼>[<操作數(shù)>];[<注釋>]三、匯編語言程序設計的步驟與特點(1)建立數(shù)學模型(2)確定算法(3)制定程序流程圖(4)確定數(shù)據(jù)結(jié)構(gòu)(5)寫出源程序

3、(6)上機調(diào)試程序§4.2偽指令偽指令是程序員發(fā)給匯編程序的命令,也稱為匯編命令或匯編程序控制指令。MCS-51常見匯編語言程序中常用的偽指令:第四章MCS-51匯編語言程序設計991.ORG(ORiGin)匯編起始地址命令[<標號:>]ORG<地址>2.END(ENDofassembly)匯編終止命令[<標號:>]END[<表達式>]3.EQU(EQUate)賦值命令<字符名稱>EQU<賦值項>4.DB(DefineByte)定義字節(jié)命令[<標號:>]DB<8位數(shù)表>5.DW(DefineWord)定義數(shù)據(jù)字命令[<標號:>]DW<16位數(shù)表>6.DS(Define

4、Stonage)定義存儲區(qū)命令[<標號:>]DW<16位數(shù)表>7.BIT位定義命令<字符名稱>BIT<位地址>8.DATA數(shù)據(jù)地址賦值命令<字符名稱>DATA<表達式>§4.3單片機匯編語言程序的基本結(jié)構(gòu)形式一、順序程序[例4-1]三字節(jié)無符號數(shù)相加,其中被加數(shù)在內(nèi)部RAM的50H、51H和52H單元中;加數(shù)在內(nèi)部RAM的53H、5414和55H單元中;要求把相加之和存放在50H、51H和52H單元中,進位存放在位尋址區(qū)的00H位中。MOVR0,#52H;被加數(shù)的低字節(jié)地址MOVR1,#55H;加數(shù)的低字節(jié)地址MOVA,@R0ADDA,@R1;低字節(jié)相加MOV@R0,

5、A;存低字節(jié)相加結(jié)果DECR0DECR1MOVA,@R0ADDCA,@R1;中間字節(jié)帶進位相加MOV@R0,A;存中間字節(jié)相加結(jié)果DECR0DECR1MOVA,@R0ADDCA,@R1;高字節(jié)帶進位相加MOV@R0,A;存高字節(jié)相加結(jié)果CLRA第四章MCS-51匯編語言程序設計99ADDCA,#00H;存放進位的單元地址MOV@R0,A;進位送00H位保存二、分支程序1.單分支程序[例4-2]變量X存放在VAR單元內(nèi),函數(shù)值Y存放在FUNC單元中,試按下式的要求給Y賦值。本題的程序流程見圖4-1(a)。參考程序:ORG1000HVARDATA30HFUNCDATA31

6、HMOVA,VAR;A←XJZDONE;若X=0,則轉(zhuǎn)DONEJNBACC.7,POSI;若X>0,則轉(zhuǎn)POSIMOVA,#0FFH;若X<0,則Y=-1SJMPDONEPOSI:MOVA,#01H;若X>0,則Y=1DONE:MOVEFUNC,A;存函數(shù)值SJMP$END第四章MCS-51匯編語言程序設計99圖4-1例4-2的分支流程圖這個程序的特征是先比較判斷,然后按比較結(jié)果賦值,這實際是三分支而歸一的流程圖,因此,至少要用兩個轉(zhuǎn)移指令。初學者很容易犯的一個錯誤是:漏掉了其中的SJMPDONE語句,因為流程圖中沒有明顯的轉(zhuǎn)移痕跡。這個程序也可以按圖4-1(b)的流

7、程圖來編寫,其特征是先賦值,后比較判斷,然后修改賦值并結(jié)束。參考程序:ORG1000HVARDATA30HFUNCDATA31HMOVA,VAR;A←XJZDONE;若X=0,則轉(zhuǎn)DONEMOVR0,#0FFH;先設X<0,R0=FFHJNBACC.7,NEG;若X<0,則轉(zhuǎn)NEGMOVR0,#01H;若X>0,R0=1NEG:MOVA,#01H;若X>0,則Y=1DONE:MOVFUNC,A;存函數(shù)值SJMP$END2.多分支程序圖4-2多分支程序轉(zhuǎn)移三、循環(huán)程序循環(huán)程序一般由4部分組成:(1)置循環(huán)初值,即確立循環(huán)開始時的狀態(tài)。(2)循環(huán)體(工作

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。