單片微型計(jì)算機(jī)C第8-9講(機(jī)械)_第1頁
單片微型計(jì)算機(jī)C第8-9講(機(jī)械)_第2頁
單片微型計(jì)算機(jī)C第8-9講(機(jī)械)_第3頁
單片微型計(jì)算機(jī)C第8-9講(機(jī)械)_第4頁
單片微型計(jì)算機(jī)C第8-9講(機(jī)械)_第5頁
已閱讀5頁,還剩55頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、上節(jié)內(nèi)容回顧 MCS51單片機(jī)的指令數(shù)據(jù)傳送類(28條)算術(shù)運(yùn)算類(24條)邏輯運(yùn)算類(25條)控制轉(zhuǎn)移類(17條)位操作類(17條)練習(xí) 已知累加器A當(dāng)前的內(nèi)容為23H,進(jìn)位位C為1,執(zhí)行下列指令后,累加器A和進(jìn)位位C各為多少?ANL A,#7FHORL A,#35XRL A,#FFHRLC ACJNE A,#40H,AAINC ASJMP BBAA:ADD A,#23HBB:SJMP $第8-9講教學(xué)目的和要求【教學(xué)目標(biāo)】通過講述MCS-51單片機(jī)的匯編語言程序設(shè)計(jì)的基本步驟、基本方法,使學(xué)生對指令系統(tǒng)有進(jìn)一步的認(rèn)識和理解,同時(shí)使得學(xué)生掌握使用匯編語言進(jìn)行程序設(shè)計(jì)的方法,通過實(shí)例加以鞏固。

2、【教學(xué)重點(diǎn)】單片機(jī)程序設(shè)計(jì)的基本方法; 查表、差值運(yùn)算、譯碼等簡單程序設(shè)計(jì)方法;【教學(xué)難點(diǎn)】如何將實(shí)際問題轉(zhuǎn)換成單片機(jī)能識別和解決的問題第五章 MCS-51的匯編語言程序設(shè)計(jì)5.1 匯編語言程序設(shè)計(jì)概述語言的發(fā)展機(jī)器語言(Machine Language):二進(jìn)制表示指令和數(shù)據(jù),能被機(jī)器直接識別的計(jì)算機(jī)語言。速度快、占用內(nèi)存少。匯編語言(Assembly Language):采用助記符表示的程序設(shè)計(jì)語言。內(nèi)存空間少,而且執(zhí)行速度快,但移植性差。高級語言(High Level Language):高級語言則是面向用戶的語言,移植性較好。MCS51單片機(jī)支持用匯編語言和C高級語言進(jìn)行編程,在單片機(jī)

3、內(nèi)部最終轉(zhuǎn)換成機(jī)器語言存儲和運(yùn)行。 源程序的編輯與匯編p解決實(shí)際問題時(shí),往往需要根據(jù)業(yè)務(wù)邏輯和支持的指令,完成程序的編寫、調(diào)試、編譯、燒制等過程。匯編語言程序的結(jié)構(gòu) 匯編語言程序的四分段書寫格式標(biāo)號字段 操作碼字段操作數(shù)字段注釋字段START:MOV A,#00H;0AMOV R1,#10;10R1MOV R2,#00000011B ;3R2LOOP:ADD A,R2;(A)+(R2) ADJNZ R1,LOOP;R1減1,若不為0則循環(huán)NOP;延遲1個(gè)機(jī)器周期HERE:SJMP HERE;原地跳轉(zhuǎn)END;程序結(jié)束5.1.1 指令的格式注意:標(biāo)號:表示該指令所在的符號地址,一般由字母和數(shù)字組成

4、,第一位為字母,其余位為字母、數(shù)字任選。操作助記符不能缺少;操作數(shù)個(gè)數(shù)可為:1、2、3個(gè),根據(jù)指令本身而定;2個(gè)操作數(shù)的指令,目的操作數(shù)在左邊;一般格式標(biāo)號: :操作助記符 目的操作數(shù), ,源操作數(shù); ;注釋匯編程序設(shè)計(jì)中,每一行書寫一條指令。指令的補(bǔ)充說明p所有的符號均為英文符號,尤其注意常用的”,”、”;”。若書寫錯(cuò)誤,編譯程序?qū)⑻崾尽安荒茏R別的符號”。p標(biāo)號的書寫標(biāo)號后必須跟冒號。標(biāo)號最大支持18個(gè)字符,且必須以字母開頭同一標(biāo)號在一個(gè)程序中只能定義一次不允許用系統(tǒng)保留字作為標(biāo)號一般只有別的指令需要訪問的語句才有標(biāo)號匯編時(shí),匯編程序自動將標(biāo)號轉(zhuǎn)換成地址。指令的補(bǔ)充說明p立即數(shù)和直接地址的書

