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

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

18f系列 daw的用法

作者:looks 欄目:單片機(jī)
18f系列 daw的用法
在bcd加法中,18f系列的daw指令可調(diào)整字節(jié)的bcd值,在多字節(jié)bcd加法中如何用請指教,以下程序結(jié)果不對,有什么簡單方法改正?
      MOVLW  0X99
      MOVWF  PPP1
      MOVLW  0X11
      MOVWF  PPP2

      MOVLW 0X99
      ADDWF PPP1,W
      DAW
      MOVWF PPP1
      MOVLW 0X33
      ADDWFC PPP2,W
      DAW
      MOVWF  PPP2
正確結(jié)果為PPP1=0X45 PPP2=0X98,但實際PPP1=0X44 PPP2=0X98



2樓: >>參與討論
looks
?
為何無人回答????我有什么問題???

3樓: >>參與討論
martin
Re:
首先,正確的結(jié)果應(yīng)該是:PPP2=0X45 PPP1=0X98
之所以出現(xiàn)4498,是因為DAW這條指令會影響C標(biāo)志位,當(dāng)你前一次加法產(chǎn)生C標(biāo)志位后,DAW指令在高4位加6沒有進(jìn)位時會把C清零,于是就丟掉了前次加法的進(jìn)位位。
代碼修改方法:
      bcf    Flag,0;*********add************
      MOVLW  0X99
      MOVWF  PPP1
      MOVLW  0X11
      MOVWF  PPP2
      MOVLW 0X99
      ADDWF PPP1,W
      btfsc    STATUS,C;***********add***********
      bsf    Flag,0;************add**********
      DAW
      MOVWF PPP1
      MOVLW 0X33
      btfsc    Flag,0;************add**********
      bsf    STATUS,C;***********add**********
      ADDWFC PPP2,W
      DAW
      MOVWF  PPP2
這是我的方法,不一定是最好的,但我試過是沒問題的。哪位朋友有更好的方法請跟貼。

4樓: >>參與討論
looks
謝!
現(xiàn)謝謝martin,你說的很對,daw時丟失了原來的進(jìn)位位,如果沒有簡單的方法彌補(bǔ)那太不應(yīng)該了。另外在指令說明中也不特別說明一下,只說影響C,還以為高4位>9時dwa后會有進(jìn)位產(chǎn)生,沒想到還會丟失進(jìn)位;舜罅繒r間真氣人!

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
12C508問題(最簡單的程序,怎么也不能運行)
[求助]為什么不能中斷?我的設(shè)置正確嗎?
張版主請看依你說的方式編的初步程序有否問題?
有人用過lcd么
關(guān)于多個頻率采樣的問題?
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進(jìn)入


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