程序如下:
MOV R0, #21H ;起始地址.
MOV MAX,#00H ;先用0当做最大值.
MOV R2, #20H ;数据长度.
LOOP:
MOV A, @R0 ;取来一个数据.
CLR C
SUBB A, MAX ;减“最大值”.
JNC rel1 ;不够减就算了.
MOV A, @R0 ;够减,就把这个数据.
MOV MAX,A ;当做最大值.
rel1:
INC R0 ;转向下一个.
DJNZ R2, LOOP ;循环.
SJMP $ ;结束.
END
请参考
;
MOV MAX, #0 ;先用0充当最大值.
MOV R0, #21H
MOV R2, #20H
LOOP:
MOV A, @R0 ;取来一个数.
CLR C
SUBB A, MAX ;减去“最大值”.
JC NEXT ;有借位(即小于)转移.
MOV MAX, @R0 ;大于则保存到最大值位置.
NEXT:
INC R0
DJNZ R2, LOOP
SJMP $
END