5、寫若是十進(jìn)制數(shù),后綴可無,也可以寫D;其他進(jìn)制必須帶后綴。二進(jìn)制B、八進(jìn)制O、十六進(jìn)制H??梢允亲址鏏、YU,編譯時(shí)自動轉(zhuǎn)換成其ASCII可以是指令的標(biāo)號p美元符號$的使用。$符號表示當(dāng)前地址,一般在程序結(jié)束或原地跳轉(zhuǎn)時(shí)使用,以下兩條指令等價(jià):HERE:SJMP HERESJMP $5.1.2 偽指令 偽指令,也稱匯編命令。僅對匯編過程進(jìn)行指示,方便匯編程序?qū)⒋a轉(zhuǎn)換成機(jī)器代碼。 偽指令無對應(yīng)的單片機(jī)可執(zhí)行代碼 偽指令具有控制匯編程序的輸入輸出、定義數(shù)據(jù)和符號、條件匯編,分配存儲空間等功能。 快速理解偽指令:如分配存儲空間偽指令,匯編程序在編譯時(shí),根據(jù)偽指令的指示,完成存儲空間的劃分、初

6、值的置入等工作。無需單片機(jī)去執(zhí)行。5.1.2.1 ORG偽指令n起始地址設(shè)定偽指令n用于指定接下來指令在ROM中的存放位置n使用格式:ORG 16位地址(以四位十六進(jìn)制方式書寫)n舉例:有如下指令段 ORG 2000H START:MOV A,#00Hp注意ORG可以多次使用使用順序必須由小到大ROMMOV A,#00H74H2000H00HORG 偽指令ORG 2500HORG 2000HORG 3000HORG 2000HORG 2500HORG 3000H錯(cuò)誤的書寫方式正確的書寫方式5.1.2.2 END偽指令n匯編終止偽指令n用于告訴匯編程序,將某一段源程序翻譯成機(jī)器指令的工作到此為止

7、。后面的指令將忽略。n在整個(gè)源程序的最后添加END語句。n舉例MOV A,#12HMOV A,#23HENDMOV A,#45HROMMOV A,#12H74H12H74H23HMOV A,#23H5.1.2.3 DB 偽指令 定義字節(jié)數(shù)據(jù)表偽指令 用于從指定地址開始,在ROM的連續(xù)單元中定義字節(jié)數(shù)據(jù) 格式:標(biāo)號: DB 字節(jié)數(shù)據(jù)表。用”,”分割表中的多個(gè)數(shù) 舉例:ORG 1000HTABLE:DB 20H,32,A,8p編譯時(shí):十進(jìn)制等自動轉(zhuǎn)換成十六進(jìn)制字符轉(zhuǎn)換成ASCII碼ROM1000H20H20H41H38H1001H1002H1003HASCII碼表09 :30H39HAZ:41H5

8、AHaz :61H7AH5.1.2.4 DW 偽指令 定義字?jǐn)?shù)據(jù)表偽指令 從指定地址開始,在ROM的連續(xù)單元中定義16位的數(shù)據(jù)字 格式:標(biāo)號: DW 字?jǐn)?shù)據(jù)表。用”,”分割表中的多個(gè)字 舉例:ORG 2000HTABLE:DW 1246H,10ROM2000H12H46H00H0AH2001H2002H2003H5.1.2.5 EQU 偽指令 用于給標(biāo)號賦值 賦值后,后續(xù)程序中可用此標(biāo)號表示對應(yīng)的數(shù)據(jù) 格式:標(biāo)號 EQU 數(shù)據(jù)或匯編表達(dá)式。 舉例:LEN EQU 10*3SUM EQU 21HMOV R7,LEN MOV SUM, A對于常用的常量,采用此種方式后,當(dāng)該常量發(fā)生變化時(shí),無需頻繁

