MCS-51匯編語言程序設(shè)計(III)

MCS-51匯編語言程序設(shè)計(III)

ID:39335565

大小:329.60 KB

頁數(shù):62頁

時間:2019-07-01

MCS-51匯編語言程序設(shè)計(III)_第1頁
MCS-51匯編語言程序設(shè)計(III)_第2頁
MCS-51匯編語言程序設(shè)計(III)_第3頁
MCS-51匯編語言程序設(shè)計(III)_第4頁
MCS-51匯編語言程序設(shè)計(III)_第5頁
資源描述:

《MCS-51匯編語言程序設(shè)計(III)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、第4章MCS-51匯編語言程序設(shè)計匯編語言是面向機器硬件的語言,要求程序設(shè)計者對MCS-51單片機具有很好的“軟、硬結(jié)合”的功底。介紹程序設(shè)計的基本知識及如何使用匯編語言來進行基本的程序設(shè)計。4.1匯編語言程序設(shè)計概述4.1.1機器語言、匯編語言和高級語言用于程序設(shè)計的語言基本上分為3種:機器語言、匯編語言和高級語言。1.機器語言二進制代碼表示的指令、數(shù)字和符號簡稱為機器語言不易懂,難記憶,易出錯。2.匯編語言英文助記符表示的指令稱為符號語言或匯編語言將匯編語言程序轉(zhuǎn)換成為二進制代碼表示的機器語言程序稱為匯編程序經(jīng)匯編程序“匯編(翻譯)”得到的機

2、器語言程序稱為目標(biāo)程序,原來的匯編語言程序稱為源程序。匯編語言特點:面向機器的語言,程序設(shè)計員須對MCS-51的硬件有相當(dāng)深入的了解。助記符指令和機器指令一一對應(yīng),用匯編語言編寫的程序效率高,占用存儲空間小,運行速度快,用匯編語言能編寫出最優(yōu)化的程序。能直接管理和控制硬件設(shè)備(功能部件),它能處理中斷,也能直接訪問存儲器及I/O接口電路。匯編語言和機器語言都脫離不開具體機器的硬件,均是面向“機器”的語言,缺乏通用性。3.高級語言不受具體機器的限制,使用了許多數(shù)學(xué)公式和數(shù)學(xué)計算上的習(xí)慣用語,非常擅長于科學(xué)計算。常用的如BASIC、FORTRAN以及

3、C語言等。高級語言優(yōu)點:通用性強,直觀、易懂、易學(xué),可讀性好。使用C語言(C51)、PL/M語言來進行MCS-51的應(yīng)用程序設(shè)計。對于程序的空間和時間要求很高的場合,匯編語言仍是必不可缺的。C語言和匯編語言混合編程在很多需要直接控制硬件的應(yīng)用場合,則更是非用匯編語言不可使用匯編語言編程,是單片機程序設(shè)計的基本功之一4.1.2匯編語言語句的種類和格式兩種基本類型:指令語句和偽指令語句(1)指令語句已在第3章介紹每一條指令語句在匯編時都產(chǎn)生一個指令代碼——機器代碼(2)偽指令語句是為匯編服務(wù)的。在匯編時沒有機器代碼與之對應(yīng)。MCS-51的匯編語言的四

4、分段格式如下:標(biāo)號字段操作碼字段操作數(shù)字段注釋字段規(guī)則:(1)標(biāo)號字段和操作字碼段之間要有冒號“:”相隔;(2)操作碼字段和操作數(shù)字段間的分界符是空格;(3)雙操作數(shù)之間用逗號相隔;(4)操作數(shù)字段和注釋字段之間的分界符用分號“;”相隔。操作碼字段為必選項,其余各段為任選項。例4-1下面是一段匯編語言程序的四分段書寫格式標(biāo)號字段操作碼字段操作數(shù)字段注釋字段START:MOVA,#00H;0→AMOVR1,#10;10→R1MOVR2,#00000011B;3→R2LOOP:ADDA,R2;(A)+(R2)→ADJNZR1,LOOP;R1內(nèi)容減1不

5、為零,則循環(huán)NOPHERE:SJMPHERE基本語法規(guī)則:1.標(biāo)號字段是語句所在地址的標(biāo)志符號(1)標(biāo)號后邊必須跟以冒號“:”(2)由1~8個ASCII字符組成(3)同一標(biāo)號在一個程序中只能定義一次(4)不能使用匯編語言已經(jīng)定義的符號作為標(biāo)號2.操作碼字段是匯編語言指令中唯一不能空缺的部分。匯編程序就是根據(jù)這一字段來生成機器代碼的。3.操作數(shù)字段通常有單操作數(shù)、雙操作數(shù)和無操作數(shù)三種情況。如果是雙操作數(shù),則操作數(shù)之間,要以逗號隔開。(1)十六進制、二進制和十進制形式的操作數(shù)表示采用十六進制形式來表示,某些特殊場合才采用二進制或十進制的表示形式。十

6、六進制,后綴“H”。二進制,后綴“B”。十進制,后綴“D”,也可省略。若十六進制的操作數(shù)以字符A~F中的某個開頭時,則需在它前面加一個“0”,以便在匯編時把它和字符A~F區(qū)別開來。(2)工作寄存器和特殊功能寄存器的表示采用工作寄存器和特殊功能寄存器的代號來表示,也可用其地址來表示。例如,累加器可用A(或Acc)表示。也可用0E0H來表示,0E0H為累加器A的地址。(3)美元符號$的使用用于表示該轉(zhuǎn)移指令操作碼所在的地址。例如,如下指令:JNBF0,$與如下指令是等價的:HERE:JNBF0,HERE再如:HERE:SJMPHERE可寫為:SJMP

7、$4.注釋字段必須以分號“;”開頭,換行書寫,但必須注意也要以分號“;”開頭。匯編時,注釋字段不會產(chǎn)生機器代碼。4.1.3偽指令在MCS-51匯編語言源程序中應(yīng)有向匯編程序發(fā)出的指示信息,告訴它如何完成匯編工作,這是通過使用偽指令來實現(xiàn)的。也稱為匯編程序控制命令。只有在匯編前的源程序中才有偽指令。經(jīng)過匯編得到目標(biāo)程序(機器代碼)后,偽指令已無存在的必要,所以“偽”體現(xiàn)在匯編時,偽指令沒有相應(yīng)的機器代碼產(chǎn)生。常用的偽指令:1.ORG(ORiGin)匯編起始地址命令在匯編語言源程序的開始,通常都用一條ORG偽指令來實現(xiàn)規(guī)定程序的起始地址。如不用ORG

8、規(guī)定,則匯編得到的目標(biāo)程序?qū)?000H開始。例如:ORG2000HSTART:MOVA,#00H┋規(guī)定標(biāo)號START代表地址為2000

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

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

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