单片机 汇编程序问题三则

其一:试编写程序,统计数据区长度。

设数据区从片内RAM的30H单元开始,该数据区以0结束,统计结果放入2FH中。

我这道题不会做,大家帮我一下。

悬赏分:10 - 解决时间:2009-10-30 00:16

最佳答案:

;-------------------------------------------------

程序如下:

    MOV   2FH, #0         ;长度为零

    MOV   R0,   #30H       ;起始地址

JIANG_CHA:

    MOV   A,   @R0         ;取来数据

    INC   R0

    INC   2FH              ;长度加一

    JNZ   JIANG_CHA        ;不为0,就继续检查

    ;DEC   2FH             ;前面的计算,是把0算做数据区内的,如果不算0,长度应该减一

    RET                     ;结束

;-------------------------------------------------

回答者:   做而论道 - 八级   2009-10-24 20:21

原题网址:http://zhidao.baidu.com/question/122774304.html

;==============================================================

其二:编程,将RAM35H—55H单元中的内容传送到片外RAM中去。

悬赏分:15 - 解决时间:2009-11-8 05:59

最佳答案:

;-------------------------------------------------

;假定片外RAM的地址是2800H。

    MOV R0, #35H

    MOV DPTR, #2800H

M_LOOP:

    MOV A, @R0

    MOVX @DPTR, A

    INC R0

    INC DPTR

    CJNE R0, #56H, M_LOOP

    RET

;-------------------------------------------------

回答者:   做而论道 - 八级   2009-10-24 08:05

提问者对于答案的评价:谢谢

原题网址:http://zhidao.baidu.com/question/122669926.html

;==============================================================

其三:编程序。在内部RAM的21H单元,开始存在有一组单字节不带符号数,数据长度为30H,要求找出最大数存R1单元。

悬赏分:5 - 解决时间:2009-10-30 15:35

;-------------------------------------------------

程序如下:

    MOV R0, #21H       ;起始地址

    MOV R1, #00H      ;先用0当做最大值

    MOV R2, #30H       ;数据长度

LOOP:

    MOV A,   @R0       ;取来一个数据

    CLR C

    SUBB A,   R1         ;减“最大值”

    JNC rel1            ;不够减就算了

    MOV A,   @R0        ;够减,就把这个数据

    MOV R1, A           ;当做最大值

rel1:

   INC R0              ;转向下一个

    DJNZ R2, LOOP        ;循环

    SJMP $               ;结束

END

;-------------------------------------------------

回答者: 做而论道 - 八级   2009-10-20 07:41

原题网址:http://zhidao.baidu.com/question/122133106.html

;==============================================================

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值