单片机的不难编程题!急!!!!!!将R0中的8位二进制数转换成3位BCD码,结果存入外部RAM的1002H~1000H(从高位到低位)单元中。例如:开始时,R0 中的数据是:81H 即 (129)10;程序执行后,外部 RAM:
地址 内容
1002H 01H
1001H 02H
1000H 09H悬赏分:15 - 解决时间:2009-10-15 19:10
提问者: stefine_ - 一级
;-----------------------------------------------------
最佳答案:呵呵,楼上的程序,使用了DEC DPTR,要知道,51单片机指令系统里面,是没有DEC DPTR指令的。按照下面的思路做,还可以再简练些。 MOV DPTR, #1000H ;个位的地址
MOV A, R0
MOV B, #10
DIV AB
XCH A, B
MOVX @DPTR, A
INC DPTR
MOV A, #10
XCH A, B
DIV AB
XCH A, B
MOVX @DPTR, A
INC DPTR
XCH A, B
MOVX @DPTR, A
RET 仅用了24字节。
;-------------------------------------------------------
回答者: 做而论道 - 八级 2009-10-15 19:02
提问者对于答案的评价:谢谢
原文网址:
http://zhidao.baidu.com/question/121520777.html;-------------------------------------------------------