新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PIC單片機(jī)4位16進(jìn)制數(shù)除于4位16進(jìn)制數(shù)子程序

PIC單片機(jī)4位16進(jìn)制數(shù)除于4位16進(jìn)制數(shù)子程序

作者: 時(shí)間:2016-11-29 來(lái)源:網(wǎng)絡(luò) 收藏
;**************************************************************
;   除法子程序;/*************************************************************CF1   MOVLW 0FFH;被除數(shù)MOVWF 70H ;被除數(shù)高8位寄存器 MOVLW 0FFH;被除數(shù)MOVWF 71H;被除數(shù)低8位寄存器MOVLW 00HMOVWF 72H ;余數(shù)高8位寄存器MOVLW 00HMOVWF 73H ;余數(shù)低8位寄存器MOVLW 00HMOVWF 74H;商高8位寄存器MOVLW 00HMOVWF 75H;商低8位寄存器MOVLW D0;除數(shù)MOVWF 76H;除數(shù)高8位寄存器MOVLW D2;除數(shù)MOVWF 77H;除數(shù)低8位寄存器MOVLW D16MOVWF 7AHCF2  RLF  71H,1;先把移低字節(jié)移到高字節(jié)位RLF  70H,1;先處理高字節(jié)和接收低字節(jié)傳上來(lái)的位字節(jié)RLF  73H,1;把移出來(lái)的數(shù)處理RLF  72H,1;把移出來(lái)的數(shù)處理MOVFW 77HSUBWF 73H,0;先減低字節(jié)8位MOVWF 7BH;臨時(shí)保存余數(shù)MOVFW 76HBTFSS STATUS,C;判斷是否有借位減法指令只影響C不受C影響INCF 76H,0;是被減數(shù)加1SUBWF 72H,0 ;再減高8位 BTFSS STATUS,C;判斷大小大則保存余數(shù)到R2,R3GOTO CF3MOVWF 72H ;保存高八位余數(shù)MOVFW 7BHMOVWF 73H;保存低八位余數(shù);由于除數(shù)為4位16進(jìn)制數(shù)所以余數(shù)有可能超過(guò)2位16進(jìn)制數(shù)要用2個(gè)寄存器CF3   RLF  75H,1;先把存到低字節(jié)位RLF  74H,1;通過(guò)低字節(jié)存到高字節(jié)DECFSZ 7AH,1;判斷是否完成GOTO CF2   RETURN


關(guān)鍵詞: PIC單片機(jī)16進(jìn)制

評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