音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng)
驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產業(yè) | CAN-bus/DeviceNe

PIC16F877 運算子程序(浮點)

作者:晴兒 欄目:單片機
PIC16F877 運算子程序(浮點)
3字節(jié)浮點四則運算子程序

;**************浮點減法子程序****************
F_sub    CALL         NEG_A        ;求ACCA的補碼,將減法轉換為補碼加法
;***********浮點加法子程序**************
F_add    CALL        SUBADJ        ;調子程序判斷EXPB和EXPA的大小
    BTFSC         STATUS,Z    ;參與運算的兩個數(shù)階碼相等?
    GOTO         PADD        ;是,求尾數(shù)的和
    BTFSC         STATUS,C    ;EXPB>EXPA?
    CALL         F_swap        ;是,ACCB與ACCA互換
    MOVF         EXPA,0        ;否,求取兩者的差值
    SUBWF         EXPB
SCLOOP    CALL         SHFTSR        ;ACCB右移規(guī)格化
    INCFSZ         EXPB        ;EXPB=EXPA?        
    GOTO         SCLOOP        ;否,繼續(xù)右移
    MOVF         EXPA,0        ;是,存和(差)的階碼
    MOVWF        EXPB
PADD    MOVF         ACCAHI,0    ;ACCAHI或ACCBHI
    IORWF         ACCBHI,0
    MOVWF         SIGN            ;存于SIGN寄存器
    MOVF        ACCBHI,0    ;暫存ACCBHI    
    MOVWF        EXPA
    CALL         D_add        ;尾數(shù)相加
    BTFSS         SIGN,7        ;ACCA和ACCB有負數(shù)?
               BTFSC         ACCBHI,7    ;否,把和的最高位和次高位同時進位?
    GOTO         ADD2        ;否,轉ADD2
    BTFSS        ACCAHI,7    ;ACCA為負嗎?
    GOTO        ADD3        ;ACCA和ACCB不同時為負,轉ADD3
    BTFSS        EXPA,7        ;是,ACCB為負嗎?
    GOTO        ADD3        
    BSF            STATUS,C    ;ACCA和ACCB同為負,帶負號右移
    RRF            ACCBHI
    RRF            ACCBLO
    INCF            EXPB
ADD3    CLRF         ACCCHI        ;和(差)規(guī)格化
    CLRF         ACCCLO
    CALL         F_norm
    RETURN                    ;子程序返回
ADD2    BCF             STATUS,C    ;最高位次高位不同時進位,ACCB右移
    INCF         EXPB
    GOTO         SHFTR
SHFTSR     BCF             STATUS,C    ;ACCB帶符號右移子程序
    BTFSC         ACCBHI,7
    BSF             STATUS,C
SHFTR      RRF             ACCBHI
    RRF             ACCBLO
    RETURN                    ;子程序返回
;********* ACCB、ACCA互換子程序************
F_swap    MOVF         ACCAHI,0    ;ACCAHI、ACCBHI互換
    MOVWF         TEMP
    MOVF         ACCBHI,0
    MOVWF         ACCAHI
    MOVF         TEMP,0
    MOVWF         ACCBHI
    MOVF         ACCALO,0    ;ACCALO、ACCBLO互換
    MOVWF         TEMP
    MOVF         ACCBLO,0
    MOVWF         ACCALO
    MOVF         TEMP,0
    MOVWF         ACCBLO
    MOVF         EXPA,0        ;EXPA、EXPB互換
    MOVWF         TEMP
    MOVF         EXPB,0
    MOVWF         EXPA
    MOVF         TEMP,0
   
2樓: >>參與討論
xuebing
好!多謝!
 
3樓: >>參與討論
fhshbian
1
xiexie

參與討論
昵稱:
討論內容:
 
 
相關帖子
新手請問晶振如何接法,要搭配電容嗎,謝謝。
哪可下載到PIC單片機的編譯程序?
I2C從模式調試中遇到的問題?大蝦請進
有誰知道在PIC16c5x中:MOVWF PCL;這條指令要執(zhí)行幾個cycles?
請問有沒有多次可編程的PIC12C5XX
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號