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

正文內容

80c51的程序設計(已改無錯字)

2022-08-29 14:38:25 本頁面
  

【正文】 。入口時, R0和 R1分別指向加數(shù)和被加數(shù)的低位字節(jié);出口時, R0指向結果的高位字節(jié)。低字節(jié)在高地址,高字節(jié)在低地址。 實現(xiàn)程序: NADD: MOV R7, 3 ;三字節(jié)加法 CLR C ; NADD1: MOV A, @R0 ;取加數(shù)低字節(jié) ADDC A, @R1 ;被加數(shù)低字節(jié)加 A MOV @R0, A ; DEC R0 DEC R1 DJNZ R7, NADD1 INC R0 RET 利用堆棧 堆棧傳遞參數(shù)是在子程序嵌套中常采用的一種方法。 例 把內部 RAM中 20H單元中的 1個字節(jié)十六進制數(shù)轉換為 2位 ASCII碼,存放在 R0指示的兩個單元中。 MAIN: MOV A, 20H ; SWAP A PUSH ACC ;參數(shù)入棧 ACALL HEASC POP ACC MOV @R0, A ;存高位十六進制數(shù)轉換結果 INC R0 ;修改指針 PUSH 20H ;參數(shù)入棧 ACALL HEASC POP ACC MOV @R0, A ;存低位十六進制數(shù)轉換結果 SJMP $ HEASC: MOV R1, SP ;借用 R1為堆棧指針 DEC R1 DEC R1 ; R1指向被轉換數(shù)據(jù) XCH A, @R1 ;取被轉換數(shù)據(jù) ANL A, 0FH ;取一位十六進制數(shù) ADD A, 2 ; 所加值為 MOVC與 DB間字節(jié)數(shù) MOVC A, @A+PC ;查表 XCH A, @R1 ; 1字節(jié)指令,存結果于堆棧 RET ; 1字節(jié)指令 ASCTAB: DB 30H, 31H, 32H, 33H, 34H, 35H, 36H, 37H DB 38H, 39H, 41H, 42H, 43H, 44H, 45H, 46H 一般說來: 數(shù)據(jù)較少 時,采用 寄存器 傳遞方式可以獲得較快的傳遞速度; 數(shù)據(jù)較多 時,宜采用 存儲器 或 堆棧 方式傳遞; 若是 子程序嵌套 ,宜采用 堆棧 方式。 常用程序舉例 算術運算程序 多字節(jié) 數(shù)的 加、減 運算 合理地運用進位(借位)標志 例 多字節(jié)無符號數(shù)的加法。 設兩個 N字節(jié)的無符號數(shù)分別存放在內部 RAM中以DATA1和 DATA2開始的單元中。相加后的結果要求存放在 DATA2數(shù)據(jù)區(qū)。 MOV R0, DATA1 ; MOV R1, DATA2 ; MOV R7, N ;置字節(jié)數(shù) CLR C ; LOOP: MOV A, @R0 ; ADDC A, @R1 ;求和 MOV @R1, A ;存結果 INC R0 ;修改指針 INC R1 ; DJNZ R7, LOOP ; 多字節(jié)數(shù) 乘法 運算 例 設雙字節(jié)無符號被乘數(shù)存放在 R R2中,乘數(shù)存放在 R R4中, R0指向積的高位。 R 2R 3R 4R 5R 2 R 4R 2 R 4R 2 R 5R 2 R 5R 3 R 4 R 3 R 4R 3 R 5R 3 R 5LLL+積 :R 0L開 始結 束R 2 * R 4 累 加 到 結 果 單 元R 2 * R 5 累 加 到 結 果 單 元R 3 * R 4 累 加 到 結 果 單 元R 3 * R 5 累 加 到 結 果 單 元例 多字節(jié)無符號數(shù)的 減法 。 設兩 N字節(jié)數(shù)分別放在內部 RAM中以 DATA1和 DATA2開始的單元中。相減后的結果要求存放在 DATA2數(shù)據(jù)區(qū) 。 MOV R0, DATA1 ; MOV R1, DATA2 ; MOV R7, N ;置字節(jié)數(shù) CLR C ; LOOP: MOV A, @R0 ; SUBB A, @R1 ;求差 MOV @R1, A ;存結果 INC R0 ;修改指針 INC R1 ; DJNZ R7, LOOP ; 主程序: MULTB: MOV R7, 04 ;結果單元清 0 LOOP: MOV @R0, 00H ; DJNZ R7, LOOP ; DEC R0 ACALL BMUL ; SJMP $ 另有 2段子程序: BMUL RADD(在 BMUL中被調用) 子程序段: RADD: ADD A, @R0 ; MOV @R0, A ; MOV A, B ; INC R0 ; ADDC A, @R0 ; MOV @R0, A ; INC R0 ; MOV A, @R0 ; ADDC A, 00H ;加進位 MOV @R0, A ; RET BMUL: MOV A, R2 ; MOV B, R4 ; MUL AB ;低位乘 ACALL RADD ; MOV A, R2 ; MOV B, R5 ; MUL AB ;交叉乘 DEC R0 ; ACALL RADD ; MOV A, R4 ; MOV B, R3 ; MUL AB ;交叉乘 DEC R0 ;
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1