.MODEL SMALL
.486
DATA SEGMENT
TBUFF DT ?
DA DD ?
DATA1 DD ?
DATA2 DD ?
DATA3 DD ?
RESULT DD ?
AVE DD ?
DATA_1 DB 0DH, 0AH, 'DATA1 : $'
DATA_2 DB 0DH, 0AH, 'DATA2 : $'
DATA_3 DB 0DH, 0AH, 'DATA3 : $'
INTRO DB 0DH, 0AH, 'ENTER DATA1 : $'
INTRO2 DB 0DH, 0AH, 'ENTER DATA2 : $'
INTRO4 DB 0DH, 0AH, 'ENTER DATA3 : $'
INTRO3 DB 0DH, 0AH, '입력 데이터의 합 : $'
INTAVE DB 0DH, 0AH, '입력 데이터의 평균 : $'
DATA ENDS
CODE SEGMENT
INCLUDE SGIO1.ASM
ASSUME CS:CODE, DS:DATA
START:
MOV AX, DATA
MOV DS, AX
LEA DX, INTRO
MOV AH, 9H
INT 21H
CALL DEC32IN
MOV DATA1, EDX
MOV DX, OFFSET INTRO2
MOV AH, 9H
INT 21H
CALL DEC32IN
MOV DATA2, EDX
MOV DX, OFFSET INTRO4
MOV AH, 9H
INT 21H
CALL DEC32IN
MOV DATA3, EDX
MOV DX, OFFSET DATA_1
MOV AH, 9H
INT 21H
MOV EDX, DATA1
CALL DEC32OUT
MOV DX, OFFSET DATA_2
MOV AH, 9H
INT 21H
MOV EDX, DATA2
CALL DEC32OUT
MOV DX, OFFSET DATA_3
MOV AH, 9H
INT 21H
MOV EDX, DATA3
CALL DEC32OUT
MOV EAX, DATA1
ADD EAX, DATA2
ADD EAX, DATA3
MOV RESULT, EAX
MOV DX, OFFSET INTRO3
MOV AH, 9H
INT 21H
MOV EDX, RESULT
CALL DEC32OUT
MOV BX, OFFSET RESULT
MOV EAX, DWORD PTR[BX]
CDQ
MOV ECX, 3
IDIV ECX
MOV AVE, EAX
MOV DX, OFFSET INTAVE
MOV AH, 9
INT 21H
MOV EDX, AVE
CALL DEC32OUT
MOV AH, 4CH
INT 21H
; .EXIT
CODE ENDS
END START
|