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

正文內(nèi)容

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

2025-01-21 22:10本頁面
  

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