9、更改主程序內(nèi)容,只需修改之前的賦值語句即可。5.1.2.6 BIT 偽指令 將位地址定義成為符號名指令 賦值后,后續(xù)程序中位地址可直接用符號名符號名表示,增加程序的可讀性。 格式:符號名 BIT 位地址表達(dá)式。 舉例:ST BIT P1.0 ;將P1.0的位地址賦給符號名STCF BIT 0D7H ;將位地址為D7H的位定義為符號名p注意:用BIT定義的“符號名”一經(jīng)定義便不能重新定義和改變5.2匯編語言程序設(shè)計(jì)步驟 分析問題根據(jù)任務(wù)的要求,確定程序的功能要求、輸入輸出、解決步驟等問題。 算法設(shè)計(jì)將實(shí)際問題轉(zhuǎn)化為計(jì)算機(jī)處理的程序算法算法比較與優(yōu)化(內(nèi)存需求與運(yùn)行速度)匯編語言程序設(shè)計(jì)步驟 流程

10、描述將算法的內(nèi)容用流程圖的形式表示,更加直觀。典型外設(shè)查詢程序流程匯編語言程序設(shè)計(jì)步驟 分配內(nèi)存等資源將片內(nèi)RAM資源合理分配,把內(nèi)存區(qū)、堆棧區(qū)、各種緩沖區(qū)進(jìn)行合理分配。確定每個(gè)區(qū)域的首地址,便于編程使用。 程序的編寫與調(diào)試根據(jù)以上工作,結(jié)合MCS51單片機(jī)的指令系統(tǒng),完成源代碼的編寫,并上機(jī)調(diào)試,考查各種邊界情況。源程序的編輯 依據(jù)匯編語言規(guī)則 用好偽指令 符號不用中文 SJMP $ 用于調(diào)試 以 .ASM存盤 ORG 0000H LJMP MAIN ORG 0040HMAIN:MOV R7,#16 MOV R0,#60H MOV A,#55HLOOP:MOV R0,A INC R0 DJN

11、Z R7,LOOP SJMP $ ENDROMLJMP 0040H02H0000H00H40H7FH0040H10HMOV R7,#1680H004BHFEHSJMP $程序匯編及連接p源程序的匯編n 匯編源程序轉(zhuǎn)為目標(biāo)程序的過程叫匯編n 匯編通常在Windows下的集成開發(fā)環(huán)境完成n 用A51.EXE匯編生成.OBJ、.LIB及.LSTp目標(biāo)程序的連接n.OBJ、.LIB經(jīng)BL51.EXE生成無擴(kuò)展名的絕對地址目標(biāo)文件n絕對地址目標(biāo)文件可以用于仿真器調(diào)試n調(diào)試無誤的目標(biāo)文件用OH51.EXE轉(zhuǎn)換為.HEX文件n.HEX文件經(jīng)編程器寫入單片機(jī)存儲器注意事項(xiàng)n強(qiáng)化模塊觀念p程序模塊(主程序模塊、

12、各種子程序模塊)p模塊化優(yōu)點(diǎn):分塊設(shè)計(jì)、便于閱讀、調(diào)試方便n采用循環(huán)和子程序p使程序占用空間減少、結(jié)構(gòu)清晰p循環(huán)初值和結(jié)束條件,避免“死機(jī)”現(xiàn)象p子程序的現(xiàn)場保護(hù)(注意棧平衡、寄存器內(nèi)容)5.3匯編語言程序基本結(jié)構(gòu)匯編語言程序主要包含四種結(jié)構(gòu)p順序結(jié)構(gòu)p分支結(jié)構(gòu)p循環(huán)結(jié)構(gòu)p子程序結(jié)構(gòu)5.3.1 順序結(jié)構(gòu) 指令執(zhí)行時(shí),其執(zhí)行順序按照指令在存儲器中的存放順序進(jìn)行的。開始語句1語句n結(jié)束 【特點(diǎn)】順序執(zhí)行,程序通常簡單;無分支、無循環(huán)、無轉(zhuǎn)移圖中無判斷框;順序結(jié)構(gòu)舉例1 數(shù)據(jù)傳送:內(nèi)部RAM的2AH2EH單元中存儲的數(shù)據(jù)如圖所示。試編寫程序?qū)崿F(xiàn)圖示的數(shù)據(jù)傳送結(jié)果。2EH78H56H34H12H2DH

