ST意法半导体
直播中

万腾龙

7年用户 171经验值
私信 关注
[问答]

请问有一种stm8s汇编语言可以将16位二进制转换为5 bcd代码吗?

你好,


请问有一种stm8s汇编语言可以将16位二进制转换为5 bcd代码

非常感谢
marc debruyne

以上来自于谷歌翻译


以下为原文




hello,


please is there a sort of stm8s assembly language available who convert a 16 bit binary  to 5 bcd  code

many thanks
marc debruyne

回帖(3)

王明

2019-3-29 08:45:30
马克,
 
 这是我用来计算无符号16位数量的ASCII表示的代码:
 
 .PrintU16
 PUSHW X.
 LDW Y,#10000
 DIVW X,Y
 LD A,XL
 添加A,#'0'
 LDW X,Y
 LDW Y,#1000
 DIVW X,Y
 SWAPW X.
 LDW(1,SP),X
 LDW X,Y
 LDW Y,#100
 DIVW X,Y
 ADDW X,(1,SP)
 ADDW X,#'00'
 LDW(1,SP),X
 LDW X,Y
 LDW Y,#10
 DIVW X,Y
 推A
 LD A,XL
 LD YH,A
 POP A
 ADDW Y,#'00'
 POPW X.
 RET
 
 调用者必须在X寄存器中存储要转换的数量,而在退出时,寄存器{A,X,Y}包含其ASCII表示。
 
 我希望你会发现它很有用。
 
 问候
 
 EtaPhi

以上来自于谷歌翻译


以下为原文





Marc,

here is the code I use to compute the ASCII representation of an unsigned 16 bit quantity:

.PrintU16
         PUSHW   X
         LDW     Y,#10000
         DIVW    X,Y
         LD      A,XL
         ADD     A,#'0'
         LDW     X,Y
         LDW     Y,#1000
         DIVW    X,Y
         SWAPW   X
         LDW     (1,SP),X
         LDW     X,Y
         LDW     Y,#100
         DIVW    X,Y
         ADDW    X,(1,SP)
         ADDW    X,#'00'
         LDW     (1,SP),X
         LDW     X,Y
         LDW     Y,#10
         DIVW    X,Y
         PUSH    A
         LD      A,XL
         LD      YH,A
         POP     A
         ADDW    Y,#'00'
         POPW    X
         RET

The caller must store in the X register the quantity to convert, while on exit the registers {A,X,Y} contain its ASCII representation.

I hope you'll find it useful.

Regards

EtaPhi
举报

李淑兰

2019-3-29 09:03:35
没有asm,但我在这里有一个双重涉猎C实现
 
https://sites.google.com/site/klaasdc/stm8s-projects/16bit-to-bcd-conversion
 
 
 它可能会做得更好,但这是我当时所需要的。也许它对你有用。

以上来自于谷歌翻译


以下为原文







No asm, but I have a double dabble C implementation here

https://sites.google.com/site/klaasdc/stm8s-projects/16bit-to-bcd-conversion


It can probably be done better, but it's what I needed at the time. Maybe it's useful for you.
举报

万腾龙

2019-3-29 09:16:55
你好先生,
 
 
 非常感谢,我刚刚尝试了这个程序并且它的工作非常好;
 我一定要你,你是一个聪明的人。
 我找不到它,搜索了很多,并尝试从不同的处理器转换,但没有结果。所以我尝试了最后的机会来到这个论坛。
 祝贺

以上来自于谷歌翻译


以下为原文





hello sir,


many thanks, i have just try the program and its working very well;
i must you wish ,youre a clever man.
i could not find it, have search a lot, and tryed to convert from different processors, but with no result.so i have tryed the last chance to come to this forum.
congratulations
举报

更多回帖

发帖
×
20
完善资料,
赚取积分