【例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 $
请高手帮忙看看做记号的地方什么意思,为什么要这样写?初学菜鸟看不明白。