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

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

請看看我的浮點(diǎn)庫那里 有錯(cuò)

作者:mcu_51 欄目:單片機(jī)
請看看我的浮點(diǎn)庫那里 有錯(cuò)
兩個(gè)負(fù)相加時(shí)會(huì)為正數(shù)!請看看那里錯(cuò)了!


;*******************************************************************
;       Floating Point Subtraction  ( ACCb - ACCa -> ACCb )
;
F_sub    call    NEG_A           ; At first negate ACCa; Then add
    ;
F_add    movf    EXPA,W          ; scale mantissas
    subwf   EXPB,W          ; find the greater exponent
    btfsc   STATUS,Z
    goto    padd            ; exponents are equal
    andlw   0x80
    skpnz
    call    F_swap          ; if A < B then swap ( A<->B )
    movf    EXPA,W
    subwf   EXPB,F
    
scloop    call    SHFTSR
    incfsz  EXPB, F
    goto    scloop
    movf    EXPA,W
    movwf   EXPB
padd    movf    ACCAHI,W
    iorwf   ACCBHI,W
    movwf   SIGN
    call    D_add           ; compute double PRECISION integer add
    btfss   SIGN,7
    btfss   ACCBHI,7
    goto    F_addE
    bcf     STATUS,C
    incf    EXPB, F
    call    SHFTR
F_addE    btfsc   ACCBHI,7
    goto    F_addNE
    call    F_norm
    retlw   0
F_addNE    call    NEG_B
    call    F_norm
    call    NEG_B
    retlw   0

SHFTSR     BCF     STATUS,C    ;ACCB帶符號右移子程序
    BTFSC     ACCBHI,7
    BSF     STATUS,C
SHFTR      RRF     ACCBHI,F
    RRF     ACCBLO,F    
    RETURN        ;子程序返回

NEG_A    COMF     ACCALO,F              ;ACCALO取反加1
    INCF     ACCALO,F
    BTFSC     STATUS,Z        ;低8位有進(jìn)位嗎?
    DECF     ACCAHI,F        ;有,ACCAHI減1,再取反
    COMF     ACCAHI,F                ;否則ACCAHI直接取反
    RETURN                

;***雙字節(jié)加法子程序,入口地址ACCB+ACCA,出口地址ACCB***
D_add
            MOVF     ACCALO,W        ;ACCB和ACCA低半字節(jié)相加
    ADDWF     ACCBLO,F
    BTFSC     STATUS,C        ;有進(jìn)位否?
    INCF     ACCBHI,F              ;有,ACCB高字節(jié)加1,再加ACCAHI
    MOVF     ACCAHI,W        ;ACCA、ACCB高半字節(jié)相加
    ADDWF     ACCBHI,F
    RETURN                       ;子程序返回

;***********浮點(diǎn)數(shù)規(guī)格化子程序****************

F_norm    movfw   ACCBHI
    iorwf   ACCBLO,W
    skpnz
    retlw   0
C_norm    btfsc   ACCBHI,6
    retlw   0
    clrc
    RLF     ACCBLO, F
    RLF     ACCBHI, F
    DECF    EXPB, F
    goto    C_norm
    ;
F_norm32    movfw   ACCBHI
    iorwf   ACCBLO,W
    iorwf   ACCCHI,W
    iorwf   ACCCLO,W    
    skpnz
    retlw   0
C_norm1    btfsc   ACCBHI,6
    retlw   0
    clrc
    RLF     ACCCLO, F
    RLF     ACCCHI, F
    RLF     ACCBLO, F
    RLF     ACCBHI, F
    DECF    EXPB, F
    goto    C_norm1

2樓: >>參與討論
shaoguang
看完也太累了,何不用C
 
參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
請問哪里有PIC的程序仿真軟件?
請問在哪里下載無限制版的HT-PICC?
請教關(guān)于A_D輸入的問題
這樣的項(xiàng)目誰會(huì)做,各位高手請看進(jìn)來???…
自制MPLAB-ICD聯(lián)機(jī)后通信成功,點(diǎn)測試按鈕提示:
免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


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