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

正文內(nèi)容

第三章單片機(jī)指令系統(tǒng)-在線瀏覽

2024-09-11 12:50本頁(yè)面
  

【正文】 0H MOVX A,R0 3,盡管片內(nèi)與片外的 RAM單元 的 00HFFH地址相重疊,但由 于指令的不同不會(huì)發(fā)生地址 混亂。 如: MOVX A,A+PC ; PC內(nèi)容與 A的內(nèi)容相加得操作數(shù)地址并將此操作數(shù)送 A MOVX A,A+DPTR; DPTR內(nèi)容與 A的內(nèi)容相加得操作數(shù)地址并將此操作數(shù)送 A 變址指令適用于對(duì) ROM存儲(chǔ)器得訪問(wèn),查表。 MOV DPTR,0300H ;立即數(shù)送 DPTR MOV A,02H ;立即數(shù)送累加器 A MOVC A,A+DPTR ;從 ROM的 0302單元取數(shù)送 A 變址尋址示意圖 02H 0300H ROM X ALU 0302H 累加器 A DPTR 0300H + 02H 0302H MOVC A,A+DPTR 相對(duì)尋址 相對(duì)轉(zhuǎn)移指令 在執(zhí)行中是將 PC值與指令中的8位偏移量進(jìn)行相加,形成指令要轉(zhuǎn)移的目標(biāo)地址。 例如: SJMP 54H ; (80H、 54H) 54H 2022H ALU 累加器 A PC 2022H + 54H 2056H 54H 80H 程序存儲(chǔ)器 ROM 2056H 操作碼 偏移量 2022H 2022H (LOOP1) 相對(duì)尋址使用中應(yīng)注意的問(wèn)題 1,CPU進(jìn)行地址計(jì)算時(shí), PC取值是執(zhí)行本指令后的地址值 。 如果使用三字節(jié)的相對(duì)轉(zhuǎn)移指令,則PC=PC+3。 為了減少計(jì)算偏移量的計(jì)算,匯編程序允許使用 “符號(hào)地址” 的方式代替偏移量。 位尋址 在 位尋址指令(位操作指令) 中使用的位地址。這些開關(guān)量信號(hào)以 bit “位 ”的形式進(jìn)行各種運(yùn)算、處理和存儲(chǔ)的。將位地址為 20H的位置 1 SETB 90H 。將 P1口的 d0位置 1 類似還有: MOV C, 。 必須指定被傳送數(shù)據(jù)的 源地址 和 目標(biāo)地址 。 傳送類指令除了 以累加器 A為目標(biāo)的傳送 對(duì) PSW的 P有影響外,其余的傳送類指令對(duì) PWS一概無(wú)影響。將 R0寄存器中的數(shù)據(jù)送 累加器 A中(注意尋址方式) 指令通式: MOV dest,src 傳送指令的特點(diǎn) 內(nèi)部數(shù)據(jù)傳送類指令 (1) 以 累加器 為目的操作數(shù)的指令 (2) 以 寄存器 Rn為目的操作數(shù)的指令 (3) 以 寄存器間接地址 為目的字節(jié)傳送指令 (4) 以 直接地址 為目的操作數(shù)的指令 (5) 16位數(shù)據(jù)傳送 指令 ( 1) 以累加器為目的操作數(shù)的指令( 4條) MOV A, Rn ; Rn→ A MOV A, direct ; (direct)→ A MOV A, Ri ; (Ri)→ A MOV A, data ; data→ A ( 2) 以寄存器 Rn為目的操作數(shù)的指令( 3條) MOV Rn, A MOV Rn, direct MOV Rn, data ( 3)以寄存器間接地址為目的字節(jié)傳送指令( 3條) MOV Ri, A ; A → (Ri) MOV Ri, direct ; (direct) → (Ri) MOV Ri, data ; data → (Ri) 例: MOV R0, A MOV R1, 20H MOV R0, 34H ( 4) 以直接地址為目的操作數(shù)的指令( 5條) MOV direct, A MOV direct, Rn MOV direct1, direct2 MOV direct, Ri MOV direct, data 這組指令功能是把 源操作數(shù)指定 的內(nèi)容送入由直 接地址指出的片內(nèi)存儲(chǔ)單元。 設(shè)立方表表頭地址為 0200H。但 不能根據(jù)主觀意愿去“創(chuàng)造”指令。如何使用指令去完成上面操作? MOV R1,R0 是否可以? 只能使用: 1, MOV A,R0 或: 2, MOV 01H,00H MOV R1,A MCS51內(nèi)部數(shù)據(jù)傳送類指令方式圖 累加器 A direct 直接尋址 Ri間址 Rn寄存器 Data立即數(shù) 返回上一次 ② 以累加器 A為目的寄存器的傳送指令 會(huì)影響 PSW中的奇偶位 P,而其余的指令對(duì) PSW均無(wú)影響。 【 舉例 】 : MOV A, RI ( )個(gè)字節(jié) MOV A, DIRECT ( )個(gè)字節(jié) MOV DIRECT,DATA ( )個(gè)字節(jié) MOV DIRECT2,DIRECT1 ( )個(gè)字節(jié) ④ 在學(xué)習(xí)指令系統(tǒng)和編程時(shí)開始就要養(yǎng)成一個(gè)好的、合理的 編程習(xí)慣 。下面就是一些注釋的例子: MOV A,30H ;( 30h) → A MOV A,R0 ; R0 → A MOV 40H,30H ;( 30h) → 40h MOV A,Ri ; ( Ri ) → A ( 8)內(nèi)部傳送類指令舉例 試編出把 30h和 40h單元內(nèi)容進(jìn)行交換。 MOV DPTR,data16 DPTR是單片機(jī)內(nèi)部 SFR中的兩個(gè)寄存器DPH、 DPL組合而成。 DPTR是一個(gè)專門用于訪問(wèn)外部存儲(chǔ)器的間址寄存器。 ( 2)外部 ROM的字節(jié)傳送指令 MOVC A,A+DPTR ; A ← (A+DPTR) MOVC A,A+PC ; PC ← PC+1, A ← (A+PC) 該指令也稱為 “查表” 指令。 外部 ROM的字節(jié)傳送指令舉例 已知累加器 A中存有 0~ 9范圍內(nèi)的數(shù),試用查表指令編寫出查找出該數(shù)平方的程序。 思考: 如果在查表指令的后面增加: NOP NOP 此時(shí), DATA的值如何? ( 3)外部 RAM的字節(jié)傳送指令 MOVX A,Ri MOVX Ri,A MOVX A,DPTR MOVX DPTR,A 外部 RAM的字節(jié)傳送指令舉例 已知 外部 RAM的 2040H單元有一個(gè)數(shù) x,試編程將 x送 外部 RAM的 2560H單元。 ORG 2022H MOV DPTR , 2040H ;為 16位指針賦值 MOVX A, DPTR ;取 x 到累加器 A MOV DPTR, 2560H ;為 16位指針賦值 MOVX DPTR, A ; x 送 RAM2560h單元 SJMP $ ;停機(jī) END 數(shù)據(jù)交換指令 格式: XCH A, Rn ; A ? Rn XCH A, direct ; A ? (direct) XCH A, Ri ; A ? (Ri) XCHD A, Ri ; A3~ 0? (( Ri)) 3~ 0 數(shù)據(jù)交換指令舉例(一) 舉例:已知 片外 RAM20H單元、內(nèi)部 RAM20H單元分別 有數(shù) X和 Y,試編程互將兩數(shù)相交換 。 【 解 】 : 0~ 9的 ASCII碼是 30H~ 39H,兩者相差 30H。在 MCS51單片機(jī)中,棧區(qū)是占用 片內(nèi) RAM的存儲(chǔ)空間,具體棧位置由指針 SP來(lái)確定。 ② 進(jìn)棧是堆棧向上“生長(zhǎng)”的過(guò)程,即 SP+1;出棧則相反。 SP的值可以根據(jù)需要進(jìn)行修改,以適應(yīng)具體編程的需要。 堆棧操作指令舉例(一) 例 1: BCD碼轉(zhuǎn)換為二進(jìn)制 的子程序 BCDB中有關(guān) 堆棧操作 的例子。 ORG 0800H BCDB: PUSH PSW PUSH ACC PUSH B : POP B POP ACC POP PSW RET 棧底 RAM SP 棧頂 B ACC PSW 堆棧操作指令舉例(二) 例 2: 設(shè)片內(nèi) RAM的 30H單元存有 x, 40H單元存有 y。 PUSH 30H PUSH 40H POP 30H POP 40H 棧底 x y y x x y RAM SP=07h 40H 30H 繼續(xù) 算術(shù)運(yùn)算 功能:完成 算術(shù)運(yùn)算 三大功能。 : 算術(shù)運(yùn)算指令 1, 加法指令 : 帶進(jìn)位的加法指令 ( ADC ) 不帶進(jìn)位的加法指令 ( ADD ) 加 1指令 ( INC ) 2, 減法指令 : 帶進(jìn)位的減法指令 ( SUBB ) 減 1指令 ( DEC ) 3,十進(jìn)制調(diào)整指令: ( DA A ) 4,乘法和除法指令: ( MUL DIV) ( 1) 不帶進(jìn)位的加法指令 格式: ADD A, Rn ; A+Rn→ A ADD A, direct; A+(direct)→ A ADD A, Ri; A+(Ri)→ A ADD A, data; A+data→ A 【 注意 】 : 結(jié)果影響 PSW。 不論編程者使用的數(shù)據(jù)是有符號(hào)數(shù)還是無(wú)符號(hào)數(shù), CPU都將它們視為有符號(hào)數(shù) (補(bǔ)碼) 進(jìn)行運(yùn)算并影響 PSW。 MOV A,19H ADD A,66H 25 A = 0 0 0 1 1 0 0 1 + 102 data= 0 1 1 0 0 1 1 0 B 127 0 0 1 1 1 1 1 1 1 B Cy=0。 OV=CP?CS=0 。 MOV A,5AH ADD A,6BH 90 A= 0 1 0 1 1 0 1 0 B + 107 data=0 1 1 0 1 0 1 1 B 197 0 1 1 0 0 0 1 0 1 B CP CS AC * Cy=0。 OV=CP?CS=1。 ( 3)加 1指令 (增量指令) 格式: INC A ;累加器 A加一 INC Rn ; Rn+1→ Rn INC direct ;內(nèi)存單元數(shù)據(jù)加一 INC Ri ;內(nèi)存單元數(shù)據(jù)加一 INC DPTR ; dptr+1→ dptr 【 注意 】 : (1), 除了第一條對(duì) PSW的 P有影響外 ,其余對(duì) PSW均無(wú)影響。 編程舉例 已知 M M2單元中存有兩個(gè) 16位無(wú)符號(hào)數(shù) X X2(低位在前)。設(shè)兩數(shù)之和不會(huì)超過(guò) 16位( 65535)。低 8位和送 m1單元 INC R0 INC R1
點(diǎn)擊復(fù)制文檔內(nèi)容
外語(yǔ)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1