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

正文內(nèi)容

c指令系統(tǒng)ppt課件-資料下載頁(yè)

2025-01-21 22:10本頁(yè)面
  

【正文】 ata 指令功能是將目的地址單元中的數(shù)和源地址單元中的數(shù)按“位”相“與”,其結(jié)果放回目的地址單元中。 邏輯“與”運(yùn)算指令 例:設(shè) ( A) = A3H( 1010 0011B) ,( R0) = AAH( 1010 1010B) 。 執(zhí)行指令 : ANL A, Rn 執(zhí)行結(jié)果為 ( A) = A2H( 1010 0010B) 。 例:設(shè) P1=FFH 執(zhí)行指令 : ANL P1, 0F0H 執(zhí)行結(jié)果為 P1= F0H, 這時(shí) , 位被清除 。 邏輯“與”運(yùn)算指令用做清除或屏蔽某些位。 這組指令的助記符為 ORL, 用符號(hào) “ ∨ ” 表示: ORL A, Rn ; ( A) ← ( A) ∨ ( Rn) ORL A, direct ; ( A) ← ( A) ∨ ( direct) ORL A, @ Ri ; ( A) ← ( A) ∨ (( Ri)) ORL A, # data ; (A) ←(A) ∨ data ORL direct, A ; ( direct) ← ( direct) ∨ ( A) ORL direct, # data ; (direct)← ( direct) ∨ # data 指令功能是將目的地址單元中的數(shù)和源地址單元中的數(shù)按“ 位 ” 相 “ 或 ” , 其結(jié)果放回目的地址單元中 。 邏輯“或”運(yùn)算指令 例:設(shè) ( A) = 0A3H( 10100011B) , ( R0) = 45H( 0100 0101B) 。 執(zhí)行指令: ORL A,R0 執(zhí)行結(jié)果: ( A) = E7H( 1110 0111B) 。 邏輯或運(yùn)算指令用做指定位強(qiáng)迫置位。給某些位置 1,合并二個(gè)數(shù)中的“ 1”。 這組指令的助記符為 XRL, 用符號(hào) “ ⊕ ” 表示 , 其運(yùn)算規(guī)則為: 0⊕ 0=0 1⊕ 1=0 0⊕ 1=1 1⊕ 0=1 XRL A, Rn ; ( A) ← ( A) ⊕ ( Rn) XRL A, drect ; ( A) ← ( A) ⊕ ( direct) XRL A, @ Ri ; ( A) ← ( A) ⊕ (( Ri)) XRL A, rdata ; ( A) ← ( A) ⊕ # data XRL direct, A ; ( direct) ← ( direct) ⊕ ( A) XRL direct, # data ; ( direct) ← ( direct) ⊕ # data 指令功能是將目的地址單元中的數(shù)和源地址單元中的數(shù)按 “ 位 ”相 “ 異或 ” , 其結(jié)果放回目的地址單元中 。 邏輯“異或”運(yùn)算指令 例:設(shè) ( A) = 0A3H( 1010 0011B) , ( R0) = 045H( 0100 0l0lB) 。 執(zhí)行指令為 XRL A, R0 1 0 1 0 0 0 1 1 ⊕ 0 1 0 0 0 1 0 1 1 1 1 0 0 1 1 0 執(zhí)行結(jié)果為 ( A) = E6H( 111001l0B) 。 用于對(duì)目的操作數(shù)的某些位取反,判二個(gè)數(shù)是否相等,若相等則結(jié)果為 0。 包括帶進(jìn)位 C和不帶進(jìn)位 C的循環(huán)左移和循環(huán)右移等四條指令 。 對(duì)于帶進(jìn)位的循環(huán)移位 , C的狀態(tài)由移入的數(shù)位決定 , 其他狀態(tài)標(biāo)志位不受影響 。 ⒈ 循環(huán)右移指令: RR A 它是將累加器的內(nèi)容逐位循環(huán)右移一位 , 并且 a0的內(nèi)容移到 a7,見(jiàn) 圖 3–9( a) 所示 。 此操作不影響標(biāo)志位 。 例:設(shè)( A)= 0A6H( 10100110),執(zhí)行 RR A指令,執(zhí)行結(jié)果= 53H( 01010011B)。 累加器移位 /循環(huán)指令 ⒉ 帶進(jìn)位循環(huán)右移指令 : RRC A 它是將累加器的內(nèi)容和進(jìn)位位一起循環(huán)右移一位 , 并且 a0移入進(jìn)位位 CY, CY的內(nèi)容移到 a7, 見(jiàn) 圖 3–9( b) 所示 。 此操作不影響 CY之外的標(biāo)志位 。 例:設(shè) (A)= 0B4H(10110100B),(CY)= 1, 執(zhí)行 RRC A指令 , 執(zhí)行結(jié)果為: (A)= 0DAH ( 11011010B),(CY)= 0 ⒊ 循環(huán)左移指令: RL A 它是將累加器的內(nèi)容逐位循環(huán)左移一位 , 并且 a7的內(nèi)容移到 a0, 見(jiàn) 圖 3– 9( c) 所示 。 此操作不影響標(biāo)志位 。 例:設(shè) ( A) = 3AH( 00111010B) , 執(zhí)行 RL A指令 , 執(zhí)行結(jié)果:( A)= 74H( 01110l00B)。 ⒋ 帶進(jìn)位循環(huán)左移指令 : RLC A 它是將累加器的內(nèi)容和進(jìn)位位一起循環(huán)左移一位 , 并且 a7移入進(jìn)位位 CY, CY的內(nèi)容移到 a0, 見(jiàn) 圖 3–9( d) 所示 。此操作不影響 CY之外的標(biāo)志位 。 例:設(shè) ( A) = 3AH( 00111010B) , ( CY) = 1, 執(zhí)行 RLC A指令 , 執(zhí)行結(jié)果為: (A)=75H( 01110101B),( CY)= 0 CPL A 對(duì)進(jìn)行累加器的內(nèi)容逐位取反 , 結(jié)果仍存在 A中 。 此操作不影響標(biāo)志位 。 例:設(shè) ( A) = 21H(0010 0001B), 執(zhí)行 CPL A指令 , 執(zhí)行結(jié)果:( A)= DEH (1101 1110B)。 累加器按位取反指令 CLR A 對(duì)累加器進(jìn)行清 0, 此操作不影響標(biāo)志位 。 例:設(shè)( A)= 44H,執(zhí)行 CLR A指令, 執(zhí)行結(jié)果:( A)= 00H。 累加器清 0指令 例 10: 數(shù)據(jù)的拆分與拼裝 要求:從 (30H)==x7x6x5x4x3x2x1x0中取出高 5位,從(31H)=y7y6y5y4y3y2y1y0中取出低 3位,拼裝后存入 40H中,(40H)=Y2Y1Y0X7X6X5X4X3 地址 機(jī)器碼 ORG 0000H 0000 E5 30 MOV A,30H 0002 C4 SWAP A ; X3X2X1X0 X7X6X5X4 0003 23 RL A ; X2X1X0 X7X6X5X4X3 左移了 5位 0004 F5 40 MOV 40H,A 0006 53 40 1F ANL 40H,00011111B 0009 E5 31 MOV A,31H 000B 75 F0 20 MOV B,20H 000E A4 MUL AB ; Y2Y1Y0 Y7Y6Y5Y4Y3 ;左移了 5位 000F 54 E0 ANL A,11100000B 0011 42 40 ORL 40H,A 0013 21 13 HERE : AJMP HERE 注:實(shí)現(xiàn)左移 5位 , 采用了二種方法 , 即移位和乘法 。 邏輯運(yùn)算類指令匯總見(jiàn)附錄中附錄 A. 4。 控制程序轉(zhuǎn)移類指令 程序的順序執(zhí)行是由 PC自動(dòng)加 1來(lái)實(shí)現(xiàn)的,但在應(yīng)用系統(tǒng)中,往往會(huì)遇到一些情況,需要強(qiáng)迫改變程序執(zhí)行順序,比如調(diào)用子程序,比如根據(jù)檢測(cè)值與設(shè)定值的比較結(jié)果要求程序轉(zhuǎn)移到不同的分支入口等。 80C5設(shè)有豐富的控制轉(zhuǎn)移指令,可分為無(wú)條件轉(zhuǎn)移指令、條件轉(zhuǎn)移指令、循環(huán)轉(zhuǎn)移指令、子程序調(diào)用和返回指令及空操作指令等。但不包括布爾變量控制程序轉(zhuǎn)移指令。 采用助記符有: AJMP、 LJMP、 SJMP、 JZ、 JNZ、 CJNE、DJNZ、 ACALL、 LCALL、 RET、 RETI、 NOP等十三種。 指令 機(jī)器碼 SJMP rel 80 rel AJMP addrll a10 a9 a8 00001 a7a0 LJMP addrl6 02 addr158 addr70 JMP @ A+ DPTR 73 這類指令的功能是程序無(wú)條件地轉(zhuǎn)移到各自指定的目標(biāo)地址去執(zhí)行 , 不同的指令形成的目標(biāo)地址不同 。 無(wú)條件轉(zhuǎn)移指令 1. 短轉(zhuǎn)移指令 : SJMP rel 10000000 相對(duì)地址 其目標(biāo)地址是由當(dāng)前 PC( 程序計(jì)數(shù)器 ) 值和指令的第二字節(jié)提供的八位帶符號(hào)的相對(duì)地址相加而成的 。 指令可轉(zhuǎn)向指令前 128 B或指令后 127 B。 rel為八位帶符號(hào)數(shù) 。 (PC)=(PC)+2 ;當(dāng)前 PC地址 (PC)=(PC)+rel 也可以采用符號(hào)位擴(kuò)展的方法進(jìn)行計(jì)算 。 即八位偏移量的符號(hào)位為 1, 則高八位為全 1, 即 FFH, 若八位偏移量的符號(hào)位為 0,則高八位為全 0, 即 00H。 2102H 2102H + 007FH + FF80H 2181H 2082H ⑵ 根據(jù)目的地址計(jì)算偏移量 在人工進(jìn)行匯編時(shí) , 必須算出偏移量 rel, 才能得到機(jī)器碼 。 rel=(目標(biāo)地址-當(dāng)前 PC地址 ) 的低八位 , 而高八位必須是 00H或FFH, 否則超出短轉(zhuǎn)移范圍 , 溢出出錯(cuò) 。 例: 2100H 80 FE HERE:SJMP HERE rel:2100H- 2102H=FFFEH。高八位是 FFH,表示負(fù)跳 ,偏移量為 FEH (- 2)。這是一條原地踏步指令。可用作程序結(jié)束或中斷等待。 ⒉ 絕對(duì)轉(zhuǎn)移指令 AJMP addr11 A10 a9 a8 0 0 0 0 1 a7 a6 a5 a4 a3 a2 a1 a0 該指令提供 11位地址 , 目標(biāo)地址由指令第一字節(jié)的高三位a10~ a8和指令第二字節(jié)的 a7~ a0所組成 。 以指令提供的 11位地址去取代當(dāng)前 PC的低 11位 , 形成新的 PC值 , 即為本絕對(duì)轉(zhuǎn)移地址 。 因此 , 程序的目標(biāo)地址必須包含 AJMP指令后第一條指令的第一個(gè)字節(jié) (即當(dāng)前 PC地址 )在內(nèi)的 2 KB范圍內(nèi) (即高 5位地址必須相同 )。 例:設(shè) ( PC) = 0456H, 標(biāo)號(hào) JMPADR所指的單元為 0123H。 執(zhí)行指令為 AJMP JMPADR 機(jī)器碼為 00100001 00100011 執(zhí)行結(jié)果程序轉(zhuǎn)向?yàn)?( PC) = 0123H。 例: 0000H 21 11 AJMP 0111H 07FEH 81 10 AJMP 0C10H ;當(dāng)前 PC值為 0800H, ;轉(zhuǎn)移有效 。 0100H AJMP 0B11H ; 非法。 當(dāng)相對(duì)地址為 FEH (02) 時(shí) SJMP指令實(shí)現(xiàn)原地轉(zhuǎn)圈的運(yùn)行狀態(tài) 。 有二種情況: ⑴ 根據(jù)偏移量計(jì)算轉(zhuǎn)移的目的地址 在讀已編好的用戶程序時(shí) , 需了解程序短轉(zhuǎn)移至何處執(zhí)行 。 例:在 2100H地址上有 SJMP指令: 2100H SJMP 7FH 源地址為 2100H, 當(dāng)前 PC地址為 (2100H+02H)=2102H, 偏移量rel=7FH, 是正數(shù) , 指令 SJMP 7FH 執(zhí)行后 , 程序 轉(zhuǎn)移至PC=2102H+7FH=2181H去執(zhí)行 。 例:在 2100H地址上有 SJMP指令 2100H SJMP 80H 源地址為 2100H, 當(dāng)前 PC地址為 (2100H+02H)=2102H, 偏移量rel=80H, 是負(fù)數(shù) , 指令 SJMP 80H 執(zhí) 行 后 , 程 序 轉(zhuǎn) 移 至PC=2102H80H=2082H去執(zhí)行 。 rel=80H, 是負(fù) 128的補(bǔ)碼 。 ⒊ 長(zhǎng)轉(zhuǎn)移指令 LJMP addr16 該指令提供 16位
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1