DIY编程器网

标题: 求单字节十六进制有符号数据块的极值 [打印本页]

作者: liyf    时间: 2011-4-30 09:45
标题: 求单字节十六进制有符号数据块的极值
求单字节十六进制有符号数据块的极值
入口条件:数据块的首址在DPTR中,数据个数在R7中。
出口信息:最大值在R6中, 地址在R2R3中;最小值在R7中,地址在R4R5中。
影响资源:PSW、A、B、R1~R7 堆栈需求: 4字节
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
MMS2: 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
作者: zdl    时间: 2012-4-30 21:10
请教楼主
SETB C
SUBB A,R6
与最大值比较为什么要置位CY,与最下值比较为什么清零CY




欢迎光临 DIY编程器网 (http://diybcq.com/) Powered by Discuz! X3.2