编写一个程序,找出片内RAM50H开始的10个单元字母‘C’的个数并存放在40H单元中
分析: 令每个单元与C相减,等于0就+1
代码实现:
MOV R2,#0AH
MOV R1,#00H
MOV R0,#50H
START:MOV A,@R0
DJNZ R2,GOON
LJMP FIN
GOON:CLR C
SUBB A,#'C';字符C在单元中存储的值等于#'C'
JZ NEXT1 ;等于0则跳转
INC R0
LJMP START
NEXT1:INC R1;C的个数
INC R0
LJMP START
FIN:MOV 40H,R1
或
MOV R2,#4FH
MOV R0,#00H
NEXT:INC R2
CJNE R2,#5AH,NEXT1;R2不等于5AH则转移,
SJMP FIN
NEXT1:MOV A,@R2;50H开始
CJNE A,#'C',NEXT;不等于C则转移,否则R0+1
INC R0
SJMP NEXT
FIN:MOV 40H,R0
RET
总结:
①在代码中,C的值等于#'C'
②CJNE,compare and jump if not equal,不等于则跳转