6.2.4单字节最值查找实例
1单字节十六进制无符号数据块的极值实例
MM:
MOV B,R7
MOVX A,@DPTR
MOV R6,A
MOV R7,A
MOV A,DPL
MOV R3,A
MOV R5,A
MOV A,DPH
MOV R2,A
MOV R4,A
MOV A,B
DEC A
JZ MME
MOV R1,A
PUSH DPL
PUSH DPH
MM1:
INC DPTR
MOVX A,@DPTR
MOV B,A
SETB C
SUBB A,R6
JC MM2
MOV R6,B
MOV R2,DPH
SJMP MM3
MM2:
MOV A,B
CLR C
SUBB A,R7
JNC MM3
MOV R7,B
MOV R4,DPH
MOV R5,DPL
MM3:
DJNZ R1,MM1
POP DPH
POP DPL
MME:
RET
2单字节十六进制有符号数据块的极值实例
MMS:
MOV B,R7
MOVX A,@DPTR
MOV R6,A
MOV R7,A
MOV A,DPL
MOV R3,A
MOV R5,A
MOV A,DPH
MOV R2,A
MOV R4,A
MOV A,B
DEC A
JZ MMSE
MOV R1,A
PUSH DPL
PUSH DPH
MMS1:
INC DPTR
MOVX A,@DPTR
MOV B,A
SETB C
SUBB A,R6
JZ MMS4
JNB OV,MMS2
CPL ACC.7
JB ACC.7,MMS4
MOV R6,B
MOV R2,DPH
MOV R3,DPL
SJMP MMS7
MMS4:
MOV A,B
CLR C
SUBB A,R7
JNB OV,MMS6
CPL ACC.7
MMS6:
JNB ACC.7,MMS7
MOV R7,B
MOV R4,DPH
MOV R5,DPL
MMS7:
DJNZ R1,MMS1
POP DPH
POP DPL
MMSE:
RET