主题:一道阅读程序题!求解~~~!~!~!
1.以下程序段中宏定义的功能为:求以A为首址B个字节数中的最大值(AL)
MAX MACRO A, B
LOCAL M1,M2
LEA SI, A
MOV CX, B
MOV AL,[SI]
M1: INC SI
CMP AL,[SI]
JGE M2
MOV AL,[SI]
M2: LOOP M1
ENDM•
┇
ARR1 DB 30H,43,-50,-23,•••
C1 =$-ARR1
STR DB 'POTI•••CAR'
C2 =$-STR
┇
MAX ARR1, C1
MOV BL, AL
MAX STR, C2
┇
请将宏定义改写成子程序,并用子程序调用语句完成相应的功能。
MAIN PROC FAR
… ……
CALL MAX
… …
RET
MAIN ENDP
MAX PROC NEAR
LEA SI, A
MOV CX, B
MOV AL,[SI]
M1: INC SI
CMP AL,[SI]
JGE M2
MOV AL,[SI]
M2: LOOP M1
RET
MAX ENDP
MAX MACRO A, B
LOCAL M1,M2
LEA SI, A
MOV CX, B
MOV AL,[SI]
M1: INC SI
CMP AL,[SI]
JGE M2
MOV AL,[SI]
M2: LOOP M1
ENDM•
┇
ARR1 DB 30H,43,-50,-23,•••
C1 =$-ARR1
STR DB 'POTI•••CAR'
C2 =$-STR
┇
MAX ARR1, C1
MOV BL, AL
MAX STR, C2
┇
请将宏定义改写成子程序,并用子程序调用语句完成相应的功能。
MAIN PROC FAR
… ……
CALL MAX
… …
RET
MAIN ENDP
MAX PROC NEAR
LEA SI, A
MOV CX, B
MOV AL,[SI]
M1: INC SI
CMP AL,[SI]
JGE M2
MOV AL,[SI]
M2: LOOP M1
RET
MAX ENDP