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

正文內(nèi)容

指令系統(tǒng)與程序設(shè)計(jì)-資料下載頁

2025-09-30 15:21本頁面
  

【正文】 60H 63H SP? 62H 21H 61H 0EH 60H 97 子程序調(diào)用與堆棧 ?子程序嵌套 ?子程序嵌套是指在子程序執(zhí)行過程中還可以調(diào)用另一個(gè)子程序。 ?子程序嵌套的過程 假設(shè)某一主程序在執(zhí)行的過程中調(diào)用子程序 1,子程序 1執(zhí)行的過程中又調(diào)用子程序 2,則子程序嵌套的過程及對(duì)堆棧的操作如下圖所示: 98 子程序調(diào)用與堆棧 ?堆棧先進(jìn)后出的操作原則保證子程序嵌套的實(shí)現(xiàn)。 99 條件轉(zhuǎn)移指令 ?判零條件轉(zhuǎn)移指令 JZ rel;若 A=0轉(zhuǎn)移至 PC+2+rel ,否 則順序執(zhí)行 JNZ rel;若 A?0轉(zhuǎn)移至 PC+2+rel ,否 則順序執(zhí)行 例:編程實(shí)現(xiàn)下列函數(shù) 假設(shè) x存放在片內(nèi) RAM 30H單元,將 y值存入 31H。 0 ; x=0 y=f(x)= 1 ; x ?0 100 條件轉(zhuǎn)移指令 ORG 1000H MOV A, 30H;取 x值 JZ ZERO ; x=0轉(zhuǎn)移至 ZERO MOV 31H, 1; x?0則 y=1 SJMP $ ZERO: MOV 31H, 0; x=0則 y=0 SJMP $ 方法二:對(duì)存儲(chǔ)單元采用間接尋址方式 101 條件轉(zhuǎn)移指令 ORG 1200H MOV R0, 30H;設(shè)置指針 MOV A, @R0;取 x值 JZ LING; x=0則轉(zhuǎn)移至 LING INC R0 MOV @R0, 1 ; x?0則 y=1 SJMP $ LING: INC R0 MOV @R0, 0 ; x=0則 y=0 SJMP $ 102 條件轉(zhuǎn)移指令 ?比較轉(zhuǎn)移指令 CJNE A, data, rel CJNE A, direct, rel CJNE Rn, data, rel CJNE @Ri, data, rel ?上述 4條指令有 3個(gè)操作數(shù),具有共同的格式 CJNE OPR1, OPR2, rel 第三操作數(shù)均采用相對(duì)尋址方式 103 條件轉(zhuǎn)移指令 ?指令功能 若 OPR1=OPR2則不轉(zhuǎn)移 若 OPR1OPR2則轉(zhuǎn)移至 PC+3+rel且CY=0 若 OPR1OPR2則轉(zhuǎn)移至 PC+3+rel且CY=1 即:對(duì)第一、二操作數(shù)的內(nèi)容(無符號(hào)數(shù))進(jìn)行比較,若二者相等則順序執(zhí)行,否則轉(zhuǎn)移,同時(shí)影響 CY標(biāo)志??捎米鞅容^指令。 104 條件轉(zhuǎn)移指令 例:編程實(shí)現(xiàn)下列函數(shù) 假設(shè) x存放在片內(nèi) RAM 30H單元,將 y值存入31H。(用 CJNE指令實(shí)現(xiàn)) 0 ; x=0 y=f(x)= 1 ; x ?0 105 條件轉(zhuǎn)移指令 ORG 2022H MOV A, 30H ;取 x值 CJNE A, 0, NEQ ;若 x?0則轉(zhuǎn)移至 NEQ MOV 31H, 0 SJMP $ NEQ: MOV 31H, 1 SJMP $ 106 條件轉(zhuǎn)移指令 ?減 1非零轉(zhuǎn)移指令 DJNZ Rn, rel; Rn內(nèi)容減 1, 若 Rn?0則轉(zhuǎn)移至 PC+2+rel, 若 Rn=0則順序執(zhí)行 DJNZ direct, rel; direct單元內(nèi)容減 1, 若 (direct)?0則轉(zhuǎn)移至 PC+3+rel, 若 (direct)=0則順序執(zhí)行 例:編程將片外數(shù)據(jù)存儲(chǔ)器 3000H開始的 50個(gè)數(shù)傳送到片內(nèi) RAM 30H開始的存儲(chǔ)單元中。 107 條件轉(zhuǎn)移指令 流程圖: 開始 DPTR?3000H, R0 ?30H R5 ?循環(huán)次數(shù) 從片外數(shù)據(jù)存儲(chǔ)器取一個(gè)數(shù) 存入片內(nèi) RAM 修改指針指向下一單元 R51=0? 結(jié)束 Y N 108 條件轉(zhuǎn)移指令 ORG 0050H MOV DPTR, 3000H;源數(shù)據(jù)塊首地址 MOV R0, 30H;目的存儲(chǔ)單元首地址 MOV R5, 50;循環(huán)次數(shù)(數(shù)據(jù)塊長度) LP: MOVX A, @DPTR;從源數(shù)據(jù)塊取一個(gè)數(shù) MOV @R0, A;送入目的存儲(chǔ)單元 INC DPTR INC R0;指向下一單元 DJNZ R5, LP;未傳送完,繼續(xù) SJMP $;結(jié)束 109 CPU時(shí)序與軟件延時(shí) ?問題的提出 請看程序段: . . . MOV R7, 100 DELAY: DJNZ R7, DELAY . . . 該程序段只是一個(gè)空循環(huán),沒有實(shí)質(zhì)的操作,但指令的執(zhí)行是需要時(shí)間的,因此,它起到 延時(shí) 作用。 延時(shí)時(shí)間的長短與指令執(zhí)行所需的時(shí)間和循環(huán)次數(shù)有關(guān)。 110 CPU時(shí)序與軟件延時(shí) ?CPU時(shí)序 ?振蕩器和時(shí)鐘電路 ?內(nèi)部時(shí)鐘方式 晶體或陶瓷諧振器 的頻率范圍 fosc=~ 12MHz 111 CPU時(shí)序與軟件延時(shí) ?外部時(shí)鐘方式 112 CPU時(shí)序與軟件延時(shí) ?與時(shí)序有關(guān)的概念 ?時(shí)鐘周期 Tosc=1/fosc ?機(jī)器周期 TM=12Tosc=12/fosc ?指令周期:執(zhí)行一條指令所需的時(shí)間,用機(jī)器周期數(shù)表示,一般為 1 TM、 2TM 、 4TM。 例:若 fosc=6MHz,則 Tosc=1/fosc=1/6?s(微秒 ); TM=12Tosc=2 ?s 113 CPU時(shí)序與軟件延時(shí) ?軟件延時(shí)程序 例: YS1: MOV R7, 100 ; 1 TM YS10: DJNZ R7, YS10 ; 2 TM RET ; 2 TM 延時(shí)時(shí)間 t=1 TM +2 TM ?100+2 TM =203 TM 若 fosc=12MHz則 TM=1?s; t=203 ?s 114 CPU時(shí)序與軟件延時(shí) 例:多重循環(huán) 內(nèi)循環(huán)延時(shí)時(shí)間 t1=2 TM ?200 外循環(huán)延時(shí)時(shí)間 t2=(1 TM +2 TM ? 200+2 TM) ? 100 總延時(shí)時(shí)間 t=1 TM + (1 TM +2 TM ? 200+2 TM) ? 100 +2 TM =40303 TM YS2: MOV R7, 100; 1 TM YS20: MOV R6, 200; 1 TM YS21: DJNZ R6, YS21; 2 TM DJNZ R7, YS20; 2 TM RET ; 2 TM 內(nèi)循環(huán) 外循環(huán) 115 相對(duì)尋址方式指令的匯編 ?偏移量 rel的計(jì)算 rel=轉(zhuǎn)移的目標(biāo)地址 當(dāng)前 PC值 =轉(zhuǎn)移的目標(biāo)地址 轉(zhuǎn)移指令地址 轉(zhuǎn)移指令字節(jié)數(shù) ?舉例 ? ORG 2022H 2022H E5 30 MOV A, 30H 2022H B4 00 rel CJNE A, 0, NEQ 2022H 75 31 00 MOV 31H, 0 2022H 80 FE SJMP $ 200AH 75 31 01 NEQ: MOV 31H, 1 200DH 80 FE SJMP $ rel=200AH( 2022H+3) =200AH2022H3=05H 116 相對(duì)尋址方式指令的匯編 ? ORG 1680H 1680H 7F 64 YS2: MOV R7, 100 1682H 7E C8 YS20: MOV R6, 200 1684H DE rel1 YS21: DJNZ R6, YS21 1686H DF rel2 DJNZ R7, YS20 1688H 22 RET rel1=1684H1684H2=2 補(bǔ)碼為: FEH rel2=1682H1686H2=6 補(bǔ)碼為: FAH 117 位操作指令 ? MCS51單片機(jī)有一個(gè)位處理器(布爾處理器),以進(jìn)位位 Cy為累加器(位累加器 C)。 ?可位尋址單元包括片內(nèi) RAM 20H~2FH及部分特殊功能寄存器。 ?位地址表達(dá)方式 ?直接位地址方式。如 D4H ?點(diǎn)操作符方式。如 ; ?位名稱方式。如 RS1 ?用戶定義名方式。 118 位傳送指令 ?位傳送指令 MOV C, bit;將位地址 bit 的內(nèi)容送入 C MOV bit, C;將 C的內(nèi)容送入 bit 例:已知片內(nèi) RAM( 20H) =05H,執(zhí)行 MOV C, 00H MOV 07H, C 之后:片內(nèi) RAM( 20H) =85H 119 位修正指令 ?位清 0指令 CLR C;將 Cy清 0 CLR bit;將 bit清 0 ?位取反指令 CPL C CPL bit ?位置 1指令 SETB C SETB bit 120 位邏輯運(yùn)算指令 ?與 ANL C, bit ANL C, /bit ?或 ORL C, bit ORL C, /bit 例:已知 x、 y、 z均為位地址,編程實(shí)現(xiàn) Z=X?Y+X?Y 121 位邏輯運(yùn)算指令 MOV C, y ANL C, /x MOV z, C MOV C, x ANL C, /y ORL C, z MOV z, C 上述程序段實(shí)現(xiàn) z=x?y運(yùn)算 122 判位轉(zhuǎn)移指令 ?指令 JC rel;若 Cy=1則轉(zhuǎn)移至 PC+2+rel 若 Cy=0則順序執(zhí)行 JNC rel;若 Cy=0則轉(zhuǎn)移至 PC+2+rel 若 Cy=1則順序執(zhí)行 JB bit, rel;若( bit) =1則轉(zhuǎn)移至 PC+3+rel 若( bit) =0則順序執(zhí)行 JNB bit, rel;若( bit) =0則轉(zhuǎn)移至 PC+3+rel 若( bit) =1則順序執(zhí)行 JBC bit, rel 123 判位轉(zhuǎn)移指令 ?應(yīng)用 例:編程根據(jù)片內(nèi) RAM 30H單元的內(nèi)容等于、大于、小于 60進(jìn)行不同操作。 MOV A, 30H CJNE A, 60, NEQ EQ: . . . ;( 30H) =60的操作 NEQ: JNC BIG . . . ;( 30H) 60的操作 BIG: . . . ;( 30H) 60的操作 124 判位轉(zhuǎn)移指令 例:編程實(shí)現(xiàn)下列函數(shù)功能 其中 x存在片內(nèi) RAM 40H單元,將 y存入 41H單元。 (提示:注意計(jì)算機(jī)中帶符號(hào)數(shù)的表示方法。) 1 ; x0 y=f(x)= 0 ; x=0
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1