第3章MCS51單片機指令系統(tǒng)34匯編語言程序的基本形式_第1頁
第3章MCS51單片機指令系統(tǒng)34匯編語言程序的基本形式_第2頁
第3章MCS51單片機指令系統(tǒng)34匯編語言程序的基本形式_第3頁
第3章MCS51單片機指令系統(tǒng)34匯編語言程序的基本形式_第4頁
第3章MCS51單片機指令系統(tǒng)34匯編語言程序的基本形式_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、3.4 3.4 匯編語言程序的基本形式匯編語言程序的基本形式ORG / END / DB / DW / BITEQU / DATA程序框架程序框架pORG 0000Hp LJMP MAIN ;跳轉(zhuǎn)至主程序跳轉(zhuǎn)至主程序pORG 0003Hp LJMP INT0_INT ;跳轉(zhuǎn)至外部中斷跳轉(zhuǎn)至外部中斷0的中斷服務(wù)程序的中斷服務(wù)程序pORG 000BHp LJMP T0_INT ;跳轉(zhuǎn)至定時器跳轉(zhuǎn)至定時器0的中斷服務(wù)程序的中斷服務(wù)程序pORG 0013Hp LJMP INT1_INT ;跳轉(zhuǎn)至外部中斷跳轉(zhuǎn)至外部中斷1的中斷服務(wù)程序的中斷服務(wù)程序ppORG 0030HpMAIN: ;開始寫主程序開始寫

2、主程序p END中斷入口地址中斷入口地址主程序開始主程序開始3.4 3.4 匯編語言程序的基本形式匯編語言程序的基本形式p3.4.1 3.4.1 匯編語言程序設(shè)計概述匯編語言程序設(shè)計概述p3.4.2 3.4.2 匯編語言程序設(shè)計步驟匯編語言程序設(shè)計步驟p3.4.3 3.4.3 偽指令偽指令3.4.1 3.4.1 匯編語言程序設(shè)計概述匯編語言程序設(shè)計概述p單片機單片機n面向面向最底層最底層硬件硬件接口接口pPCPC機機n可以可以調(diào)用調(diào)用操作系統(tǒng)的操作系統(tǒng)的中斷功能或中斷功能或 WINDOWS WINDOWS 的的 API 函數(shù)函數(shù)匯編語言程序設(shè)計中的匯編語言程序設(shè)計中的 數(shù)數(shù)p計算機計算機只能只

3、能識別識別n二進制數(shù)二進制數(shù)機器指令機器指令n十六進制數(shù)、十進制數(shù):不識別十六進制數(shù)、十進制數(shù):不識別p機器指令機器指令/ /目標代碼目標代碼n由由 0/1 0/1 代碼組成的操作碼與操作數(shù)代碼組成的操作碼與操作數(shù)p二進制數(shù)二進制數(shù)n由由0/10/1組成、組成、“逢逢2 2進進1”1”的數(shù)制的數(shù)制p如:如:01011110B 01011110B (0 01 1后綴:后綴:B/b)p十六進制數(shù)十六進制數(shù)n二進制數(shù)的簡寫形式二進制數(shù)的簡寫形式便于讀寫記憶便于讀寫記憶p0 09 9,A AF F,后綴:,后綴:H/hpBCDBCD碼碼n用二進制數(shù)表達的用二進制數(shù)表達的十進制數(shù)十進制數(shù)p0 09 9表

4、示為表示為:0000:00001001B1001B,后綴,后綴: :B/b、H/h匯編語言編程基本規(guī)則匯編語言編程基本規(guī)則p匯編語言匯編語言n用用助記符描述助記符描述的的指令指令的集合的集合n匯編語言編寫的程序匯編語言編寫的程序借助編譯工具借助編譯工具編譯成為編譯成為目目標代碼標代碼,計算機才能識別,計算機才能識別p匯編匯編n把把 匯編指令編寫的程序匯編指令編寫的程序 轉(zhuǎn)換成機器程序:手工、自動轉(zhuǎn)換成機器程序:手工、自動p匯編程序匯編程序n即:編譯工具即:編譯工具匯編程序匯編程序 軟件軟件 工具工具工具軟件工具軟件應(yīng)用程序應(yīng)用程序p匯編語言指令格式匯編語言指令格式 標號標號:操作碼操作碼 目的

