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

正文內(nèi)容

c指令系統(tǒng)ppt課件(編輯修改稿)

2025-02-17 22:10 本頁面
 

【文章內(nèi)容簡介】 ERE TABLE∶ DB 00H,01H,04H,09H ;平方表 0292 DB 16H,25H,36H DB 49H,64H,81H 例 4:求平方數(shù) (近程查表 ) ADD A, rel ;修正偏移量 MOVC A, @A+PC ;查表得到平方數(shù) MOV 20H, A ;存平方數(shù) HERE∶ SJMP HERE TABLE∶ DB 00H, 01H, 04H, 09H, 16H ;平方表 0292 DB 25H, 36H, 49H, 64H, 81H 注 ∶ rel=TABLE- (查表指令地址+ 1) ; MOVC指令為單字節(jié)。 ⒋ 以間接尋址寄存器 Ri為目的操作數(shù)的指令組 MOV @Ri, A ; (( Ri)) ← ( A) MOV @Ri, direct ; (( Ri)) ← ( A) MOV @Ri, # data ; (( Ri)) ← # data 這組指令的功能是把源操作數(shù)的內(nèi)容送入由 R0或 R1的內(nèi)容所指的內(nèi)部 RAM中的存儲單元 。 源操作數(shù)有寄存器尋址 、 直接尋址和立即尋址等尋址方式 。 ⒈ 字節(jié)交換指令 XCH組 XCH A, Rn ; (A) (Rn) 、 direct、 @Ri XCH A, direct XCH A, @Ri 這類指令的功能是將累加器 A與源操作數(shù)的字節(jié)內(nèi)容互換 。 源操作數(shù)有寄存器尋址 、 直接尋址和寄存器間接尋址等尋址方式 。 操作碼分別為 C5H~ CFH 例:設(shè) ( R0) = 30H, ( A) = 3FH, 片內(nèi) ( 30H) = BBH。 執(zhí)行指令 XCH A, @R0 執(zhí)行結(jié)果 ( A) =BBH,( 30H)= 3FH。 數(shù)據(jù)交換指令 ⑵ SWAP A 該指令將累加器 A的高 、 低半字節(jié)交換 , 該操作也可看作是四位循環(huán)指令 。 見 圖 3–8。 例:設(shè) ( A) = 36H( 0011 0110B) 執(zhí)行 SWAP A指令 , 執(zhí)行結(jié)果為 ( A) = 63H( 0110 0011B) 。 由于十六進制數(shù)或 BCD碼都是以四位二進制數(shù)表示,因此 XCHD和 SWAP指令主要用于實現(xiàn)十六進制數(shù)或 BCD碼的數(shù)位交換。 ⒉ 半字節(jié)交換指令組 ⑴ XCHD A, @Ri 將 Ri間接尋址單元的低 4位內(nèi)容與累加器 A的低 4位內(nèi)容互換 , 而它們的高 4位內(nèi)容均不變 。 此指令不影響標(biāo)志位 。 例: 設(shè) ( R0) = 20H, ( A) = 36H( 00110110B) , 內(nèi)部 RAM中 ( 20H) = 75H( 0111010lB) 。 執(zhí)行指令 ∶ XCHD, A, @ R0 結(jié)果為 ∶ ( 20H)= 01110110B= 76H,( A)= 00110101B= 35H。 堆棧操作指令組 PUSH direct POP direct 入棧 ( PUSH) 操作指令又稱 “ 壓棧 ” 操作 。 指令執(zhí)行后棧指針 ( SP) + 1指向棧頂上一個空單元 , 將直接地址direct單元內(nèi)容送入 SP所指示的堆棧單元 。 此操作不影響標(biāo)志位 。 出棧 (POP)操作指令 , 又稱 “ 彈出 ” 操作 , 由棧指針 (SP)所尋址的片內(nèi) RAM中棧頂?shù)膬?nèi)容 ((SP))送入直接尋址單元 direct中 , 然后執(zhí)行 (SP)一 1并送入 SP。 此操作不影響標(biāo)志位 。 例:中斷響應(yīng)時 (SP)= 30H, DPTR的內(nèi)容為 0123H, 執(zhí)行入棧指令其結(jié)果怎樣 ? PUSH DPL ;低 8位數(shù)據(jù)指針寄存器 DPL內(nèi)容入棧 PUSH DPH ;高 8位數(shù)據(jù)指針寄存器 DPH內(nèi)容入棧 。 執(zhí)行結(jié)果:第一條指令 (SP)+ 1= 31H→(SP),(DPL) = 23H→( 31H) 第二條指令 (SP)+ 1= 32H→(SP),(DPH) = 01H→( 32H) 所以片內(nèi) RAM中 , (31H)= 23H, (32H)= 01H, (SP)= 32H。 例:設(shè)( SP)= 32H,片內(nèi) RAM的 30H~32H單元中的內(nèi)容分別為 20H, 23H, 01H,執(zhí)行下列指令的結(jié)果怎樣? POP DPH ; (( SP)) = ( 32H) = 01H→DPH ( SP) - 1= 32H- 1= 31H→SP POP DPL ; (( SP)) = ( 31H) = 23H→DPL ( SP) - 1= 31H- 1= 30H→SP POP SP ;( SP)- 1= 2FH→SP (( SP)) = ( 30H) = 20H→SP 以上第三條指令為特殊情況,先執(zhí)行( SP)- 1= 2FH,后裝入由棧頂退出的值,所以執(zhí)行后( SP)= 20H。 數(shù)據(jù)傳送類指令匯總見附錄中附表 例 5:檢查傳送結(jié)果 已知內(nèi)部 RAM (10H)=00H, (30H)=40H, (40H)=10H,P1口為 11001010B,分析指令執(zhí)行后各單元內(nèi)容。 MOV R0, 30H ; R0=30H MOV A, @R0 ; A=40H MOV R1, A ; R1=40H MOV B, @R1 ; B=10H MOV @R1,P1 ; (40H)=11001010B MOV P2, P1 ; P2=11001010B MOV 10H, 20H ; (10H)=20H 執(zhí)行結(jié)果: (10H)=20H, (30H)=40H, (40H)=CAH, P1=P2=CAH, A=40H, B=10H, R0=30H, R1=40H 例 6: 將 4位 BCD碼倒序。 設(shè)內(nèi)部數(shù)據(jù)存儲器 2AH、 2BH單元連續(xù)存放有 4位 BCD碼數(shù)符,試編一程序把 4位 BCD碼數(shù)符倒序排列。 2AH 2BH 2AH 2BH a3 a2 a1 a0 a0 a1 a2 a3 MOV R0,2AH MOV R1,2BH MOV A,@R0 ; 2AH單元內(nèi)容送 A SWAP A ; A的高 4位與低 4位交換 (a2 a3) MOV @R0,A MOV A,@R1 ; 2BH單元內(nèi)容送 A SWAP A ; A的高 4位與低 4位交換 (a0 a1) XCH A, @R0 ; 2AH與 2BH單元內(nèi)容交換 MOV @R1, A HERE: SJMP HERE 算術(shù)運算類指令 算術(shù)運算類指令都是通過算術(shù)邏輯運算單元 ALU進行數(shù)據(jù)運算處理的指令 。 它包括各種算術(shù)操作 , 其中有加 、 減 、 乘 、除四則運算 。 80C51單片微機還有帶借位減法 、 比較指令 。 加法類指令包括加法 、 帶進位的加法 、 加 1以及二一十進制調(diào)整 。 這些運算指令大大加強了 80C51的運算能力 。 但 ALU僅執(zhí)行無符號二進制整數(shù)的算術(shù)運算 。 對于帶符號數(shù)則要進行其他處理 。 使用的助記符為: ADD、 ADDC、 INC、 DA、 SUBB、DEC、 MUL、 DIV等八種 。 除了加 1和減 1指令之外,算術(shù)運算結(jié)果將使進位標(biāo)志( CY),半進位標(biāo)志( AC)、溢出標(biāo)志( OV)置位或復(fù)位。 這組指令的助記符為 ADD ADD A, Rn ; ( A) + ( Rn) → ( A) ADD A, direct ; ( A) + ( direct) → ( A) ADD A, @Ri ; ( A) + (( Ri)) → ( A) ADD A,# data ;( A)+ data→ ( A) 這組指令的源操作數(shù)為 Rn、 direct、@ Ri或立即數(shù),而目的操作數(shù)為累加器 A中的內(nèi)容。 這組指令的功能是將工作寄存器 Rn、片內(nèi) RAM單元中的內(nèi)容、間接地址存儲器中的 8位無符號二進制數(shù)及立即數(shù)與累加器 A中的內(nèi)容相加,相加的結(jié)果仍存放在 A中。 這類指令將影響標(biāo)志位 AC、 CY、 OV、 P。 當(dāng)和的第 3位有進位時 , 將 AC標(biāo)志置位 , 否則為 0。 當(dāng)和的第 7位有進位時 , 將 CY標(biāo)志置位 , 否則為 0。 對于帶符號數(shù)運算 ,當(dāng)和的第 7位與第 6位中有一位進位而另一位不產(chǎn)生進位時,溢出標(biāo)志 OV置位 ,否則為 0。( OV)= 1表示兩個正數(shù)相加 ,和為負數(shù);或兩個負數(shù)相加而和為正數(shù)的錯誤結(jié)果。 例 : 設(shè) ( A) = C3H, ( R0) =AAH。 執(zhí)行指令: ADD A, R0 1 1 0 0 0 0 1 1 B +1 0 1 0 1 0 1 0 B 0 1 1 0 1 1 0 1 B 執(zhí)行結(jié)果: (A)= 6DH,(CY)= 1,(OV)= 1,(AC)= 0。 第六位無進位而第七位有進位,故 OV=1,即出現(xiàn)二個負數(shù)相加,結(jié)果為正數(shù)的錯誤。 ADDC A, Rn ; ( A) ← ( A) + ( Rn) + ( CY) ADDC A, direct ; (A) ← ( A) + ( direct) + ( CY) ADDC A, @Ri ; ( A) ← ( A) + (( Ri)) + ( CY) ADDC A, # data ; ( A) ← ( A) +# data+ ( CY) 這組指令的功能是將工作寄存器 Rn、 片內(nèi) RAM單元中的內(nèi)容 、 間接地址存儲器中的 8位無符號二進制數(shù)及立即數(shù)與累加器 A的內(nèi)容和當(dāng)前進位標(biāo)志 CY的內(nèi)容相加 , 相加的結(jié)果仍存放在A中 。 這組指令常用于多字節(jié)數(shù)相加 , 實現(xiàn) 8的倍數(shù)位 (如 16位 、32位 )數(shù)的加法 。 這類指令將影響標(biāo)志位 AC、 CY、 OV、 P。 當(dāng)和的第 3位有進位時 , 將 AC標(biāo)志置位 , 否則清 0。 當(dāng)和的第 7位有進位時,將 CY標(biāo)志置位,表示和數(shù)溢出,否則清 0。 對于帶符號數(shù)運算,當(dāng)和的第 7位與第 6位中有一位進位而另一位不產(chǎn)生進位時,溢出標(biāo)志 OV置位,否則為 0。( OV)= 1表示兩個正數(shù)相加,和為負數(shù);或兩個負數(shù)相加而和為正數(shù)的錯誤結(jié)果。 例:設(shè) ( A) = C3H, ( R0) = AAH, ( CY) = 1。 執(zhí)行指令: ADDC A, R0 1 1 0 0 0 0 1 1 + 1 0 1 0 1 0 1 0 + 1 (CY) 0 1 1 0 1 1 1 0 執(zhí)行結(jié)果: ( A) = 6EH, ( CY) = 1, ( OV) = l, ( AC) = 0。 對于帶符號數(shù)的帶進位相加 , 溢出標(biāo)志為 1, 意味著出錯 , 上例為二個負數(shù)相加 , 出現(xiàn)結(jié)果為正數(shù)的錯誤 。 例:已知 (A)= B3H, (R1) = 56H。 執(zhí)行 ADD A,R1指令: B 3H 1 0 1 1 0 0 1 1 + 5 6H + 0 1 0 1 0 1 1 0 1 0 9H 1 0 0 0 0 1 0 0 1 CY=1
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1