單片機(jī)匯編偽指令_第1頁
單片機(jī)匯編偽指令_第2頁
單片機(jī)匯編偽指令_第3頁
單片機(jī)匯編偽指令_第4頁
單片機(jī)匯編偽指令_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

單片機(jī)匯編偽指令匯報人:文小庫2024-01-22CONTENTS單片機(jī)匯編偽指令概述數(shù)據(jù)定義偽指令匯編控制偽指令指令集偽指令程序結(jié)構(gòu)偽指令單片機(jī)匯編偽指令應(yīng)用示例單片機(jī)匯編偽指令概述01偽指令是匯編語言中的一種特殊指令,它不是直接控制硬件操作的機(jī)器指令,而是由匯編器識別并處理的指令。定義偽指令不直接控制硬件操作,而是為匯編過程提供信息或設(shè)置。非硬件相關(guān)性不同的匯編器可能有不同的偽指令集。特定于匯編器偽指令的語法和格式通常與機(jī)器指令不同。語法差異定義與特點(diǎn)例如,`DB`、`DW`等用于定義字節(jié)或字類型的數(shù)據(jù)。例如,`LABEL`用于定義符號(變量名),`PTR`用于指定數(shù)據(jù)類型。例如,`ORG`、`END`等用于設(shè)定程序起始和結(jié)束地址。例如,`INCLUDE`用于引入外部文件,`SET`用于設(shè)置匯編選項(xiàng)。程序結(jié)構(gòu)控制數(shù)據(jù)定義與處理符號定義與引用匯編過程控制偽指令在單片機(jī)編程中的作用設(shè)定程序起始地址。設(shè)定程序結(jié)束地址。定義字節(jié)類型數(shù)據(jù)。ORGENDDB常見單片機(jī)匯編偽指令簡介DW定義字類型數(shù)據(jù)。LABEL定義符號(變量名)。PTR指定數(shù)據(jù)類型。常見單片機(jī)匯編偽指令簡介INCLUDE:引入外部文件。SET:設(shè)置匯編選項(xiàng)。常見單片機(jī)匯編偽指令簡介數(shù)據(jù)定義偽指令02DAT類型定義偽指令DAT用于定義數(shù)據(jù),指定數(shù)據(jù)類型和初始值。例如:`DATbyte0x01,0x02,0x03`,將三個字節(jié)的數(shù)據(jù)定義并初始化。DATword用于定義字類型數(shù)據(jù),指定初始值。例如:`DATword0x1234`,定義一個字類型數(shù)據(jù)并初始化為0x1234。用于分配字節(jié)型變量。例如:`DBvariable_name`,將變量分配一個字節(jié)的內(nèi)存空間。用于分配字型變量。例如:`DWvariable_name`,將變量分配一個字的內(nèi)存空間。變量分配偽指令DWDBRESB預(yù)留指定數(shù)量的字節(jié)內(nèi)存空間。例如:`RESB10`,預(yù)留10個字節(jié)的內(nèi)存空間。RESW預(yù)留指定數(shù)量的字內(nèi)存空間。例如:`RESW5`,預(yù)留5個字的內(nèi)存空間。內(nèi)存空間分配偽指令匯編控制偽指令03IF:根據(jù)條件決定是否編譯某段代碼。ELSE:與IF配合使用,定義當(dāng)條件不滿足時的代碼段。ENDIF:結(jié)束條件編譯。條件匯編偽指令I(lǐng)NCLUDE將指定的文件內(nèi)容包含到當(dāng)前匯編文件中。EXCLUDE排除指定的文件內(nèi)容,不將其包含到當(dāng)前匯編文件中。匯編包含偽指令宏定義與宏調(diào)用偽指令01MACRO:定義一個宏,指定一個名稱和相應(yīng)的代碼塊。02ENDM:結(jié)束宏定義。CALL:調(diào)用已定義的宏。03指令集偽指令04010203IF:根據(jù)條件判斷是否執(zhí)行某段代碼。ELSE:與IF配合使用,表示如果條件不滿足則執(zhí)行此段代碼。ENDIF:結(jié)束條件判斷。條件匯編指令集偽指令JMPTABLE[OFFSET]:根據(jù)偏移量跳轉(zhuǎn)到指定的跳轉(zhuǎn)表地址。JMP[ADDR]:直接跳轉(zhuǎn)到指定地址。JMPNEARPTRADDR:近地址跳轉(zhuǎn),相對地址偏移量不超過±128。跳轉(zhuǎn)表偽指令定義數(shù)據(jù)段,用于存放全局變量和靜態(tài)變量。01020304定義代碼段,用于存放程序代碼。定義未初始化的數(shù)據(jù)段,編譯器會自動為未初始化的全局變量和靜態(tài)變量分配空間。定義堆棧段,用于存放堆棧數(shù)據(jù)。.CODE.BSS.DATA.STACK段定義偽指令程序結(jié)構(gòu)偽指令05程序入口與出口偽指令指定程序起始地址。ORG標(biāo)識程序結(jié)束。ENDSEGMENT定義程序段,如數(shù)據(jù)段、代碼段等。要點(diǎn)一要點(diǎn)二ENDS結(jié)束程序段定義。模塊化編程偽指令ORG用于調(diào)整程序中各段起始地址。LJMP長跳轉(zhuǎn)指令,實(shí)現(xiàn)程序模塊間跳轉(zhuǎn)。程序鏈接與定位偽指令單片機(jī)匯編偽指令應(yīng)用示例06數(shù)據(jù)定義偽指令應(yīng)用示例DB(DefineByte):用于定義一個或多個字節(jié)的數(shù)據(jù)。例如:`DB0x12,0x34`。02DW(DefineWord):用于定義一個或多個字的數(shù)據(jù)。例如:`DW0x1234`。03DD(DefineDoubleWord):用于定義一個或多個雙字的數(shù)據(jù)。例如:`DD0x12345678`。01ORG(Origin):用于設(shè)置程序計(jì)數(shù)器的初始值。例如:`ORG0x1000`。LMA(LoadMemoryAddress):用于將內(nèi)存地址加載到累加器中。例如:`LMAMEMORY_ADDRESS`。ST(Store):用于將累加器中的數(shù)據(jù)存儲到內(nèi)存中。例如:`ST,MEMORY_ADDRESS`。010203匯編控制偽指令應(yīng)用示例IN(Input):從指定的端口讀取數(shù)據(jù)并存儲到累加器中。例如:`IN,PORT_NUMBER`。OUT(Output):將累加器中的數(shù)據(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論