13、2CH2BH00H2AHACC2EH56H34H12H00H2DH2CH2BH00H2AHACC78H方法1 內(nèi)部RAM的2AH2EH單元內(nèi)容傳遞至2BF2EF、A中。MOV A,2EH ;2字節(jié),1個(gè)機(jī)器周期MOV 2EH,2DH ;3字節(jié),2個(gè)機(jī)器周期MOV 2DH,2CH ;3字節(jié),2個(gè)機(jī)器周期MOV 2CH,2BH ;3字節(jié),2個(gè)機(jī)器周期MOV 2BH,#00H ;3字節(jié),2個(gè)機(jī)器周期使用14個(gè)字節(jié)的指令代碼,執(zhí)行時(shí)間為9個(gè)機(jī)器周期2EH78H56H34H12H2DH2CH2BH00H2AHACC78H56H34H12H00H2EH56H34H12H00H2DH2CH2BH00H2AH

14、ACC78H方法2 內(nèi)部RAM的2AH2EH單元內(nèi)容傳遞至2BF2EF、A中。CLR A ;1字節(jié),1個(gè)機(jī)器周期XCH A,2BH ;2字節(jié),1個(gè)機(jī)器周期XCH A,2CH ;2字節(jié),1個(gè)機(jī)器周期XCH A,2DH ;2字節(jié),1個(gè)機(jī)器周期XCH A,2EH ;2字節(jié),1個(gè)機(jī)器周期使用9個(gè)字節(jié)的指令代碼,執(zhí)行時(shí)間為5個(gè)機(jī)器周期2EH78H56H34H12H2DH2CH2BH00H2AHACC00H12H00H34H12H56H34H78H56H2EH56H34H12H00H2DH2CH2BH00H2AHACC78H順序結(jié)構(gòu)舉例2 碼制轉(zhuǎn)換:片內(nèi)RAM的21H單元存放一個(gè)十進(jìn)制數(shù)據(jù)十位的ASCII

15、碼,22H單元存放該數(shù)據(jù)個(gè)位的ASCII碼。編寫程序?qū)⒃摂?shù)據(jù)轉(zhuǎn)換成壓縮BCD碼存放在20H單元。 20H36H34H21H22Hp數(shù)字字符的ASCII碼為30H+數(shù)p如字符3的ASCII碼為33H。p右側(cè)表示存放的為數(shù)據(jù)64。64H程序ASCII到壓縮BCD碼的轉(zhuǎn)換 分析p取21H單元低位數(shù)據(jù),移至高位p取22H單元內(nèi)容,去掉高位p上述結(jié)果組合,傳送至20H單元20H36H34H21H22H64H程序ASCII到壓縮BCD碼的轉(zhuǎn)換程序ORG 0040HSTART: MOV A,21H ;取十位ASCII碼ANL A,#0FH ;保留低半字節(jié)SWAP A ;移至高半字節(jié)MOV 20H,A ;存入

16、20H單元MOV A,22H ;取個(gè)位ASCII碼ANL A,#0FH ;保留低半字節(jié)ORL 20H,A ;合并到結(jié)果單元SJMP $END20H36H34H21H22HACC36H06H60H60H34H04H64H20HX21H程序平方表區(qū)順序結(jié)構(gòu)舉例3 查表程序:有一變量存放在片內(nèi)RAM的20H單元,其取值范圍為:00H05H。要求編制一段程序,使用查表指令,根據(jù)變量值求其平方值,并存入片內(nèi)RAM的21H單元。 X2開始A (21H)(20H)A表格首地址DPTRMOVC A,A+DPTR結(jié)束查表操作程序 ORG 1000HSTART:MOV DPTR,#TABLE MOV A,20H

17、MOVC A,A+DPTR MOV 21H,A SJMP $ ORG 2000HTABLE:DB 00,01,04,09,16,25 END 開始A (21H)(20H)A表格首地址DPTRMOVC A,A+DPTR結(jié)束練習(xí)n根據(jù)累加器A的值(0 7FH)查平方表,求平方值,結(jié)果放在BA中。TABLE:DW 0000H,0001H,0004H,0009H DW 0010H,0019H,MOV DPTR,#TABLEMOVC A,A+DPTRMOV B,AINC AMOVC A,A+DPTRTABLE00H00H00H01HTABLE+100HROM04HTABLE+2TABLE+3TABLE+

