




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第四章第四章匯編語言程序設計知識匯編語言程序設計知識4.1 4.1 編程的步驟編程的步驟4.2 4.2 偽指令偽指令4.3 4.3 編程的方法和技巧編程的方法和技巧4.4 4.4 匯編語言程序的基本結構匯編語言程序的基本結構注:可以預約做實驗注:可以預約做實驗1、分析問題、分析問題 對需要解決的問題進行分析,以求對問題有對需要解決的問題進行分析,以求對問題有正確的理解。正確的理解。 解決問題的任務是什么?解決問題的任務是什么? 工作過程?工作過程? 現(xiàn)有的條件,已知數(shù)據(jù),對運算的精度和速現(xiàn)有的條件,已知數(shù)據(jù),對運算的精度和速 度方面的要求?度方面的要求? 設計的硬件結構是否方便編程?設計的硬件
2、結構是否方便編程?2、確定算法、確定算法 算法是如何將實際問題轉化成程序模塊來處理。算法是如何將實際問題轉化成程序模塊來處理。 在編程以前,先要對幾種不同的算法進行分在編程以前,先要對幾種不同的算法進行分 析、比較,找出最適宜的算法。析、比較,找出最適宜的算法。3、畫程序流程圖、畫程序流程圖 程序流程圖是使用各種程序流程圖是使用各種圖形圖形、符號符號、有向線段有向線段等來說明程序等來說明程序 設計過程的一種直觀的表示。設計過程的一種直觀的表示。 畫流程圖是程序結構設計是采用的一種重要手段。畫流程圖是程序結構設計是采用的一種重要手段。 流程圖步驟分得越細致,編寫程序是也越方便。流程圖步驟分得越細
3、致,編寫程序是也越方便。 一個系統(tǒng)軟件有總的流程圖(主程序框圖)和局部的流程圖。一個系統(tǒng)軟件有總的流程圖(主程序框圖)和局部的流程圖。 流程圖常采用的圖形和符號。流程圖常采用的圖形和符號。橢圓框橢圓框或桶形框或桶形框:表示程序的開始或結束。:表示程序的開始或結束。矩形框矩形框:表示要進行的工作。:表示要進行的工作。菱形框菱形框:表示要判斷的事情,菱形框內的:表示要判斷的事情,菱形框內的 表達式表示要判斷的內容。表達式表示要判斷的內容。圓圈圓圈:表示連接點:表示連接點指向線指向線:表示程序的流向:表示程序的流向開始開始將學生成績存入將學生成績存入累加器累加器A中中比較比較(A)與與#60的大小的
4、大小(A)=#60?增加增加R1的值的值打印學生成績打印學生成績(A)#60?增加增加R2的值的值結束結束YESYESNONO4、編寫程序、編寫程序n用用89C51匯編語言編寫的源程序行(一條語句)包括四個部匯編語言編寫的源程序行(一條語句)包括四個部分,也叫四個字段:分,也叫四個字段: 標號標號:操作碼操作碼操作數(shù)操作數(shù);注釋注釋n每個字段之間要用分隔符分隔,而每個字段內部不能使用分每個字段之間要用分隔符分隔,而每個字段內部不能使用分隔符??梢杂米鞣指舴姆枺嚎崭窀舴???梢杂米鞣指舴姆枺嚎崭瘛?”、冒號、冒號“:”、逗號逗號“,”、分號、分號“;”等。等。 例:例:LOOP:MOV A
5、,#00H ;立即數(shù);立即數(shù)00HA4、編寫程序、編寫程序標號標號:操作碼操作碼操作數(shù)操作數(shù);注釋注釋n出現(xiàn)在助記符之前的,是由用戶定義的一個字符串。出現(xiàn)在助記符之前的,是由用戶定義的一個字符串。n一條指令的標號是該條指令的符號名字,標號的值是匯編這一條指令的標號是該條指令的符號名字,標號的值是匯編這條指令時指令的地址,代表條指令時指令的地址,代表16位長的位長的ROM地址編碼。地址編碼。n標號可以由賦值偽指令賦值,如果沒有賦值,匯編程序把存標號可以由賦值偽指令賦值,如果沒有賦值,匯編程序把存放該指令目標碼第一字節(jié)的存儲單元的地址賦給該標號,所放該指令目標碼第一字節(jié)的存儲單元的地址賦給該標號,
6、所以,標號又叫以,標號又叫指令標號指令標號。n并不是每一條語句都需要標號,只有那些欲被引用的語句才并不是每一條語句都需要標號,只有那些欲被引用的語句才需要。需要。(1 1)標號)標號4、編寫程序、編寫程序標號標號:操作碼操作碼操作數(shù)操作數(shù);注釋注釋n對于標號的限定:對于標號的限定: 最多可由最多可由31個字符構成,字符可以是個字符構成,字符可以是英文字母英文字母(一般不區(qū)一般不區(qū) 分大小寫分大小寫)、阿拉伯數(shù)字阿拉伯數(shù)字和其他字符和其他字符(“?”和和“_”);); 第一字符必須是第一字符必須是非數(shù)字非數(shù)字; 后面跟冒號后面跟冒號“:”; 一個標號在程序中只能定義一次;一個標號在程序中只能定義
7、一次; 標號不能為指令助記符、偽指令、標號不能為指令助記符、偽指令、SFR名稱等系統(tǒng)保留字。名稱等系統(tǒng)保留字。(1 1)標號)標號4、編寫程序、編寫程序標號標號:操作碼操作碼操作數(shù)操作數(shù);注釋注釋(2 2)操作碼)操作碼n操作碼是必不可少的。操作碼是必不可少的。n它用一組字母符號表示指令的操作碼。在它用一組字母符號表示指令的操作碼。在89C51中,由中,由指令助記符組成。指令助記符組成。n一般留出標號字段的空位,以便與標號相區(qū)別。一般留出標號字段的空位,以便與標號相區(qū)別。4、編寫程序、編寫程序標號標號:操作碼操作碼操作數(shù)操作數(shù);注釋注釋(3 3)操作數(shù))操作數(shù)n匯編語言指令可能要求或不要求操作
8、數(shù),所以這一字段匯編語言指令可能要求或不要求操作數(shù),所以這一字段可能有也可能沒有??赡苡幸部赡軟]有。n若有兩個操作數(shù),操作數(shù)之間用逗號若有兩個操作數(shù),操作數(shù)之間用逗號“,”分開。分開。n操作數(shù)字段的內容復雜多樣,可能包括:操作數(shù)字段的內容復雜多樣,可能包括: 由由RS0和和RS1規(guī)定的當前工作寄存器區(qū)中的規(guī)定的當前工作寄存器區(qū)中的R0R7。 21個特殊功能寄存器個特殊功能寄存器SFR的名字。的名字。 賦值標號賦值標號 由匯編指令由匯編指令EQU等賦值的標號;等賦值的標號; 指令標號指令標號 指令標號指示的指令的第一字節(jié)地址是該標號的值。指令標號指示的指令的第一字節(jié)地址是該標號的值。 用來表示程
9、序計數(shù)器的當前值。用來表示程序計數(shù)器的當前值。(3 3)操作數(shù))操作數(shù) 符號符號 可為二進制(可為二進制(B)、八進制()、八進制(O)、十進制()、十進制(D)、十六進制()、十六進制(H) 或字符串?;蜃址?。(3 3)操作數(shù))操作數(shù) 數(shù)值數(shù)值 匯編時,計算出表達式的值填入目標碼。匯編時,計算出表達式的值填入目標碼。 一般缺省情況下,匯編器默認的數(shù)值是十進制數(shù)值;一般缺省情況下,匯編器默認的數(shù)值是十進制數(shù)值; 若常數(shù)以字符若常數(shù)以字符AF開頭,必須在其前面加開頭,必須在其前面加“0”作為引導,以便作為引導,以便 與標號或符號名相區(qū)別。與標號或符號名相區(qū)別。 表達式表達式4、編寫程序、編寫程
10、序標號標號:操作碼操作碼操作數(shù)操作數(shù);注釋注釋(4 4)注釋)注釋n注釋部分不是匯編語言的功能部分,只是用語增加程序注釋部分不是匯編語言的功能部分,只是用語增加程序的可讀性。的可讀性。n良好的注釋是匯編語言程序編寫中的重要組成部分。良好的注釋是匯編語言程序編寫中的重要組成部分。n由由“;”或或“/*/”表示。表示。5、上機調試、上機調試 偽指令不是真正的指令,它主要是為匯編程序服務的,在偽指令不是真正的指令,它主要是為匯編程序服務的,在匯編過程中起控制作用的指示性語句。無地址、無對應的機匯編過程中起控制作用的指示性語句。無地址、無對應的機器碼,在匯編時不產生目標程序。器碼,在匯編時不產生目標程
11、序。 ORG 匯編起始地址命令匯編起始地址命令 END 匯編語言程序結束偽指令匯編語言程序結束偽指令 EQU 賦值偽指令賦值偽指令 DB 定義字節(jié)偽指令定義字節(jié)偽指令 DW 定義字偽指令定義字偽指令 BIT 位地址符號偽指令位地址符號偽指令 DATA 定義標號數(shù)值偽指令定義標號數(shù)值偽指令1、ORG 匯編起始地址命令匯編起始地址命令 ORG 16位地址位地址規(guī)定該偽指令后面程序的匯編地址,即匯編后生成目規(guī)定該偽指令后面程序的匯編地址,即匯編后生成目 標程序存放的起始地址。標程序存放的起始地址。ORG 2000H START:MOV A,#64H n規(guī)定了規(guī)定了START的地址是的地址是2000H
12、,又規(guī)定了匯編后的第一條指令,又規(guī)定了匯編后的第一條指令碼從碼從2000H開始存放。開始存放。注意:在一個源程序中,可以多次使用注意:在一個源程序中,可以多次使用ORG指令,來規(guī)定不同的程指令,來規(guī)定不同的程序段的起始地址。但是,地址必須由小到大排列,不能交叉、重疊。序段的起始地址。但是,地址必須由小到大排列,不能交叉、重疊。2、END 匯編結束命令匯編結束命令 END通知匯編程序結束匯編。在通知匯編程序結束匯編。在END之后所有的匯編指令均之后所有的匯編指令均 不予以處理。不予以處理。3、EQU 賦值命令賦值命令 字符名稱字符名稱 EQU 項項(數(shù)或匯編符號)(數(shù)或匯編符號)把把“項項”賦給
13、賦給“字符名稱字符名稱”。字符名稱不等于標號(其后沒有冒號);其中的項,可字符名稱不等于標號(其后沒有冒號);其中的項,可以是數(shù),也可以是匯編符號。以是數(shù),也可以是匯編符號。EQU賦值過的符號名可以用作數(shù)賦值過的符號名可以用作數(shù)據(jù)、代碼地址、位地址或一個立即數(shù)。可以是據(jù)、代碼地址、位地址或一個立即數(shù)。可以是8位的,也可以是位的,也可以是16位的。位的。為程序的閱讀、修改為程序的閱讀、修改和調試帶來方便和調試帶來方便3、EQU 賦值命令賦值命令 例例2: A10 EQU 10 DELY EQU 07EBH MOV A,A10 ;A10作為片內的一個直接地址作為片內的一個直接地址 LCALL DE
14、LY ;DELY作為一個作為一個16位子程序的入口地址位子程序的入口地址4、DATA 數(shù)據(jù)地址賦值命令數(shù)據(jù)地址賦值命令 字符名稱字符名稱 DATA 表達式表達式與與EQU類似,但有以下差別:類似,但有以下差別: EQU定義的字符名必須先定義后使用,而定義的字符名必須先定義后使用,而DATA定義的字定義的字 符名可以符名可以后定義先使用后定義先使用。 用用EQU指令可以把一個匯編符號賦給一個名字,而指令可以把一個匯編符號賦給一個名字,而DATA 只能把只能把數(shù)據(jù)數(shù)據(jù)賦給字符名。賦給字符名。 DATA語句可以把一個語句可以把一個表達式表達式的值賦給字符名稱,其中的表的值賦給字符名稱,其中的表 達式
15、應是可求值的。達式應是可求值的。 DATA偽指令在程序中用來定義數(shù)據(jù)地址。偽指令在程序中用來定義數(shù)據(jù)地址。5、DB 定義字節(jié)命令定義字節(jié)命令 DB 項或項表項或項表通知匯編程序從當前通知匯編程序從當前ROM地址開始,保留一個字或字節(jié)地址開始,保留一個字或字節(jié) 串的存儲單元,并存入串的存儲單元,并存入DB后的數(shù)據(jù)。后的數(shù)據(jù)。項或項表可以是一個字節(jié),用逗號隔開的字節(jié)串或括在項或項表可以是一個字節(jié),用逗號隔開的字節(jié)串或括在 單引號中的單引號中的ASCII字符串。字符串。 ORG 2000H DB 0A3HLIST:DB 26H,03HSTR: DB ABC 經(jīng)匯編后經(jīng)匯編后:(2000H)=A3H,
16、 (2001H)=26H, (2002H)=03H, (2003H)=41H, (2004H)=42H, (2005H)=43H, (41H,42H,43H分別為分別為A,B,C的的ASCII碼)碼)5、DB 定義字節(jié)命令定義字節(jié)命令 2000H2000H2001H2001H2002H2002H2003H2003H2004H2004H2005H2005HA3H26H03H41H42H43H6、DW 定義字命令定義字命令 DW 16位數(shù)據(jù)項或項表位數(shù)據(jù)項或項表把把DW后的后的16位數(shù)據(jù)項或項表從當前地址連續(xù)存放。位數(shù)據(jù)項或項表從當前地址連續(xù)存放。 每項數(shù)值為每項數(shù)值為16位二進制數(shù),高位二進制數(shù)
17、,高8位先放,低位先放,低8位后存位后存 放。放。DW用于定義一個地址表。用于定義一個地址表。 ORG 1500HTABLE:DW 7234H,8AH,10H,H (1500H)=72H, (1501H)=34H, (1502H)=00H, (1503H)=8AH,(,(1504H)=00H, (1505H)=10H。(1506H)=00H,(,(1507H)=48H (H的的ASCII值值)經(jīng)匯編后:經(jīng)匯編后:雙字節(jié)雙字節(jié)7、DS 定義存儲空間命令定義存儲空間命令 ORG 1000HDS 08HDB 30H,8AHDS 表達式表達式在匯編時,從指定地址開始保留在匯編時,從指定地址開始保留DS
18、之后表達式的值所之后表達式的值所 規(guī)定的存儲單元以備后用。規(guī)定的存儲單元以備后用。匯編后,從匯編后,從1000H保留保留8個單元,然后從個單元,然后從1008H按按DB命令給內命令給內存賦值,即(存賦值,即(1008H)=30H, (1009H)=8AH8、BIT 定義存儲空間命令定義存儲空間命令 A1 BIT P1.0A2 BIT 02H匯編后,匯編后,P1口第口第0位的位地址位的位地址90H就賦給了就賦給了A1,而而A2的值則為的值則為02H。字符名字符名 BIT 位地址位地址把把BIT后的位地址值賦給字符名。其中字符名不是標號,后的位地址值賦給字符名。其中字符名不是標號, 其后沒有冒號,
19、但字符名是必須的。其后沒有冒號,但字符名是必須的。n源程序:(XCH.ASM)n ORG 0000Hn LJMPMAINnnORG 0030HnMAIN: MOV30H, #12Hn MOV31H, #34Hn MOVA, 30Hn MOV30H, 31Hn MOV31H, Ann SJMP$n END1 1、模塊化的程序設計方法、模塊化的程序設計方法2 2、編程技巧、編程技巧1 1、模塊化的程序設計方法、模塊化的程序設計方法n單個模塊結構的程序功能單一,易于編寫、調試和修改。單個模塊結構的程序功能單一,易于編寫、調試和修改。n便于分工,從而可使多個程序員同時進行程序的編寫和調試便于分工,從而
20、可使多個程序員同時進行程序的編寫和調試工作,加快軟件研制進度。工作,加快軟件研制進度。n程序可讀性好,便于功能擴充和版本升級。程序可讀性好,便于功能擴充和版本升級。n對程序的修改可局部進行,其它部分可以保持不變。對程序的修改可局部進行,其它部分可以保持不變。n對于使用頻繁的子程序可建立子程序庫,便于多個模塊調用。對于使用頻繁的子程序可建立子程序庫,便于多個模塊調用。(1 1)程序功能模塊化的優(yōu)點)程序功能模塊化的優(yōu)點1 1、模塊化的程序設計方法、模塊化的程序設計方法n每個模塊應具有獨立的功能,能產生一個明確的結果,即單每個模塊應具有獨立的功能,能產生一個明確的結果,即單模塊的功能模塊的功能高內
21、聚性高內聚性。n模塊之間的控制耦合應盡量簡單,數(shù)據(jù)耦合應盡量少,即模模塊之間的控制耦合應盡量簡單,數(shù)據(jù)耦合應盡量少,即模塊間的塊間的低耦合性低耦合性??刂岂詈鲜侵改K進入和退出的條件及方??刂岂詈鲜侵改K進入和退出的條件及方式,數(shù)據(jù)耦合是指模塊間的信息交換方式、交換量的多少及式,數(shù)據(jù)耦合是指模塊間的信息交換方式、交換量的多少及交換頻繁程度。交換頻繁程度。n模塊長度適中。模塊長度適中。20條條100條的范圍較合適。條的范圍較合適。(2 2)劃分模塊的原則)劃分模塊的原則2 2、編程技巧、編程技巧n盡量采用盡量采用循環(huán)結構循環(huán)結構和和子程序子程序。n盡量少用盡量少用無條件轉移指令無條件轉移指令。n
22、對于通用的子程序,考慮到其通用性,除了用于存放子程序對于通用的子程序,考慮到其通用性,除了用于存放子程序入口參數(shù)的寄存器外,子程序中用到的其他寄存器的內容應入口參數(shù)的寄存器外,子程序中用到的其他寄存器的內容應壓入堆棧(返回前再彈出),即壓入堆棧(返回前再彈出),即保護現(xiàn)場保護現(xiàn)場。n在中斷處理程序中,除了要保護處理程序中用到的寄存器外,在中斷處理程序中,除了要保護處理程序中用到的寄存器外,還要還要保護標志寄存器保護標志寄存器。n用累加器傳遞入口參數(shù)或返回參數(shù)比較方便,在子程序中,用累加器傳遞入口參數(shù)或返回參數(shù)比較方便,在子程序中,一般不必把累加器內容壓入堆棧。一般不必把累加器內容壓入堆棧。1
23、1、順序程序、順序程序2 2、分支程序、分支程序3 3、循環(huán)程序、循環(huán)程序1 1、順序程序、順序程序n順序程序是最簡單的程序結構,也稱直線程序。順序程序是最簡單的程序結構,也稱直線程序。n程序按順序一條一條地執(zhí)行指令。這類程序是所有復雜程序程序按順序一條一條地執(zhí)行指令。這類程序是所有復雜程序的基礎。的基礎。n要寫出高質量的程序還是需要掌握一定的技巧,需要熟悉指要寫出高質量的程序還是需要掌握一定的技巧,需要熟悉指令系統(tǒng),正確地選擇指令,最大限度地優(yōu)化程序。令系統(tǒng),正確地選擇指令,最大限度地優(yōu)化程序。2 2、分支程序、分支程序n程序分支是通過條件轉移指令實現(xiàn)的,即根據(jù)條件對程序的程序分支是通過條件
24、轉移指令實現(xiàn)的,即根據(jù)條件對程序的執(zhí)行進行判斷、滿足條件則進行程序轉移,不滿足條件就順執(zhí)行進行判斷、滿足條件則進行程序轉移,不滿足條件就順序執(zhí)行程序。序執(zhí)行程序。n分支程序又分為分支程序又分為單分支單分支和和多分支多分支結構。結構。n多分支程序是首先把分支程序按序號排列,然后按序號值進多分支程序是首先把分支程序按序號排列,然后按序號值進行轉移。行轉移。n在在MCS-51指令系統(tǒng)中,通過條件判斷實現(xiàn)單分支程序轉移指令系統(tǒng)中,通過條件判斷實現(xiàn)單分支程序轉移的指令有:的指令有:JZ、JNZ、CJNE、DJNZ等。此外還有以位狀態(tài)等。此外還有以位狀態(tài)作為條件進行程序分支的指令,如作為條件進行程序分支的
25、指令,如JC、JNC、JB、JNB、JBC等。使用這些指令可以完成等。使用這些指令可以完成0、1、正、負,以及相等、正、負,以及相等、不相等作為各種條件判斷依據(jù)的程序轉移。不相等作為各種條件判斷依據(jù)的程序轉移。散轉指令散轉指令轉向轉向0分支分支轉向轉向1分支分支轉向轉向n-1分支分支轉向轉向n分支分支K=0K=1K=n-1K=nJMP_128:MOV A,R3 RL A MOV DPTR,#JMPTAB JMP A+DPTRJMPTAB:AJMP ROUT00 AJMP ROUT01 AJMP ROUT7F 128種分支轉移程序。種分支轉移程序。根據(jù)入口條件轉移到根據(jù)入口條件轉移到128個目的
26、地址。個目的地址。(R3)=轉移目的地址的序號轉移目的地址的序號00H7FH。轉移到相應子程序入口。轉移到相應子程序入口。128個子程序首址個子程序首址;A循環(huán)左移一位,相當于循環(huán)左移一位,相當于2n此程序要求此程序要求128個轉移目的地址(個轉移目的地址(ROUT00 ROUT7FH)必須駐留在與絕對轉移指令)必須駐留在與絕對轉移指令AJMP相同的一個相同的一個2KB存儲區(qū)內。存儲區(qū)內。nRL指令對變址部分乘以指令對變址部分乘以2,因為每條,因為每條AJMP指令指令占兩個字節(jié)。占兩個字節(jié)。3 3、循環(huán)程序、循環(huán)程序n在程序運行時,有時需要連續(xù)重復執(zhí)行某段程序,可以在程序運行時,有時需要連續(xù)重
27、復執(zhí)行某段程序,可以使用循環(huán)程序。其結構包括四部分:使用循環(huán)程序。其結構包括四部分: 置循環(huán)初值置循環(huán)初值 循環(huán)體(循環(huán)工作部分)循環(huán)體(循環(huán)工作部分) 修改控制變量修改控制變量 循環(huán)控制部分循環(huán)控制部分n其組織方式如圖其組織方式如圖4-2所示。所示。置初值置初值循環(huán)體循環(huán)體循環(huán)修改循環(huán)修改循環(huán)控制循環(huán)控制?退出循環(huán)退出循環(huán)NY(a)組織方式)組織方式1置初值置初值循環(huán)體循環(huán)體循環(huán)修改循環(huán)修改循環(huán)控制循環(huán)控制?退出循環(huán)退出循環(huán)NY(b)組織方式)組織方式2圖圖4-2 4-2 循環(huán)組織方式流程圖循環(huán)組織方式流程圖(1 1)置循環(huán)初值)置循環(huán)初值3 3、循環(huán)程序、循環(huán)程序n對于循環(huán)程序中所使用的工
28、作單元,在循環(huán)對于循環(huán)程序中所使用的工作單元,在循環(huán)開始時應置初值。開始時應置初值。n 例如,工作寄存器設置計數(shù)初值,累加器例如,工作寄存器設置計數(shù)初值,累加器 A清清0,以及設置地址指針、長度等。,以及設置地址指針、長度等。(2 2)循環(huán)體(循環(huán)工作部分)循環(huán)體(循環(huán)工作部分)3 3、循環(huán)程序、循環(huán)程序n重復執(zhí)行的程序段部分,分為循環(huán)工作部分重復執(zhí)行的程序段部分,分為循環(huán)工作部分和循環(huán)控制部分。和循環(huán)控制部分。n 循環(huán)控制部分每循環(huán)一次,檢查結束條件,循環(huán)控制部分每循環(huán)一次,檢查結束條件, 當滿足條件時,就停止循環(huán),往下繼續(xù)執(zhí)行當滿足條件時,就停止循環(huán),往下繼續(xù)執(zhí)行 其他程序。其他程序。(3
29、 3)修改控制變量)修改控制變量3 3、循環(huán)程序、循環(huán)程序n在循環(huán)程序中,必須給出循環(huán)在循環(huán)程序中,必須給出循環(huán)結束條件結束條件。n常見的是常見的是計數(shù)循環(huán)計數(shù)循環(huán),當循環(huán)了一定的次數(shù)后,就停止循環(huán)。,當循環(huán)了一定的次數(shù)后,就停止循環(huán)。n在單片機中,一般用一個工作寄存器在單片機中,一般用一個工作寄存器Rn作為計數(shù)器,對該計作為計數(shù)器,對該計數(shù)器賦初值作為循環(huán)次數(shù)。每循環(huán)一次,計數(shù)器的值減數(shù)器賦初值作為循環(huán)次數(shù)。每循環(huán)一次,計數(shù)器的值減1,即修改循環(huán)控制變量,當計數(shù)器的置件為即修改循環(huán)控制變量,當計數(shù)器的置件為0時,就停止循環(huán)。時,就停止循環(huán)。(4 4)循環(huán)控制部分)循環(huán)控制部分3 3、循環(huán)程序
30、、循環(huán)程序n根據(jù)循環(huán)結束條件,判斷是否結束循環(huán)。根據(jù)循環(huán)結束條件,判斷是否結束循環(huán)。n 89C51可采用可采用DJNZ指令來自動修改控制變指令來自動修改控制變 量并能結束循環(huán)。量并能結束循環(huán)。n若循環(huán)程序的循環(huán)體中不再包含循環(huán)程序,即為若循環(huán)程序的循環(huán)體中不再包含循環(huán)程序,即為單重循環(huán)單重循環(huán)程序。如果在循環(huán)體中還包含循環(huán)程序,那么這種現(xiàn)象稱程序。如果在循環(huán)體中還包含循環(huán)程序,那么這種現(xiàn)象稱為為循環(huán)嵌套循環(huán)嵌套。n 注意:注意:多重循環(huán)程序中,只允許外重循環(huán)嵌套內重循環(huán)程多重循環(huán)程序中,只允許外重循環(huán)嵌套內重循環(huán)程序,不允許循環(huán)互相相交,也不允許從循環(huán)程序的外部跳序,不允許循環(huán)互相相交,也不允許從循環(huán)程序的外部跳入循環(huán)程序的內部。入循環(huán)程序的內部。 3 3、循環(huán)程序、循環(huán)程序 從從22H單元開始有一無符號數(shù)據(jù)塊,其長度為單元開始有一無符號數(shù)據(jù)塊,其長度為20H單元,單元, 求出數(shù)據(jù)塊中最大值,并存入求出數(shù)據(jù)塊中最大值,并存
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 會計規(guī)程管理制度
- 會議策劃管理制度
- 傳統(tǒng)銀行管理制度
- 湖南商務職業(yè)技術學院《數(shù)理統(tǒng)計理論與方法國際2》2023-2024學年第二學期期末試卷
- 低壓成套管理制度
- 住培人員管理制度
- 體育學科管理制度
- 上海海洋大學《聲樂基礎(2)》2023-2024學年第二學期期末試卷
- 作業(yè)控制管理制度
- 作坊衛(wèi)生管理制度
- 校園欺凌模擬法庭劇本
- 復合性潰瘍的健康宣教
- 山東電動伸縮雨棚施工方案
- 新媒體營銷技術與應用PPT完整全套教學課件
- 第5章紅外教學課件
- 卡氏肺孢子蟲肺炎
- 大足縣某水庫除險加固工程施工組織設計
- 基于單片機數(shù)字電壓表電路設計外文文獻原稿和譯文
- JJG 1149-2022電動汽車非車載充電機(試行)
- 2023版浙江評審衛(wèi)生高級專業(yè)技術資格醫(yī)學衛(wèi)生刊物名錄
- GB/T 1689-1998硫化橡膠耐磨性能的測定(用阿克隆磨耗機)
評論
0/150
提交評論