欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

4位16進制數轉換為10進制數(8421BCD)求思路

查看數: 3702 | 評論數: 2 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2020-3-30 16:03

正文摘要:

如題,在做一道十進制1+2+3+4+……+100的單片機匯編題目,最后要求結果轉換為BCD碼形式,也就是輸出為5050。 我現在是高位低位分開存,利用進位標志符來做的累加(ADDC),最后得到了十六進制輸出13BA。現在遇到的 ...

回復

ID:401564 發表于 2020-3-30 20:44
不知道是誰想出來的扯蛋題目
用匯編去轉換BCD碼干嘛呢?完成運算之后,拆分出來直接顯示不就可以了嗎?
你這個加法是超過了256的,要用兩個地址來存放一個16進制數的
一個16進制數最大數是:65535
在進行BCD碼運算中,你要用到三個地址的,結果應該是005050才是,而不是5050
ID:235200 發表于 2020-3-30 18:30
入口條件:待轉換的雙字節十六進制整數在R6、R7中。
出口信息:轉換后的三字節BCD碼整數在R3、R4、R5中。
影響資源:PSW、A、R2~R7 堆棧需求: 2字節
HB2: CLR A ;BCD碼初始化
MOV R3,A
MOV R4,A
MOV R5,A
MOV R2,#10H ;轉換雙字節十六進制整數
HB3: MOV A,R7 ;從高端移出待轉換數的一位到CY中
RLC A
MOV R7,A
MOV A,R6
RLC A
MOV R6,A
MOV A,R5 ;BCD碼帶進位自身相加,相當于乘2
ADDC A,R5
DA A ;十進制調整
MOV R5,A
MOV A,R4
ADDC A,R4
DA A
MOV R4,A
MOV A,R3
ADDC A,R3
MOV R3,A ;雙字節十六進制數的萬位數不超過6,不用調整
DJNZ R2,HB3 ;處理完16bit
RET

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表