单片机编程题 -1

;==============================================================
题目:假设从内部的RAM30H单元开始,连续存放一个字符串,以回车符(其ASCII码为0DH)作为结束标志,要求编程测出该字符串的长度,并把结果存放在R2寄存器中。
悬赏分:50 - 解决时间:2009-10-22 14:53
;---------------------------------------------------------
最佳答案:

程序如下:
    MOV   R2,  #0          ;个数
    MOV   R0,  #30H        ;数据的起始地址
S_LOOP:
    MOV   A,   @R0
    CJNE  A, #0DH, NEXT    ;不等于0D转移
    RET                    ;相等即结束搜索
NEXT:
    INC   R2
    INC   R0
    SJMP S_LOOP            ;反复搜索
;---------------------------------------------------------
回答者: 做而论道 - 八级   2009-10-22 09:58
提问者对于答案的评价:非常感谢!!!
原题网址:http://zhidao.baidu.com/question/122398736.html
;==============================================================
题目:把长度为10H的字符串从内部RAM的输入缓冲区inbuf向设在外部RAM的输出缓冲区outbuf进行传送,一直进行到遇见回车字符“CR”结束传送或整个字符串传送完毕。加上必要的伪指令,并加以注释。
悬赏分:20 - 解决时间:2009-10-27 12:37
;---------------------------------------------------------
最佳答案:

CHAUN_SONG:
    MOV   R0,  #inbuf
    MOV   DPTR, #outbuf
    MOV   R7,  #10H
CHAUN:
    MOV   A,   @R0         ;取来数据
    CJNE A, #0DH, JIXU     ;不等于"CR"转 继续
    RET                    ;等于,就结束
JIXU:
    MOVX  @DPTR, A         ;送到目的地
    INC   R0
    INC   DPTR
    DJNZ  R7, CHAUN        ;循环10H次
    RET                    ;结束
;---------------------------------------------------------
回答者:做而论道 - 九级   2009-10-27 12:05
原题网址:http://zhidao.baidu.com/question/123109326.html
;==============================================================

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值