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

正文內(nèi)容

指令與匯編語言程序設(shè)計(編輯修改稿)

2025-02-02 20:48 本頁面
 

【文章內(nèi)容簡介】 OOP0: … ;分支程序 0 …LOOP1: … ;分支程序 1 …單片機實用教程 第 3章 指令與匯編語言程序設(shè)計一、堆棧的概念 堆棧是內(nèi)部 RAM中一段用來暫時存放數(shù)據(jù)的存儲區(qū),通常用來保護斷點和現(xiàn)場。 SP—— 堆棧指針對其進行管理, SP始終指向堆棧頂部數(shù)據(jù)的地址, SP在單片機復位后它的值是 07H。 堆棧中數(shù)據(jù)的存取方式按照先進后出、后進先出的原則進行 。堆棧操作 ( 1)壓棧:先將 SP加 1,然后將要壓入堆棧的數(shù)據(jù)送到 SP指示的單元中。 ( 2)彈棧:先將數(shù)據(jù)彈出,然后將 SP減 1,指向新的單元 。單片機實用教程 第 3章 指令與匯編語言程序設(shè)計二、堆棧操作指令 堆棧操作指令 PUSH direct ; ① SP+1→SP , ; ② ( direct) →(SP) POP direct ; ① (SP)→ ( direct), ; ② SP1→SP[例 313]已知 SP=60H,分析執(zhí)行下列指令后的結(jié)果。 MOV DPTR, 1234H ; DPTR=1234H PUSH DPH ; SP+1→SP , SP=61H,( DPH) → ( SP), ;( 61H) =12H。 PUSH DPL ; SP+1→SP , SP=62H,( DPH) → ( SP), ;( 62H) =34H。 POP DPH ; DPH=( SP) =( 62H) =34H, SP1→SP , ; SP=61H。 POP DPL ; DPH=( SP) =( 61H) =12H, SP1→SP , ; SP=60H。 執(zhí)行結(jié)果: SP=60H,兩次壓棧,兩次出棧, SP不變; DPTR=3412H,和原來的值高低位顛倒,從本例可以看出,堆棧的操作一定要注意操作規(guī)則:先進后出、后進先出。單片機實用教程 第 3章 指令與匯編語言程序設(shè)計( 2)隱含的堆棧操作指令 LCALL addr16 ; ① PC←PC+3 , ; ② SP+1→SP , PC7~0→(SP) ; ③ SP+1→SP , PC15~8→(SP) , ; ④ addr16→PC ACALL addr11 ; ① PC←PC+2 , ; ② SP+1→SP , PC7~0→(SP) ; ③ SP+1→SP , PC15~8→(SP) , ; ④ addr11→PC10~0 RET ; ① ( SP) →PC15~8 , SP1→SP 。 ; ② ( SP) →PC7~0 , SP1→SP 。 中斷的響應(yīng)與返回也會對堆棧進行操作。一般情況下,應(yīng)在初始化區(qū)對 SP進行設(shè)置,將堆棧設(shè)定在數(shù)據(jù)緩沖區(qū)。單片機實用教程 第 3章 指令與匯編語言程序設(shè)計一、算術(shù)運算指令 加法指令( 1)不帶進位位的加法指令 ADD A, data ; A+data→A ,最高位有進位 ;時, Cy=1;否則, Cy=0。ADD A, Rn ; A+Rn→A ,最高位有進位時, ; Cy=1;否則, Cy=0。ADD A, direct ; A+ ( direct) →A ,最高位 ;有進位時, Cy=1;否則, Cy=0。ADD A, Ri ; A+( Ri) →A ,最高位有進位 ;時, Cy=1;否則, Cy=0。單片機實用教程 第 3章 指令與匯編語言程序設(shè)計( 2)帶進位位的加法指令ADDC A, data ; A+data+Cy→A ,最高位有進位 ;時, Cy=1;否則, Cy=0。ADDC A, Rn ; A+Rn+Cy→A ,最高位有進位時, ; Cy=1;否則, Cy=0。ADDC A, direct ; A+( direct) +Cy→A ,最高位 ;有進位時, Cy=1;否則, Cy=0。ADDC A, Ri ; A+( Ri) +Cy→A ,最高位有進 ;位時, Cy=1;否則, Cy=0。ADD用于首次相加, ADDC用于除首次以外的相加單片機實用教程 第 3章 指令與匯編語言程序設(shè)計 [例 314] 已知兩個雙字節(jié)無符號數(shù),分別存放在 R1R0和R3R2中(高位在前),試編寫程序求它們的和,結(jié)果存放在R6R5R4中。 R1 R0+ R3 R2 R6 R5 R4START: MOV A, R0 ;取一個加數(shù)的低 8位 ADD A, R2 ;與另外一個數(shù)的低 8位相加 MOV R4, A ;存低 8位的和 MOV A, R1 ;取一個加數(shù)的高 8位 ADDC A, R3 ;高 8位相加,并加低 8位相加時 ;的 Cy MOV R5, A ;存高 8位的和 CLR A ; A清 0 ADDC A, 0 ; 0+0+Cy→A ,取出高 8位相加時 ;的 Cy MOV R6, A ;存進位 RET單片機實用教程 第 3章 指令與匯編語言程序設(shè)計( 3) BCD碼調(diào)整指令 DA A [例 317]已知兩個 BCD碼表示的數(shù),分別存放在 R1R0和 R3R2中(高位在前),試編寫程序求它們的和,結(jié)果存放在 R6R5R4中。START: MOV A, R0 ;取一個加數(shù)的低位 ADD A, R2 ;與另外一個數(shù)的低位相加 DA A ;低位和 BCD碼調(diào)整 MOV R4, A ;存低位的和 MOV A, R1 ;取一個加數(shù)的高位 ADDC A, R3 ;高位相加,并加低位相加時的 Cy DA A ;高位和 BCD碼調(diào)整 MOV R5, A ;存高位的和 CLR A ; A清 0 ADDC A, 0 ; 0+0+Cy→A ,取出高位相加時的 Cy MOV R6, A ;存進位 RET單片機
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1