18、4TABLE+5RL APUSH ACCPOP ACCMOV DPTR,#TABLERL APUSH ACCMOVC A,A+DPTRMOV B,APOP ACCINC AMOVC A,A+DPTR5.3.2 分支結(jié)構(gòu)p指令執(zhí)行時(shí),根據(jù)不同的情況執(zhí)行不同的程序段。單分支 雙分支 多分支單分支結(jié)構(gòu) 設(shè)累加器A中存儲有符號數(shù)的原碼,編程轉(zhuǎn)換成補(bǔ)碼開始保存A最高位結(jié)束最高位為0NA數(shù)據(jù)位取反+1恢復(fù)符號位YCMPT:JNB Acc.7, RETURN MOV C,Acc.7 CPL A ADD A,#1 MOV Acc.7,CRETURN:SJMP $ END雙分支結(jié)構(gòu)n設(shè)變量x以補(bǔ)碼的形式存放在片

19、內(nèi)RAM的30H單元,變量y與x的關(guān)系是:p當(dāng)x0時(shí),y=x;p當(dāng)x=0時(shí),y=20H;p當(dāng)x0時(shí),y=x;p當(dāng)x=0時(shí),y=20H;p當(dāng)x0,轉(zhuǎn)結(jié)束MOV A, #05H ;x 0處理ADD A, 30H MOV 30H, A ;X+05H送YSJMP DONE5.3.3 循環(huán)結(jié)構(gòu)p按某種控制規(guī)律重復(fù)執(zhí)行的程序稱為循環(huán)程序。循環(huán)程序有先執(zhí)行后判斷和先判斷后執(zhí)行兩種基本結(jié)構(gòu)。例1 延時(shí)程序 編寫一段延時(shí)50ms的程序p若晶振頻率為12MHz,則一個(gè)機(jī)器周期為1s,延時(shí)50ms,則程序的執(zhí)行時(shí)間為50000個(gè)機(jī)器周期。p立即數(shù)取指在0255之間,可考慮200*250=50000。p需要用到減1,

20、結(jié)果不為0則重復(fù)的指令。p執(zhí)行一條DJNZ指令需要2個(gè)機(jī)器周期,即 2s。采用循環(huán)計(jì)數(shù)法實(shí)現(xiàn)延時(shí),需要用到雙重循環(huán)。延時(shí)程序DEL: MOV R7,#200 ;1 sDEL1:NOP ; 1 sDEL1: MOV R6,#? ;1 s NOP ;1 sDEL2:DJNZ R6,DEL2 ;2s DJNZ R7,DEL1 ;2s DEL1: MOV R6,#123 ;1 s共計(jì) (21232 2)200+1 s,即50.001ms例2 未知次數(shù)的循環(huán)將內(nèi)部RAM中起始地址為data的數(shù)據(jù)串傳送到外部RAM中起始地址為buffer的存儲區(qū)域內(nèi),直到發(fā)現(xiàn)$ 字符停止傳送。data?H?Hdata+1

21、內(nèi)部RAM$?bufferbuffer+1外部RAM問題何時(shí)終止傳送?對取出的數(shù)進(jìn)行與S進(jìn)行比較,判斷是否相等。用CJNE 例2 未知次數(shù)的循環(huán)程序?qū)?nèi)部RAM中起始地址為data的數(shù)據(jù)串傳送到外部RAM中起始地址為buffer的存儲區(qū)域內(nèi),直到發(fā)現(xiàn)$ 字符停止傳送。 MOV R0,#data MOV DPTR,#bufferLOOP: MOV A,R0 CJNE A,$,繼續(xù)執(zhí)行地址 結(jié)束 LP:MOVX DPTR,A INC R0 INC DPTR SJMP LOOPLP2: SJMP $ END SJMP LP2 CJNE A,$,LP 5.4 子程序及其調(diào)用p在實(shí)際應(yīng)用中,經(jīng)常會遇到一

