.MODEL SMALL DATA SEGMENT A DW 66H, 3478H, 56H, 79H, 30H, 79H, 79H, 60H B DW 26H, 58H, 1236H, 59H, 10H, 59H, 69H, 40H C DW 96H, 108H, 4356H, 479H, 330H, 679H, 379H, 660H n EQU ($ - C)/2 - 1 MAXA DW "AG" MAXB DW "OB" MAXC DW "EB" MAX DW "TT" DATA ENDS STACK_SEG SEGMENT STACK DW 100 DUP(0) TOP_STACK LABEL WORD STACK_SEG ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:STACK_SEG START: MOV AX,DATA MOV DS,AX MOV AX,STACK_SEG MOV SS,AX MOV SP, OFFSET TOP_STACK LEA SI, A MOV AX, [SI] MOV MAX, AX MOV CX, n MAX_A: ADD SI, 2 CALL TIM_MAX LOOP MAX_A MOV AX, MAX MOV MAXA, AX LEA SI, B MOV AX, [SI] MOV MAX, AX MOV CX, n MAX_B: ADD SI, 2; CALL TIM_MAX LOOP MAX_B MOV AX, MAX MOV MAXB, AX LEA SI, C MOV AX, [SI] MOV MAX, AX MOV CX, n MAX_C: ADD SI, 2 CALL TIM_MAX LOOP MAX_C MOV AX, MAX MOV MAXC, AX MOV AH,4CH INT 21H TIM_MAX PROC NEAR PUSHF MOV AX, [SI] CMP MAX, AX JAE NEXT MOV MAX, AX NEXT: POPF RET TIM_MAX ENDP CODE ENDS END START