5、操作數(shù)目的操作數(shù),源操作數(shù)源操作數(shù);注釋注釋 n注意:注意:pAF AF 開頭的十六進制數(shù)前面必須添一個開頭的十六進制數(shù)前面必須添一個 “ “0”0”p二進制數(shù)必須帶后綴二進制數(shù)必須帶后綴“B”B”或或“b”b”p十六進制數(shù)必須帶后綴十六進制數(shù)必須帶后綴“H”H”或或“h”h”p十進制數(shù)的后綴是十進制數(shù)的后綴是“D”D”或或“d”d”或無或無3.4.2 3.4.2 匯編語言程序設(shè)計步驟匯編語言程序設(shè)計步驟p(1) (1) 分析題意,明確要求分析題意,明確要求p(2) (2) 確定算法確定算法p(3) (3) 畫程序流程圖,描述、說明解題步驟畫程序流程圖,描述、說明解題步驟p(4) (4) 分配

6、內(nèi)存工作單元,確定程序與數(shù)據(jù)的存放地址分配內(nèi)存工作單元,確定程序與數(shù)據(jù)的存放地址p(5) (5) 編寫源程序編寫源程序p(6) (6) 程序優(yōu)化程序優(yōu)化p(7) (7) 上機調(diào)試、修改和最后確定源程序上機調(diào)試、修改和最后確定源程序3.4.3 3.4.3 偽指令偽指令p機器語言機器語言n二進制二進制( (可縮寫為十六進制可縮寫為十六進制) )代碼代碼p表示指令和數(shù)據(jù)表示指令和數(shù)據(jù)p偽指令偽指令n不進行具體的操作,不進行具體的操作,沒有沒有機器碼機器碼n功能:控制匯編程序功能:控制匯編程序p告訴匯編程序在翻譯應(yīng)用程序時告訴匯編程序在翻譯應(yīng)用程序時 如:匯編時,確定哪些是數(shù)據(jù)、數(shù)據(jù)的狀態(tài),程如:匯編

7、時,確定哪些是數(shù)據(jù)、數(shù)據(jù)的狀態(tài),程序的起始和終了地址等等序的起始和終了地址等等告訴計算機告訴計算機如何如何操作操作以及做以及做何種何種操作操作( (真真) )指令指令p1 1定位偽指令定位偽指令 ORGORGp2 2匯編結(jié)束偽指令匯編結(jié)束偽指令 ENDENDp3 3字節(jié)字節(jié)數(shù)據(jù)定義偽指令數(shù)據(jù)定義偽指令 DBDBp4. 4. 字字數(shù)據(jù)定義偽指令數(shù)據(jù)定義偽指令 DWDWp5 5賦值偽指令賦值偽指令 EQUEQUp6 6位地址符號定義偽指令位地址符號定義偽指令 BITBITp7 7數(shù)據(jù)地址賦值偽指令數(shù)據(jù)地址賦值偽指令 DATADATAp8 8定義空間指令定義空間指令 DSDS1 1定位偽指令定位偽指

8、令 ORGORGp格式格式 ORG ORG 表達式表達式n表達式:表達式:1616進制進制地址或地址或已定義已定義的的標號地址標號地址p功能功能n說明下面的說明下面的程序段程序段或或數(shù)據(jù)段數(shù)據(jù)段存放的存放的起始起始地址地址p注意注意n若若源程序源程序首首省略省略 ORGORG,則,則p源程序段源程序段 從從 ROM 的的 0000H單元單元 開始開始存放存放n在一個源程序中在一個源程序中p可可多次多次用用ORGORGp地址值地址值由由小小到到大大依序排列,依序排列,不不允許空間允許空間重疊重疊2 2匯編結(jié)束偽指令匯編結(jié)束偽指令 ENDENDp格式格式 ENDENDp功能功能n遇到遇到ENDEN

