最新免费av在线观看,亚洲综合一区成人在线,中文字幕精品无码一区二区三区,中文人妻av高清一区二区,中文字幕乱偷无码av先锋

登錄 免費(fèi)注冊 首頁 | 行業(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è)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

我寫的32為二進(jìn)制碼轉(zhuǎn)10位BCD碼的匯編子程序!

作者:hujiahua 欄目:單片機(jī)
我寫的32為二進(jìn)制碼轉(zhuǎn)10位BCD碼的匯編子程序!
調(diào)用一次要2千多個指令周期。
第一次用AVR,芯片是ATMEGA8L-8PI,大家交流一下,歡迎拍磚!

.equ    bin4_0                =$20c    ; LSB
.equ    bin4_1                =$20d
.equ    bin4_2                =$20e
.equ    bin4_3                =$20f    ; MSB

.equ    bcd10_0                =$210    ; LSB
.equ    bcd10_1                =$211
.equ    bcd10_2                =$212
.equ    bcd10_3                =$213
.equ    bcd10_4                =$214
.equ    bcd10_5                =$215
.equ    bcd10_6                =$216
.equ    bcd10_7                =$217
.equ    bcd10_8                =$218
.equ    bcd10_9                =$219    ; MSB

;******************************************************
; function: bin2bcd32
; input: bin4_0, bin4_1, bin4_2, bin4_3
; OUTPUT: bcd10_0, bcd10_1, bcd10_2, bcd10_3, bcd10_4
; OUTPUT: bcd10_5, bcd10_6, bcd10_7, bcd10_8, bcd10_9
;******************************************************
bin2bcd32:
    PUSH        r16
    PUSH        r17
    PUSH        XL
    PUSH        XH
    PUSH        YL
    PUSH        YH
    PUSH        ZL
    PUSH        ZH

    ldi            XL, bcd10_0
    ldi            XH, bcd10_0>>8
    clr            r16
    st            X+, r16        ; 0
    st            X+, r16        ; 1
    st            X+, r16        ; 2
    st            X+, r16        ; 3
    st            X+, r16        ; 4
    st            X+, r16        ; 5
    st            X+, r16        ; 6
    st            X+, r16        ; 7
    st            X+, r16        ; 8
    st            X+, r16        ; 9
    ldi            XL, bin4_3+1
    ldi            XH, (bin4_3+1)>>8

bit31:
    ld            r16, -X
    sbrs        r16, 7
    rjmp        bit30
    ldi            ZL, bin2bcd_bit31<<1
    ldi            ZH, (bin2bcd_bit31)>>7
    rcall        add_bcd_10

bit30:
    sbrs        r16, 6
    rjmp        bit29
    ldi            ZL, bin2bcd_bit30<<1
    ldi            ZH, (bin2bcd_bit30)>>7
    rcall        add_bcd_10

bit29:
    sbrs        r16, 5
    rjmp        bit28
    ldi            ZL, bin2bcd_bit29<<1
    ldi            ZH, (bin2bcd_bit29)>>7
    rcall        add_bcd_10

bit28:
    sbrs        r16, 4
    rjmp        bit27
    ldi            ZL, bin2bcd_bit28<<1
    ldi            ZH, (bin2bcd_bit28)>>7
    rcall        add_bcd_10

bit27:
    sbrs        r16, 3
    rjmp        bit26
    ldi            ZL, bin2bcd_bit27<<1
    ldi&nb
2樓: >>參與討論
宇宙飛船
二進(jìn)制轉(zhuǎn)BCD碼的主要是算法,沒有什么好說!
    看這種代碼會浪費(fèi)我很多時間!知道算法的話這東西是很簡單的。我沒興趣看代碼。
    這等于1+1=2的道理這么簡單。

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
如果看門狗都失靈怎辦?
新手請教?
補(bǔ)充:是用JTAG ICE來下載和調(diào)試代碼的,會不會有影響???
M8 ADC中斷怎么搞?
請推薦一款高端meg型號,內(nèi)部帶can控制器的,謝謝
免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號