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

正文內(nèi)容

06-第四章程序設(shè)計(jì)-wenkub

2023-02-02 03:15:15 本頁面
 

【正文】 n 程序設(shè)計(jì)的步驟n ( 1)分析問題,編制說明要解決問題的程序框圖。n ( 2)確定數(shù)據(jù)結(jié)構(gòu)、算法、工作單元、變量設(shè)定 (與高級(jí)語言不同 )n ( 3)根據(jù)所用的指令系統(tǒng),按照已編制的程序框圖用匯編語言編制出源程序。n 子程序及其調(diào)用程序n 主程序使用子程序時(shí),用調(diào)用指令( ACALL),子程序最后放一條 RET指令。計(jì)算機(jī)與通信工程學(xué)院例 41兩個(gè) 8位無符號(hào)數(shù)相加n ORG 0000Hn AJMP BEGINn ORG 0030Hn BEGIN:n MOV 40H,01Hn MOV 41H,02Hn LOOP:n MOV R0,40Hn MOV A,R0n INC R0n ADD A,R0n INC R0n MOV R0,An JMP LOOPn END開始R0←40HA← ( R0)A送( 42H)( 40H) +( 41H)和送 A返回圖 41 例 1流程圖例:將加數(shù)和被加數(shù)分別送入 40H、 41H單元,加完后和送入 42H單元計(jì)算機(jī)與通信工程學(xué)院例 42將兩個(gè)半字節(jié)數(shù)合并成一個(gè)單字節(jié)數(shù) n 程序n ORG 0000Hn AJMP startn ORG 0030Hn START:n MOV sp,60Hn MOV 40h,01hn MOV 41h,02hn loop:n MOV R1,40Hn MOV A,R1n ANL A,0FH 。拼字n INC R1 n MOV R1,A 。n ST1 EQU 8040Hn ORG 0000Hn JMP STARTn ORG 0030Hn START:n MOV DPTR,ST1n MOV A,12Hn MOVX DPTR,An INC DPTRn MOV A,34Hn MOVX DPTR,An LOOP:n CLR C 。暫存 R2n INC DPTRn MOVX A,DPTR 。存大數(shù)n SJMP $n BIG1:n MOVX A,DPTR。n 它們的特點(diǎn)是,每一條指令至多執(zhí)行一次。重復(fù)次數(shù)越多,循環(huán)程序的優(yōu)越性就越明顯。n 如:設(shè)置循環(huán)次數(shù)計(jì)數(shù)器的初值,地址指針置初值,為循環(huán)變量賦初值等。n 通常 4部分又稱為循環(huán)體。n 先控制循環(huán),后進(jìn)入處理部分。n 程序如下:n ORG 8000Hn SAD: MOV R0, 40H ;設(shè)數(shù)據(jù)指針n MOV R5, NUM ; 計(jì)數(shù)值 0AH→ R5n SAD1: MOV R2, 0 ; 和的高 8位清零n MOV R3, 0 ; 和的低 8位清零n LOOP: MOV A, R3 ; 取加數(shù)n ADD A, R0n MOV R3, A ; 存和的低 8位n JNC LOP1 ; 無進(jìn)位,直接計(jì)算高 8位n INC R2 ; 有進(jìn)位,和的高 8位 +1n LOP1: INC R0 ; 指向下一數(shù)據(jù)地址n DJNZ R5, LOOPn RETn NUM EQU 0AHn END n 上述程序中,用 R0作間址寄存器,每作一次加法, R0加 1,數(shù)據(jù)指針指向下一數(shù)據(jù)地址, R5為循環(huán)次數(shù)計(jì)數(shù)器,控制循環(huán)的次數(shù)。n 程序如下:n ORG 0000Hn CONT: MOV R2, 00H ;初始長度設(shè)置n MOV R0, 50H ;數(shù)據(jù)指針 R0置初值n NEXT: CJNE R0, 0DH, LOOP1n RETn LOOP1: INC R0n INC R2n SJMP NEXT n ENDn 待測字符以 ASCII碼形式存放在 RAM中,回車符的 ASCII碼為 0DH,程序中用一條 CJNE R0, 0DH, LOOP指令實(shí)現(xiàn)字符比較及控制循環(huán)的任務(wù),當(dāng)循環(huán)結(jié)束時(shí), R2的內(nèi)容為字符串長度 計(jì)算機(jī)與通信工程學(xué)院例 49 10秒延時(shí)程序n 延時(shí)程序與 MCS51執(zhí)行指令的時(shí)間有關(guān),如果使用 6MHz晶振,一個(gè)機(jī)器周期為 2μs,計(jì)算出執(zhí)行一條指令以至一個(gè)循環(huán)所需要的時(shí)間,給出相應(yīng)的循環(huán)次數(shù),便能達(dá)到延時(shí)的目的。n ( 2)外循環(huán)可以一層層向內(nèi)循環(huán)進(jìn)入,結(jié)束時(shí)由里往外一層層退出。n 有多種方法能實(shí)現(xiàn)散轉(zhuǎn)程序,但通常用逐次比較法,即把所有各個(gè)情況逐一進(jìn)行比較,若有符合便轉(zhuǎn)向?qū)?yīng)的處理程序。n 執(zhí)行 JMP A+DPTR指令后,累加器和 16位數(shù)據(jù)指針的內(nèi)容均不受影響。 計(jì)算機(jī)與通信工程學(xué)院例 416 用 LJMP指令組成轉(zhuǎn)移表 n PJ2: MOV DPTR, TAB2n CLR Cn MOV R5, 0n MOV A, R6n RLC A ; R6*2n JNC AD1n INC R5 ;有進(jìn)位,高 8位加 1n AD1: ADD A, R6 ; R6*3n JNC AD2n INC R5 ;有進(jìn)位,高 8位加 1n AD2: MOV A, R5n ADD A, DPH ; DPTR高 8位調(diào)整n MOV A, R6n JMP A+DPTR ;得散轉(zhuǎn)地址n TAB2: LJMB LOP0n LJMP LOP1n ……n LJMP LOPnn END n 用 AJMP組成的散轉(zhuǎn)表為二字節(jié)一項(xiàng),而用 LJMP組成的散轉(zhuǎn)表則為三字節(jié)一項(xiàng),根據(jù) R6中的內(nèi)容或乘 2,或乘 3得每一處理程序的入口地址表指針。n 一些常用的程序段,以子程序的形式,事先存放在存儲(chǔ)器的某一區(qū)域n 主程序在運(yùn)行時(shí),需要用子程序時(shí),只要執(zhí)行調(diào)用子程序的指令,使程序轉(zhuǎn)至子程序。n 節(jié)省存儲(chǔ)器空間。計(jì)算機(jī)與通信工程學(xué)院工作寄存器或累加器傳遞參數(shù)n 把入口參數(shù)或出口參數(shù)放工作寄存器或累加器中。n 根據(jù) ASCII字符表, 0- 9的 BCD數(shù)和它們的 ASCII碼之間僅相差 30H。 n 例 : 將( R0)和( R1)指出的內(nèi)部 RAM中兩個(gè) 3字節(jié)無符號(hào)整數(shù)相加,結(jié)果送(R0)指出的內(nèi)部 RAM中。n 調(diào)用時(shí),主程序用 PUSH指令把參數(shù)壓入堆棧n 子程序可按棧指針訪問堆棧中的參數(shù),同時(shí)可把結(jié)果參數(shù)送回堆棧中。 計(jì)算機(jī)與通信工程學(xué)院例 419 一位十六進(jìn)制數(shù)轉(zhuǎn)換為 ASCII碼子程序n HASC: MOV R0, SPn DEC R0n DEC R0
點(diǎn)擊復(fù)制文檔內(nèi)容
外語相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1