这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 单片机汇编语言题目

共2条 1/1 1 跳转至

单片机汇编语言题目

菜鸟
2016-10-31 18:11:06     打赏

【例3-15】从片外RAM的30H单元处开始有100个数据,统计当中正数、0和负数的个数,分别放于R5、R6、R7中。

设用R2作计数器,用DJNZ指令对R2减1转移进行循环控制,在循环体外设置R0指针,指向片外RAM 30H单元,对R5、R6、R7清零,在循环体中用指针R0依次取出片外RAM中的100个数据,然后判断,如大于0,则R5中的内容加1;如等于0,则R6中的内容加1;如小于0,则R7中的内容加1。

程序:

            MOV  R2,#100

            MOV  R0,#30H

            MOV  R5,#0

            MOV  R6,#0

            MOV  R7,#0

LOOP:   MOVX  A,@R0

            CJNE  A,#0,NEXT1

            INC   R6

            SJMP   NEXT3

NEXT1:  CLR   C

            SUBB  A,#80H

            JC    NEXT2

            INC   R7

            SJMP   NEXT3

NEXT2:  INC   R5

NEXT3:  INC   R0

            DJNZ  R2,LOOP

            SJMP   $

请高手帮忙看看做记号的地方什么意思,为什么要这样写?初学菜鸟看不明白。




关键词: 单片机     汇编语言    

高工
2016-10-31 20:27:29     打赏
2楼
看看

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]