9、D結(jié)束匯編結(jié)束匯編p注意注意nENDEND之后之后的程序?qū)⒌某绦驅(qū)⒉惶幚聿惶幚? 3字節(jié)字節(jié)數(shù)據(jù)定義偽指令數(shù)據(jù)定義偽指令 DBDBp格式格式 標號:標號: DB DB 字節(jié)數(shù)據(jù)表字節(jié)數(shù)據(jù)表n字節(jié)數(shù)據(jù)表字節(jié)數(shù)據(jù)表p數(shù)值數(shù)值0000FFH(FFH(十進制十進制/ /十六進制十六進制/ /二進制等二進制等) )負數(shù)負數(shù):補碼補碼存入存入p字符字符引號引號(“ ”“ ”/ / )括起來,)括起來,ASCII碼碼存入存入p功能功能n從從標號標號指定指定地址地址開始開始,在,在ROM中存中存字節(jié)字節(jié)數(shù)據(jù)數(shù)據(jù)p 例例 ORGORG1000H1000HTAB:TAB: DBDB-2,A,100,30H-2,A

10、,100,30H-2-2的補碼的補碼字符字符AA的的ASCIIASCII碼碼0FEH41H64H30H100100地址增加4. 4. 字字數(shù)據(jù)定義偽指令數(shù)據(jù)定義偽指令 DWDWp格式格式 標號:標號: DW DW 字數(shù)據(jù)表字數(shù)據(jù)表p功能功能n在在ROMROM中,從中,從標號標號指定指定的的地址地址開始開始存存字字數(shù)據(jù)數(shù)據(jù)p注意注意n1616位位p高高8 8位位 低低地址單元地址單元p低低8 8位位 高高地址單元地址單元高高8 8位位 低低地址單元地址單元低低8 8位位 高高地址單元地址單元字數(shù)據(jù)存放時:字數(shù)據(jù)存放時:p 例例11ORGORG1000H1000HTAB:TAB: DW 1234H

11、,0ABH,10DW 1234H,0ABH,10 34H00H0ABH00H0AH12H與微機原理中與微機原理中相反相反!p 例例22ORGORG1000H1000HTAB:TAB: DW 1234H,0ABH,10DW 1234H,0ABH,10TA1:TA1: DWDWTABTABTA2:TA2: DWDWTA1,TA2TA1,TA2DBDB55H,TA255H,TA2 34H00H0ABH00H0AH12HTABTA110H00HTA210H06H10H08H55H08H注意注意5 5賦值偽指令賦值偽指令 EQUEQUp格式格式 符號名符號名 EQU EQU 表達式表達式p 例例 SGS

12、GEQUEQUR0R0;SG;SG與與R0R0等值等值DEDEEQUEQU40H40H;DE;DE與與40H40H等值等值MOVMOVA, SGA, SGMOVMOVR7, #DER7, #DE; ;(A A)(R0R0); ;(R7R7) #40H #40H6 6位位地址地址符號定義偽指令符號定義偽指令 BITBITp格式格式 符號名符號名 BIT BIT 位地址表達式位地址表達式n位地址表達式位地址表達式p絕對地址絕對地址 或或 符號地址符號地址p 例例 MNMNBITBITP1.7P1.7G5G5BITBIT02H02H匯編匯編后:位地址后:位地址 P1.7 MNP1.7 MN 位地址位

13、地址 02H G502H G5等價等價等價等價7 7數(shù)據(jù)數(shù)據(jù)地址地址賦值偽指令賦值偽指令 DATADATAp格式格式 符號名符號名 DATA DATA 數(shù)數(shù) 或或 表達式表達式pDATADATA 與與 EQUEQU 類似,類似,差別差別是是n定義的位置定義的位置pDATADATA:可以:可以 “ “ 先先 使用使用 后后 定義定義”pEQUEQU:必須:必須 “ “ 先先 定義定義 后后 使用使用”由具體仿真環(huán)境決定由具體仿真環(huán)境決定n符號名符號名pEQUEQU匯編符號匯編符號 符號名符號名數(shù)值數(shù)值 符號名符號名pDATADATA只能只能數(shù)據(jù)數(shù)據(jù) 符號名符號名表達式表達式( (可計算的可計算的) ) 符號名符號名X1 EQU R0X2 EQU 12HX3 DATA R1X4 DATA 15HX5 DATA 12H+13H X6EQU 12H+13HX7 DATA #12HX8 EQU #33H ?p 例例 不能是匯編符號不能是#8 8定義空間指令定義空間指令 DSDSp格式格式 標號:標號: DS DS 表達式表達式p功能功能n在匯編后,根據(jù)表達式的值,從指定地址開始在匯編后,根據(jù)表達式的值,從指

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論