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

正文內容

第四章匯編語言程序設計(編輯修改稿)

2025-07-08 00:30 本頁面
 

【文章內容簡介】 2 … 、 n,分別轉向處理程序 PRG0、 PRG … 、 PRGn,條件 K 設在 R2 中。 START: MOV DPRT, TABLE MOV A, R2 ADD A, R2 JNC NEXT INC DPH NEXT: JMP @A+DPTR TABLE: AJMP PRG0 … … AJMP PRGn 6 PRG0: … … … PRGn: … 三、循環(huán)程序設計 循環(huán)程序的結構 循環(huán)程序包括以下四個部分: 置循環(huán)初 值循環(huán)體 循環(huán)控制變量修改 循環(huán)終止控制 常用于循環(huán)控制的指令有: DJNZ、 CJNE、 JC、 JNC 等控制類指令。 單循環(huán) 終止循環(huán)控制采用計數(shù)的方法, 即用一個寄存器作為循環(huán)次數(shù)計數(shù)器,每次循環(huán)后計數(shù)加 1 或減 1,達到終止值后退出循環(huán)。 例 46 計算 50 個 8 位二進制數(shù)(單字節(jié))之和。 要求: 50 個數(shù)存放在 30H 開頭的內部 RAM 中,和放在 R6R7 中。 分析:采用 DJNZ 循環(huán)體的流程框圖如下頁所示,在參考程序中, R0為數(shù)據(jù)地址指針,R2 為減法循環(huán)計數(shù)器。 在使用 DJNZ 控制時,循環(huán)計數(shù)器初值不能為 0,當為 0 時,第一次進入循環(huán)執(zhí)行到DJNZ 時,減 1 使 R2 變?yōu)?FFH,循環(huán)次數(shù)成了 256,顯然不合題意。 START: MOV R6, 0 MOV R7, 0 MOV R2, 50 MOV R0, 30H LOOP: MOV A, R7 ADD A, @R0 MOV R7, A CLR A ADDC A, R6 MOV R6, A INC R0 DJNZ R2, LOOP SJMP $ 多重循環(huán) 如果在一個循環(huán)程序中嵌套了其他的循環(huán)程序,稱為多重循環(huán)程序。在用軟件實現(xiàn)延時時顯得特別有用。 例 47 設計 1 秒延時子程序,假設 fosc=12MHz。 分析:軟件延時與指令的執(zhí)行時間關系密切,在使用 12MHz 晶振時,一個機器周期的時間為 1, us,執(zhí)行一條 DJNZ 指令的時間為 2us,我們可以采用三重循環(huán)的方法寫出延時 1秒的子程序 流程、程序如右圖所示: DELAY: MOV R7, 10; 7 DL3: MOV R6, 200 ; DL2: MOV R5, 250 ; DL1: DJNZ R5, DL1 ; DJNZ R6, DL2 ; DJNZ R7, DL3 ; RET 按條件轉移控制的循環(huán) 例 48 把內部 RAM 中從 ST1地址開始存放的數(shù)據(jù)傳送到以 ST2 開始的存儲區(qū)中,數(shù)據(jù)塊長度未知,但已知數(shù)據(jù)塊的最后一個字節(jié)內容為 00H,而其它字節(jié)均不為 0。并設源地址與目的地址空間不重復。 分析:顯然,我們可以利用判斷每次傳送的內容是否為 0 這一條件來控制循環(huán)。也可用CJNE 來比較與 0 是否相 等設計。利用判 A轉移控制的循環(huán)流程圖如右圖所示。 START: MOV R0, ST1 MOV R1, ST2 LOOP: MOV A, @R0 JZ ENT MOV @R1, A INC R0 INC R1 SJMP LOOP ENT: RET 四、查表程序設計 用于查表的指令有兩條: MOVC A, @A+ PC; MOVC A, @A+ DPTR; 當使用 DPTR 作為基址寄存器時查表比較簡單,查表的 步驟分三步 1)基址(表格首地址)送 DPTR 數(shù)據(jù)指針; 2)變址值(在表中的位置是第幾項)送累加器 A; 3)執(zhí)行查表指令 MOVC A, @A+ DPTR,進行讀數(shù),查表結果送回累加器 A。 當使用 PC作為基址寄存器時,由于 PC 本身是一個程序計數(shù)器,與指令的存放地址有關,查表時其操作有所不同。查表的步驟也分三步: 1)變址值(在表中的位置是第幾項)送累加器 A; 2)偏移量(查表指令的下一條指令的首地址到表格首地址之間的字節(jié)數(shù)) + A → A ;(修正) 3)執(zhí)行查表指令 MOVC A, @A+ PC。 例 49 二位十六進制數(shù)與 ASCII 碼的轉換程序。設數(shù)值在 R2 中,結果低位存在 R2中,高位存在 R3 中。 分析:對于 2 位 16 進制數(shù)必須進行 2 次查表,因此,取數(shù)后通過屏蔽的方法來實現(xiàn)高低位分開。 ( 1)利用 DPTR 作基址的參考程序如下 HEXASC: MOV DPTR, TABLE
點擊復制文檔內容
黨政相關相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1