22、些帶有通用性的問題,在一個(gè)程序中可能要使用多次。這時(shí)可以將其設(shè)計(jì)成通用的子程序供隨時(shí)調(diào)用,減少代碼冗余。n一個(gè)程序中可以多次調(diào)用一個(gè)子程序n多個(gè)程序可以調(diào)用一個(gè)子程序n子程序可以調(diào)用子程序,最多支持8級p調(diào)用子程序時(shí),單片機(jī)能自動保存PC內(nèi)容,遇RET返回時(shí),能自動恢復(fù)PC程序1子程序RET程序2子程序結(jié)構(gòu) 子程序編寫完成后,使用pACALL 函數(shù)名(短距離調(diào)用)pLCALL 函數(shù)名(整個(gè)ROM區(qū)調(diào)用) 此處的函數(shù)名,實(shí)際上是一個(gè)標(biāo)號,編譯后形成具體的地址。n 子程序的處理過程中,可能要影響PSW、ACC,以及其他的一些功能寄存器,若這些影響是子程序功能的一部分,則無需保護(hù);否則,一定要保護(hù)現(xiàn)

23、場,使得主程序得以正確執(zhí)行。保護(hù)現(xiàn)場子程序處理恢復(fù)現(xiàn)場RET子程序函數(shù)名:通過堆棧進(jìn)行現(xiàn)場的保護(hù)SUB1:PUSH PSW ;保護(hù)現(xiàn)場 PUSH ACC ; PUSH B ; MOV PSW,#10H ;換當(dāng)前工作寄存器組 POP B ;恢復(fù)現(xiàn)場 POP ACC ; POP PSW ; RET注意:保護(hù)和恢復(fù)的工作在子程序中進(jìn)行。保護(hù)與恢復(fù)的順序要對應(yīng)。子程序結(jié)構(gòu) 子程序參數(shù)的傳遞。p調(diào)用子程序時(shí),語句中無法攜帶子程序運(yùn)行所需的參數(shù)。p明確子程序的功能后,對子程序使用的參數(shù),應(yīng)在調(diào)用之前完成數(shù)據(jù)的賦值等工作。p類似乘法指令MUL AB,必須在此指令之前將AB賦值,運(yùn)算才有意義。保護(hù)現(xiàn)場子程序處

24、理恢復(fù)現(xiàn)場RET子程序函數(shù)名:子程序舉例n編寫程序,實(shí)現(xiàn)c=a2+b2 。設(shè)a,b,c分別存于內(nèi)部RAM的30H,31H,32H三個(gè)單元中 如何求數(shù)的平方 MUL AB 左移 查表開始調(diào)用求平方子程序結(jié)束a2R1(31H)A(30H)AA+R1A調(diào)用求平方子程序A32H方法1:直接相乘START:MOV A,30H ;取a ACALL SQR ;調(diào)用乘法 MOV R1,A ;a2 暫存于R1中 MOV A,31H ;取b ACALL SQR ;調(diào)用查平方表 ADD A,R1 ;a2+b2 存于A中 MOV 32H,A ;存結(jié)果 SJMP $ SQR :PUSH PSW MOV B,A MUL

25、AB; POP PSW RET開始調(diào)用求平方子程序結(jié)束a2R1(31H)A(30H)AA+R1A調(diào)用求平方子程序A32H方法2:左移1次START:MOV A,30H ;取a ACALL SQR ;調(diào)用乘法 MOV R1,A ;a2 暫存于R1中 MOV A,31H ;取b ACALL SQR ;調(diào)用查平方表 ADD A,R1 ;a2+b2 存于A中 MOV 32H,A ;存結(jié)果 SJMP $ SQR :PUSH PSW RL A POP PSW RET開始調(diào)用求平方子程序結(jié)束a2R1(31H)A(30H)AA+R1A調(diào)用求平方子程序A32H方法3:查表START:MOV A,30H ;取a ACALL SQR ;調(diào)用乘法 MOV R1,A ;a2 暫存于R1中 MOV A,31H ;取b ACALL SQR ;調(diào)用查平方表 ADD A,R1 ;a2+b2 存于A中 MOV 32H,A ;存結(jié)果 SJMP $ SQR :MOV DPTR,#TAB ;子程序 MOVC A,A+DPTR ; RET TAB :DB 0,1,4,9,16 ,25,36,49,64,81 DB 開始調(diào)用求平方子程序結(jié)束a2R1(31H)A(30H)AA+R1A調(diào)用求平方子程序A32H5.5 綜合舉例 設(shè)有一串字符,依次存放在內(nèi)部RAM從30H單元開始的連續(xù)單元中,該字符串以0AH為結(jié)束標(biāo)識(0AH不計(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論