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

正文內容

[工學]第三章指令系統(tǒng)-資料下載頁

2025-01-21 13:01本頁面
  

【正文】 南昌大學過控教研室 格式為: CJNE 被比較數 ,比較數 , rel CJNE A, direct, rel ;累加器 A與內部 RAM的 direct 單元不等轉移 。 CJNE A, data, rel ;累加器 A與立即數 data不等轉移 CJNE Rn, data, rel ;寄存器 Rn與立即數 data不等轉移 CJNE @Ri, data, rel ;間接尋址的片內 RAM單元 與立即數 data不等轉移 2. 比較不相等轉移指令 CJNE 說明: ① 數據比較轉移指令多位三字節(jié)指令 。 ② 利用該類指令不但可以實現程序的轉移功能 , 也可以用 以比較兩數值的大小 。 ③ 指令執(zhí)行后進位位 C的狀態(tài)相當反映了被比較數與比較 數相減有無借位 。 南昌大學過控教研室 C← 0轉移 C ←0順序執(zhí)行C← 1轉移(A) 大?否圖310 CJNE指令流程圖順序執(zhí)行相等不相等是南昌大學過控教研室 〔 解 〕 MOV R0, DATA LOOP1: CJNE @R0, 64H, LOOP2 SJMP LOOP3 LOOP2: INC R0 SJMP LOOP1 LOOP3: MOV A, R0 〔 例 326〕 找出片內 RAM的 DATA為首址的數據塊中第一個等于 100的數,并將其地址存入 A中。 南昌大學過控教研室 DJNZ Rn, rel DJNZ direct, rel R n←d ata R n←( Rn) 1=≠圖3 11 C JNZ 指令流程圖循環(huán)體 功能:寄存器 Rn或 direct單元內容減 1, 如果結果為零 ,則程序順序執(zhí)行;如果還沒有減到 0, 則程序轉移 。 說明:這兩條指令主要用于控制程序循環(huán) , 又稱循環(huán)指令 。預先賦值 Rn或 RAM單元 , 以控制循環(huán)次數 。 3. 減 1不為 0轉移指令 DJNZ 南昌大學過控教研室 〔 解 〕 分析:這是一個重復操作過程,可以使用循環(huán)指令。 30H~ 7FH共 50H個單元 ,循環(huán)次數為 50H。 程序如下: MOV R7, 50H MOV R0, 30H NEXT: MOV @R0, 0 INC R0 DJNZ R7, NEXT 〔 例 227〕 將內部 RAM的 30H~ 7FH單元清 0。 南昌大學過控教研室 〔 解 〕 MOV DPTR, 2022H ;數據傳送的源地址 PUSH DPL ;保存源地址 PUSH DPH MOV DPTR, 3000H ;數據傳送的目的地址 MOV R2, DPL ;保存目的地址 MOV R3, DPH LOOP: POP DPH ;取源地址 POP DPL MOVX A, @DPTR ;從源地址單元取數 INL DPTR ;下一個單元源地址 PUSH DPL ;保存源地址 PUSH DPH MOV DPL, R2 ;取目的地址 MOV DPH, R3 MOVX @DPTR, A ;將數據存入目的地址 INC DPTR ;下一個目的地址 MOV R2 , DPL ;保存目的地址 MOV R3, DPH DJNZ 30H, LOOP ;判斷數據傳送是否結束 〔 例 328〕 把從 2022H開始的片外 RAM單元中的數據傳送到從 3000H開始單元中 , 數據個數存放在片內 RAM30H單元中 。 南昌大學過控教研室 子程序調用返回指令 LCALL LCALL addr16 ACALL ACALL addr11 RET RETI ;中斷服務子程序返回指令 空操作指令 NOP NOP ; PC ← (PC)+1 南昌大學過控教研室 MCS51指令機器代碼 指令的存貯和運行是以二進制代碼的形式進行的 , 這 些代碼稱機器指令或機器碼 。 機器指令中的代碼長度各 有不同 , 有單字節(jié) 、 雙字節(jié)和三字節(jié) 3種 , 對應指令分別 稱為單字節(jié)指令 , 雙字節(jié)指令和三字節(jié)指令 。 機器代碼及其存貯 南昌大學過控教研室 3000H E8 MOV A, R0 3001H 24 0F ADD A, 0FH 3003H 90 20 00 MOV DPTR, 2022H 3006H F0 MOV @DPTR, A F03 0 0 5 H3 0 0 6 H南昌大學過控教研室 機器碼的查表計算 1. 指令中帶有立即數、直接地址、 工作寄存器的機器碼 每條匯編指令都有與之一一對應的機器指令 , 亦即機器碼 , 可由 MCS51指令表 ( 附錄 6) 中查出 。 某些指令碼由表中直接給出 , 還有一些須經過簡單的推算方能得出 。 指令中的立即數 、 直接地址直接參與編碼 。 南昌大學過控教研室 〔 解 〕 查表, 指令 PUSH 80H 屬 PUSH direct 形式, PUSH direct的代碼項為: C0 direct, 所以 PUSH 80H的代碼為: C0 80 表中指令 MOV DPTR, data16代碼項為: 90 data15~ 8 data7~ 0 , 故 MOV DPTR, 2022H的代碼為: 90 20 00 表中指令 ADD A, R5的代碼項為 28~ 2F, 則可知 ADD A, R5的代碼為 2D 〔 例 329〕 分別給出 PUSH 80H 、 MOV DPTR, 2022H 、ADD A, R5的代碼 。 南昌大學過控教研室 2. 非相對址控制轉移類指令的機器碼 1) 長轉移及長調用指令 在 LJMP addr16及 LCALL addr16中 , 16位地址往往是用地址標號表示的 , 這時須將地址標號所在指令的首址計算出 。 例:標號地址 START為 0100H, 標號 LOOP為 8100H, 則 START: LCALL LOOP 的代碼為: 12 81 00 分別存貯在 0100H、 0101H和 0102H的 ROM單元中 。 南昌大學過控教研室 指令 AJMP addr11的代碼是這樣生成的: addr11的高 3位與00001合成一個字節(jié) , add11的低 8位為第二個字節(jié) , 即: a10a9a80 0001 a7a6a5a4 a3a2a1a0 。 指令 ACALL add11與之類似 , 代碼這樣生成: addr11的高 3位與 10001合成一個字節(jié) , add11的低 8位為第二個字節(jié) , 即: a10a9a81 0001 a7~ a0 。 〔 例 330〕 標號地址 HERE為 2070H, LOOP為 235AH, 則指令 HERE : AJMP LOOP , HERE: ACALL LOOP代碼為何 ? 〔 解 〕 235AH即 0010 0011 0101 1010, 其低 11位分別為 011 0101 1010, 則 AJMP指令的機器碼為: 0110 0001 0101 1010即 61 5A ACALL指令的機器碼為: 0111 0001 0101 1010即 71 5A 2) 絕對轉移及絕對調用指令機器碼 南昌大學過控教研室 3. 相對轉移指令的機器碼 1) 當程序向前轉移時 若指令為雙字節(jié)指令: rel =目的地址 ― ( 源地址 +2) 若指令為三字節(jié)指令 ( 比較轉移類指令 ) : rel =目的地址 ― ( 源地址 +3) 2)當程序向后轉移時 , 偏移量為負 , 用補碼表示 , 則: 若指令為雙字節(jié): rel= [目的地址- ( 源地址 +2) ]補 = FF- ( 源地址 +2-目的地址 ) +1 = FEH- ( 源地址-目的地址 ) 若指令為三字節(jié)指令: rel = FDH- ( 源地址-目的地址 ) 南昌大學過控教研室 〔 例 331〕 若 LOOP, LOOP1, LOOP2的標號值分別為 0100H,0123H, 008AH,則給出下列 4條指令的代碼。 ① LOOP: SJMP LOOP1 ② LOOP: CJNE A, 64H, LOOP1 ③ LOOP: DJNZ R0, LOOP2 ④ LOOP: SJMP LOOP 〔 解 〕 關鍵是計算偏移量 ①該指令為雙字節(jié)指令 rel=LOOP1(LOOP+2)=0123(0100+2) =21H 指令為: 80 21 ② 該指令為三字節(jié)指令 rel=LOOP1(LOOP+3)=0123(0100+3) =20H 指令為: B8 64 20 ③ 該指令向后轉移 rel=FEH(LOOP1LOOP2) =FEH(0100H008AH)=88H 則指令為: D8 88 ④ rel=FEH(LOOPLOOP) =FEH 指令為: 80 FE 南昌大學過控教研
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1