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

正文內(nèi)容

單片機(jī)原理及應(yīng)用電子教案王-資料下載頁

2024-08-13 18:20本頁面
  

【正文】 DPL中。 該指令的執(zhí)行,不影響程序狀態(tài)寄存器 PSW。 指令助記符及功能說明如下: 目的操作數(shù) 源操作數(shù) 功能說明 源操作數(shù)尋址方式 MOV DPTR, data16 。(DPTR)←data16 立即尋址 外部數(shù)據(jù)存儲器 (或 I/O口 )與累加器 A傳送指令 例 1 設(shè) (P2)=20H,現(xiàn)將 A中數(shù)據(jù)存儲到 20FFH單元中去。 可用以下程序?qū)崿F(xiàn): MOV R1, 0FFH 。(R1)←0FFH MOVX @R1, A 。(20FFH)←(A) 也可采用下述程序?qū)崿F(xiàn): MOV DPTR, 20FFH 。(DPTR)←20FFH MOVX @DPTR, A 。((DPTR))←(A) ,即 (20FFH)←(A) 指令助記符與功能說明如下 : 目的操作數(shù) 源操作數(shù) 功能說明 源操作數(shù)尋址方式 MOVX A, @DPTR 。(A)←((DPTR)) 寄存器間接尋址 MOVX A, @Ri 。(A)←((Ri)) 寄存器間接尋址 MOVX @DPTR, A 。((DPTR))←(A) 寄存器尋址 MOVX @Ri, A 。((Ri))←(A) 寄存器尋址 外部數(shù)據(jù)存儲器 (或 I/O口 )與累加器 A傳送指令 例 2 將外部數(shù)據(jù)存儲器 7FF0H單元中的數(shù)據(jù)取出,存放到外部數(shù)據(jù)存儲器 2022H單元中去。 MOV DPTR, 7FF0H MOVX A, @DPTR MOV DPTR, 2022H MOVX @DPTR, A 例 1 在外部程序存儲器 2022H單元開始存放了數(shù)字 0~ 9的共陰極數(shù)碼管的 16進(jìn)制數(shù)的字形代碼 3FH、 06H、 … 、 6FH。要求根據(jù) A中的值(0~ 9)來查找該數(shù)字所對應(yīng)的代碼以便顯示。 若用 PC作基址寄存器,則需要在 MOVC A, @A+PC指令前用一加法指令對地址進(jìn)行調(diào)整: ADD A, data MOVC A, @A+PC 程序存儲器向累加器 A傳送數(shù)據(jù)指令 指令助記符與功能說明如下: 目的操作數(shù) 源操作數(shù) 功能說明 源操作數(shù)尋址方式 MOVC A, @A+PC 。(A)←((A)+(PC)+1) 變址尋址 MOVC A, @A+DPTR 。(A)←((A)+(DPTR)) 變址尋址 1. 字節(jié)交換指令 例 1 設(shè) (R1)=30H, (30H)=45H, (A)=7FH,則執(zhí)行指令: XCH A, @R1 結(jié)果: (A)=45H,而 (30H)=7FH,從而實(shí)現(xiàn)了累加器 A與內(nèi)部數(shù)據(jù)存儲器 RAM中 30H單元的數(shù)據(jù)交換。 數(shù)據(jù)交換指令 指令助記符與功能說明如下: 目的操作數(shù) 源操作數(shù) 功能說明 源操作數(shù)尋址方式 XCH A, direct (direct) 直接尋址 XCH A, @Ri ((Ri)) 間接尋址 XCH A, Rn (Rn) 寄存器尋址 2. 半字節(jié)交換指令 例 1 設(shè) (30H)=6FH, (R0)=30H, (A)=0F6H,則執(zhí)行指令: XCHD A, @Ri 結(jié)果: (A)=0FFH, (30H)=66H 數(shù)據(jù)交換指令除了影響始終跟蹤 A中數(shù)據(jù)奇偶性的 P標(biāo)志外,對 PSW中其他標(biāo)志位均無影響。 指令助記符與功能說明如下: 目的操作數(shù) 源操作數(shù) 功能說明 源操作數(shù)尋址方式 XCHD A, @Ri ((Ri)) 間接尋址 3. 累加器 A中高四位與低四位交換指令 SWAP A 該指令所執(zhí)行的操作是累加器 A中的高 4位與低 4位的內(nèi)容互換,其結(jié)果仍存放在累加器 A中。 例 1 設(shè) (A)=0A5H(10100101B),則執(zhí)行指令: SWAP A 結(jié)果: (A)=5AH(01011010B) 指令 SWAP交換了 A中高、低半字節(jié) (3~ 0和 7~ 4),結(jié)果不影響標(biāo)志寄存器 PSW。 堆棧操作指令 堆棧操作指令只有 2條,即:壓入 (PUSH)和彈出 (POP)。 壓入指令: PUSH direct 。SP←SP+1 , ((SP))←(direct) 彈出指令: POP direct 。((SP))←(direct) , SP←SP 1 例 1 PUSH A 。保護(hù) A中數(shù)據(jù) PUSH PSW 。保護(hù)標(biāo)志寄存器中數(shù)據(jù) … 。執(zhí)行服務(wù)程序 POP PSW ?;謴?fù)標(biāo)志寄存器中數(shù)據(jù) POP A ?;謴?fù) A中數(shù)據(jù) 例 2 PUSH A PUSH PSW … POP A POP PSW 例 3 PUSH DPH PUSH DPL … POP DPL POP DPH 加減運(yùn)算指令 1. 加法指令 這類指令所完成的操作是把源操作數(shù) (立即數(shù)、直接地址單元內(nèi)容、間接地址單元內(nèi)容、工作寄存器內(nèi)容 )與累加器 A的內(nèi)容相加,將結(jié)果保存在累加器 A中。 算術(shù)運(yùn)算類指令 指令助記符與功能說明如下: 目的操作數(shù) 源操作數(shù) 功能說明 源操作數(shù)尋址方式 ADD A, data 。(A)←(A)+data 立即尋址 ADD A, direct 。(A)←(A)+(direct) 直接尋址 ADD A, @Ri 。(A)←(A)+((Ri)) 寄存器間接尋址 ADD A, Rn 。(A)←(A)+(Rn) 寄存器尋址 例 1 執(zhí)行指令: MOV A, 0A9H ADD A, 0B8H 對程序狀態(tài)寄存器的影響如圖 。 運(yùn)算結(jié)果: (A)=61H, CY=1, AC=1, OV=1, P=1, (PSW)=0C5H 例 2 8位數(shù)加法程序片斷 1: MOV A, 23H ADD A, 5AH … 運(yùn)算結(jié)果: (A)=7DH, CY=0, OV=0, AC=0, P=0, (PSW)=00H。 0 00 0 00 000001 1 1 1 111111111+ d7 d0d4 d3無進(jìn)位 A C = 0 0⊕ = 0 , O V = 0無進(jìn)位 C Y = 0P = 00例 3 8位數(shù)加法程序片斷 2: MOV A, 0ABH ADD A, 9AH … 運(yùn)算結(jié)果: (A)=45H, CY=1, OV=1, AC=1, P=1, (PSW)=0C5H。 0 00 0 01 000111 0 0 0 111101111+ d7 d0d4 d3有進(jìn)位 A C = 1 1⊕ = 1 , O V = 1有進(jìn)位 C Y = 1P = 110帶進(jìn)位加法指令與前述加法指令的區(qū)別僅為考慮進(jìn)位位,其他與加法指令相同。 2. 帶進(jìn)位加法指令 指令助記符與功能說明如下: 目的操作數(shù) 源操作數(shù) 功能說明 源操作數(shù)尋址方式 ADDC A, data 。(A)←(A)+data+(C) 立即尋址 ADDC A, direct 。(A)←(A)+(direct)+(C) 直接尋址 ADDC A, @Ri 。(A)←(A)+((Ri))+(C) 寄存器間接尋址 ADDC A, Rn 。(A)←(A)+(Rn)+(C) 寄存器尋址 例 3 利用 ADDC指令可以進(jìn)行多字節(jié)的加法運(yùn)算。 設(shè)有兩個(gè) 16位數(shù)相加,被加數(shù)的高 8位放在 41H,低 8位放在 40H,加數(shù)的高 8位放在 43H,低 8位放在 42H,和的低 8位存放在 50H,高 8位存放在 51H,進(jìn)位位存放在 52H??删幊绦蛉缦拢? 例 1 設(shè) (A)=0AAH, (R0)=55H, C=1,則執(zhí)行指令: ADDC A, R0 運(yùn)算結(jié)果: (A)=00000000B, AC=1, CY=1, OV=1。 例 2 設(shè) (A)=35H, (40H)=21H, C=0,則執(zhí)行指令: ADDC A, 40H 運(yùn)算結(jié)果: (A)=56H, AC=0, CY=0, OV=0。 這與執(zhí)行指令“ ADD A, 40H”的結(jié)果是一樣的。 SHJ: MOV A, 40H 。(A)← 被加數(shù)低 8位 ADD A, 42H 。與加數(shù)低 8位相加 MOV 50H, A 。和的低 8位存入 50H MOV A, 41H 。(A)← 被加數(shù)高 8位 ADDC A, 43H 。被加數(shù)高 8位與加數(shù)高 8位以及低位來的進(jìn)位相加 MOV 51H, A 。和的高 8位存入 51H單元 MOV A, 00H 。(A)←00H ADDC A, 00H 。(A)←(A) +00H+ 高 8位來的進(jìn)位 MOV 52H, A 。進(jìn)位位 C內(nèi)容存入 52H單元 … 3. 帶借位減指令 指令助記符與功能說明如下: 目的操作數(shù) 源操作數(shù) 功能說明 源操作數(shù)尋址方式 SUBB A, data 。(A)←(A) data(C) 立即尋址 SUBB A, direct 。(A)←(A) (direct)(C) 直接尋址 SUBB A, @Ri 。(A)←(A) ((Ri))(C) 寄存器間接尋址 SUBB A, Rn 。(A)←(A) (Rn)(C) 寄存器尋址 例 1 設(shè) (40H)=0BAH, (41H)=98H,試編寫 40H內(nèi)容減去 41H內(nèi)容后,結(jié)果再存入 40H單元的程序。 MOV A, 40H 。(A)←(40H) CLR C 。進(jìn)位位 C清 0 SUBB A, 41H 。(A)←(A) (41H) (C) MOV 40H, A 。(40H)←(A) 執(zhí)行以上程序后, (40H)=22H, CY=0, OV=0。 如果參與運(yùn)算的兩數(shù)為無符號數(shù) , 則其溢出與否與 OV狀態(tài)無關(guān) ,而是靠 CY是否有借位來判斷 , OV僅僅表示帶符號數(shù)運(yùn)算時(shí)是否溢出 。 例 2 設(shè)有兩個(gè) 16位數(shù)相減,被減數(shù)的高 8位放在 41H,低 8位放在 40H,減數(shù)高 8位放在 43H,低 8位放在 42H,差的低 8位存放在50H,高 8位存放在 51H,借位位存放在 52H。 可編程序如下: SHJIAN: MOV A, 40H 。(A)← 被減數(shù)低 8位 CLR C 。C位清 0 SUBB A, 42H 。減去減數(shù)低 8位 MOV 50H, A 。差的低 8位存入 50H MOV A, 41H 。(A)← 被減數(shù)高 8位 SUBB A, 43H 。被減數(shù)高 8位減去減數(shù)高 8位與借位 MOV 51H, A 。差的高 8位存入 51H單元 MOV A, 00H 。(A)←00H ADDC A, 00H 。(A)← 高 8位的借位位 MOV 52H, A 。借位位 C內(nèi)容存入 52H單元 1. 乘法指令 例 1 設(shè) (A)=67H(103), (B)=0ADH(173),執(zhí)行指令: MUL AB 運(yùn)算結(jié)果:乘積為 459BH(17819), (A)=9BH, (B)=45H。另外:OV=1, CY=0 乘除運(yùn)算指令 MUL AB 。(A)← 乘積低 8位, (B)← 乘積高 8位 例 2 設(shè)被乘數(shù)為 16位無符號數(shù),低 8位存放在地址為 K的單元,高 8位存放在地址為 K+1的單元。乘數(shù)為 8位無符號數(shù),存放在 M單元。編程求出二者乘積,并將乘積的 0~ 7位存放在 R1, 8~ 15位存放在 R2, 16~ 23位存放在 R3中。 分析: 16位無符號數(shù)與 8位無符號數(shù)相乘的步驟示意如下: 程序編制如下: MOV R0, K 。設(shè)置被乘數(shù)地址指針 MOV A, @R0 。被乘數(shù)送 A中 MOV B, M 。乘數(shù)送 B中 MUL AB 。(K) (M) MOV R1, A 。乘積的 0~ 7位存入 R1 MOV R2, B 。暫存積的 8~ 15位 INC R0 。指向被乘數(shù)高 8位地址 MOV A, @R0
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1