어셈블리어 질문
아래 코딩에
사용자 선택에 따라 반복 연산 또는 프로그램 종료가 가능한 기능을 추가
하라는데 어떻게 해야하나요..?
TITLE Integer Summation Program (Sum2.asm)
INCLUDE Irvine32.inc
INTEGER_COUNT = 3
.data
str1 BYTE "Enter a signed integer: ",0
str2 BYTE "The sum of the integers is ",0
array DWORD INTEGER_COUNT DUP(?)
.code
main PROC
call Clrsor
mov esi,OFFSET array
mov ecx,INTEGER_COUNT
call PromptForIntegers
call ArraySum
call DisplaySum
exit
main ENDP
mov edx,OFFSET strl ; 정수를 입력
L1: call WriteString ; 문자열 표시
call ReadInt ; EAX에서 정수를 읽음
call Crlf ; 다음 출력 라인으로 이동
mov [esi],eax ; 배열에 저장
add esi,TYPE DWORD ; 다음 정수
loop L1
ret
PromptForIntegers ENDP
mov eax,0 ; 제로로 설정 합
L1: add eax,[esi] ; 합계 각 정수를 추가
add esi,TYPE DWORD ; 다음 정수로 포인트
loop L1 ; 배열 크기에 대한 반복
ret ; 합계는 EAX에
ArraySum ENDP
mov edx,OFFSET str2 ; "...의 합계"
call WriteString
call WriteInt ; 디스플레이 EAX
call Crlf
ret
DisplaySum ENDP
END main
댓글 달기