freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

06-第四章程序設計(更新版)

2025-02-09 03:15上一頁面

下一頁面
  

【正文】 大量參數(shù),不必為特定的參數(shù)分配存貯單元。n 一般如參數(shù)在內(nèi)部 RAM中,可用 R0或 R1作指針。n 子程序的調(diào)用,一般包含兩個部分:保護現(xiàn)場和恢復現(xiàn)場。處理程序的入口分別是LOP0~ LOP2。n MCS51指令系統(tǒng)中有一條跳轉(zhuǎn)指 JMP A+DPTR,用它可以容易地實現(xiàn)散轉(zhuǎn)功能。它是一個三重循環(huán)程序,利用程序嵌套的方法對時間實行延遲是程序設計中常用的方法。計算機與通信工程學院主要語句n 尋址方式n 寄存器間接尋址n MOV A,Rin MOVX A,DPTRn MOVX A,Rin 基址寄存器 +變址寄存器間接尋址n MOVC A,A+DPTRn MOVC A,A+PCn 循環(huán)計數(shù)n DJNZ Rn,reln DJNE A,direct,reln JZ(JNZ,JC,JNC,JB,JNB) rel計算機與通信工程學院例 45 工作單元清零n 將 40H為起點的 8個單元清 “0”n ORG 0000Hn CLEAR: CLR A ; A清 0n MOV R0, 40H ;確定清 0單元起始地址n MOV R7, 08 ;確定要清除的單元個數(shù)n LOOP: MOV R0, A ;清單元n INC R0 ;指向下一個單元n DJNZ R7, LOOP ;控制循環(huán)n END計算機與通信工程學院例 45 工作單元清零n 例如:設有 50個外部 RAM單元要清 “0”,即為循環(huán)次數(shù)存放在 R2寄存器中,其首址存放在DPTR中,設為 2023H n ORG 0000Hn MOV DPTR, 2023H n CLEAR: CLR An MOV R2, 32H ; 置計數(shù)值n LOOP: MOVX DPTR, An INC DPTR ; 修改地址指針n DJNZ R2, LOOP ; 控制循環(huán)n END 計算機與通信工程學院例 45 工作單元清零n 寫成通用子程序形式:n CLEAR: CLR An LOOP: MOVX DPTR, An INC DPTR ; 修改地址指針n DJNZ R2, LOOP ; 控制循環(huán)n RETn 完整調(diào)用n ORG 0000Hn MOV DPTR, 2023Hn MOV R2, 50n ACALL CLEARn SJMP $n CLEAR: CLR An LOOP: n MOVX DPTR, An INC DPTR ; 修改地址指針n DJNZ R2, LOOP ; 控制循環(huán)n RETn END計算機與通信工程學院例 46 多個單字節(jié)數(shù)據(jù)求和n 已知有 n個單字節(jié)數(shù)據(jù),依次存放在內(nèi)部 RAM 40H單元開始的連續(xù)單元中。n 修改部分:n 每執(zhí)行一次循環(huán)體后,對指針作一次修改,使指針指向下一數(shù)據(jù)所在位置,為進入下一輪處理作準備。循環(huán)程序中的某些指令可以反復執(zhí)行多次。 兩數(shù)比較n JNC BIG1n XCH A,R2 。因為大部分程序總包含有判斷、比較等情況。計算機是按指令在存儲器中存放的先后次序來順序執(zhí)行程序的。第四章: MCS51程序設計計算機與通信工程學院李耀明一、匯編語言概述n 指令系統(tǒng)n 語句格式n [標號 ]: 操作碼 [操作數(shù) ]。計算機與通信工程學院三、程序設計準則n 結構清晰:便于分析n 層次分明:便于閱讀n 語言簡潔:便于分析n 易于理解:便于閱讀計算機與通信工程學院 簡單程序設計n 簡單程序又稱順序程序。存放結果 n AJMP $n ENDn 執(zhí)行完后如何不改變內(nèi)存和寄存器的值?開始( 40H)內(nèi)容送 A,屏蔽高位,交換高低位 A← ( R0)A與( R1)或后送(42H)?。?41H)內(nèi)容,屏蔽高位,送 A返回圖 42 例 2流程圖計算機與通信工程學院 分支程序設計n 在處理實際事務中,只用簡單程序設計的方法是不夠的。取第二個數(shù)n SUBB A,R2 。n 在處理實際事務時,有時會遇到多次重復處理的問題,用循環(huán)程序的方法來解決就比較合適。n 處理部分:n 為反復執(zhí)行的程序段,是循環(huán)程序的實體。即先根據(jù)判斷結果,控制循環(huán)的執(zhí)行與否,有時可以不進入循環(huán)體就退出循環(huán)程序。n 程序如下:n DEL: MOV R5, 100n DEL0: MOV R6, 200n DEL1: MOV R7, 248n DEL2: DJNZ R7, DEL2 ; 248*2+4n DJNZ R6, DEL1 ;( 248*2+4) *200+4n DJNZ R5, DEL0 ;( 248*2+4) *200+4) *100+4n RETn 上例延時程序?qū)嶋H延時為 。n 由于每一個情況都有判斷和轉(zhuǎn)移,如對 n個情況,需要n個判斷和轉(zhuǎn)移,因此它的缺點是程序比較長。PJ2: MOV DPTR, TAB2 CLR C MOV R5, 0 MOV A, R6 RLC A ; R6*2 JNC AD1 INC DPH ;AD1: ADD A, R6 ;R6*3 JNC AD2 INC DPH ;AD2: JMP A+DPTR TAB2: LJMB LOP0 LJMP LOP1 …… LJMP LOPn END計算機與通信工程學院例 417 用轉(zhuǎn)移地址表實現(xiàn)散轉(zhuǎn)n 例 417: 根據(jù) R3的內(nèi)容轉(zhuǎn)向?qū)幚沓绦?。n 有兩條調(diào)用子程序指令 ACALL及 LCALL,和一條返回主程序的指令 RET。因此,僅需把 R5單元中兩個 BCD數(shù)拆開,分別和 30H相加就行了,可以編出程序如下:n ASCH:n MOV A,R5n ANL A,0F0Hn ORL A,30Hn MOV R6,An MOV A,R5n ANL A,0FHn ORL A,30Hn MOV R7,An RET計算機與通信工程學院用指針寄存器來傳遞參數(shù)n 由于數(shù)據(jù)一般存放在存貯器中,而不是工作寄存器中,故可用指針來指示數(shù)據(jù)的位置,n 可以節(jié)省傳遞數(shù)據(jù)的工作量,并可實現(xiàn)可變長度運算。n 返回主程序后,可用 POP指令得到這些結果參數(shù)。高位返回地址放入堆棧 ,并恢復累加器內(nèi)容n RETn DATA1:n DB 39。n 子程序根據(jù)棧內(nèi)的返回地址,決定從何處找到這些常數(shù)n 然后在需要時,從程序存貯器中讀出這些參數(shù)。n 下例中,字符串全以 0結束。子程序在每一條 MOVC 指令前累加器裝入適當?shù)膮?shù),這樣基本上可 “隨機訪問 ”參數(shù)表
點擊復制文檔內(nèi)容
外語相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1