;==============================================================
题目:假设从内部的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
;==============================================================