AT89C51匯編語(yǔ)言.ppt_第1頁(yè)
AT89C51匯編語(yǔ)言.ppt_第2頁(yè)
AT89C51匯編語(yǔ)言.ppt_第3頁(yè)
AT89C51匯編語(yǔ)言.ppt_第4頁(yè)
AT89C51匯編語(yǔ)言.ppt_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第4章 AT89C51 匯編語(yǔ)言程序設(shè)計(jì),偽指令不要求計(jì)算機(jī)做任何操作 沒(méi)有對(duì)應(yīng)的機(jī)器碼, 不產(chǎn)生目標(biāo)程序 不影響程序的執(zhí)行, 僅僅是一些能夠幫助進(jìn)行匯編的指令。,4.1. 偽指令,特征,它主要用來(lái)指定程序或數(shù)據(jù)的起始位置 給出一些連續(xù)存放數(shù)據(jù)的地址 為中間運(yùn)算結(jié)果保留一部分存儲(chǔ)空間 表示源程序結(jié)束等。,功能,不同版本的匯編語(yǔ)言其偽指令的符號(hào)和含義可能有所不同, 但基本用法是相似的。,1) 設(shè)置目標(biāo)程序起始地址偽指令ORG 格式: ORG 地址(十六進(jìn)制表示) 功能:規(guī)定其后面的目標(biāo)程序或數(shù)據(jù)塊的起始地址。 它放在一段源程序(主程序、 子程序)或數(shù)據(jù)塊的前面, 說(shuō)明緊跟在其后的程序段或數(shù)據(jù)塊的起始地址就是ORG后面給出的地址。,例如: ORG 2000H START: MOV A, #7FH 表明標(biāo)號(hào)為START的目標(biāo)程序從2000H單元開(kāi)始存放, 標(biāo)號(hào)START也具有2000H地址值。,在一個(gè)源程序中, 可以多次使用ORG指令, 以規(guī)定不同程序段的起始位置。 規(guī)定的地址應(yīng)從小到大, 不允許不同的程序段之間有重疊。 一個(gè)源程序若不用ORG指令開(kāi)始, 則從0000H單元開(kāi)始存放目標(biāo)代碼。,注意!,2) 結(jié)束匯編偽指令END 格式: END END是匯編語(yǔ)言源程序的結(jié)束標(biāo)志, 表示匯編結(jié)束。 在END以后所寫的指令, 匯編程序都不予處理。 一個(gè)源程序只能有一個(gè)END命令, 否則就有一部分指令不能被匯編。,3) 定義字節(jié)偽指令DB 格式: 標(biāo)號(hào): DB 項(xiàng)或項(xiàng)表 該偽指令的功能是把項(xiàng)或項(xiàng)表的數(shù)據(jù)(字符串按字符順序以ASCII碼)存入從標(biāo)號(hào)地址開(kāi)始的連續(xù)存儲(chǔ)單元中。,例如: ORG 2000H TAB1: DB 30H, 8AH, 7FH, 73 DB 5, A, BCD 由ORG 2000H得TAB1的地址為2000H, 因此, 以上偽指令經(jīng)匯編后, 將對(duì)2000H開(kāi)始的連續(xù)存儲(chǔ)單元賦值: (2000H)=30H (2001H)=8AH (2002H)=7FH (2003H)=49H ; 十進(jìn)制數(shù)73以十六進(jìn)制數(shù)存放 (2004H)=35H ; 35H是數(shù)字5的ASCII碼 (2005H)=41H ; 41H是字母A的ASCII碼 (2006H)=42H ; 42H是字符串BCD中B的ASCII碼 (2007H)=43H ; 43H是字符串BCD中C的ASCII碼 (2008H)=44H ; 44H是字符串BCD中D的ASCII碼,4) 定義字偽指令DW 格式: 標(biāo)號(hào): DW 項(xiàng)或項(xiàng)表 DW偽指令與DB相似, 但用于定義字的內(nèi)容。 項(xiàng)或項(xiàng)表指所定義的一個(gè)字(兩個(gè)字節(jié))或用逗號(hào)分開(kāi)的字串。 匯編時(shí), 機(jī)器自動(dòng)按高8位先存入, 低8位在后的格式排列。 例如: ORG 1500H TAB2: DW 1234H, 80H 匯編以后: (1500H)=12H, (1501H)=34H, (1502H)=00H, (1503H)=80H。,5) 預(yù)留存儲(chǔ)空間偽指令DS 格式: 標(biāo)號(hào): DS 表達(dá)式 該偽指令的功能是從標(biāo)號(hào)地址開(kāi)始, 保留若干個(gè)字節(jié)的內(nèi)存空間以備存放數(shù)據(jù)。 保留的字節(jié)單元數(shù)由表達(dá)式的值決定。,例如: ORG 1000H DS 20H DB 30H, 8FH 匯編后從1000H開(kāi)始, 預(yù)留32(20H)個(gè)字節(jié)的內(nèi)存單元, 然后從1020H開(kāi)始, 按照下一條DB指令賦值, 即(1020H)=30H, (1021H)=8FH。,6) 等值偽指令EQU 格式: 標(biāo)號(hào): EQU 項(xiàng) 該偽指令的功能是將指令中的項(xiàng)的值賦予EQU前面的標(biāo)號(hào)。 項(xiàng)可以是常數(shù)、 地址標(biāo)號(hào)或表達(dá)式。 例如: TAB1: EQU 1000H TAB2: EQU 2000H 匯編后, TAB1、 TAB2分別具有值1000H、 2000H。 用EQU偽指令對(duì)某標(biāo)號(hào)賦值后, 該標(biāo)號(hào)的值在整個(gè)程序中不能再改變。,7) 位地址定義偽指令BIT 格式: 標(biāo)號(hào): BIT 位地址 該偽指令的功能是將位地址賦予BIT前面的標(biāo)號(hào), 經(jīng)賦值后可用該標(biāo)號(hào)代替BIT后面的位地址。 例如: PLG: BIT F0 AI: BIT P1.0 經(jīng)以上偽指令定義后, 在程序中就可以把FLG和AI作為位地址來(lái)使用。,4.2.程序設(shè)計(jì) = 蓋房子,蓋個(gè)啥樣的房子 (1.明確任務(wù),構(gòu)思框架) 找原料(2.合理利用資源) 選擇方法(3.算法) 設(shè)計(jì)步驟(4.流程圖) 開(kāi)始蓋(5.編寫程序) 住進(jìn)去(6.測(cè)試),開(kāi)始,處理框,判斷框,流程線,4.3.程序結(jié)構(gòu),1.順序

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論