.386 .MODEL FLAT
ExitProcess PROTO NEAR32 stdcall, dxExitCode:DWORD
INCLUDE io.h
cr EQU 0dh Lf EQU 0ah
.STACK 4096
.DATA ;;;;;;;;;;전역변수 number1 DWORD ? ;dword는 4바이트 number2 DWORD ? prompt1 BYTE "Enter first number : ", 0 ;BYTE는 1바이트 prompt2 BYTE "Enter second number : ", 0 ; string BYTE 40 DUP (?) ; 변수 string 40개를 ()안의 내용을 복사. 여기서는 키보드로 ; 입력받기 위해 ()안에 '?'를 사용함. label1 BYTE cr, Lf, "The Sum is " ; sum BYTE 11 DUP (?) ;DUP는 왼쪽에 11개만큼 ()안의 있는 것을 복사. 즉, 코드를 복사한다. BYTE cr, Lf, 0 ; .CODE _smart: output prompt1;화면에 prompt1에 대한 내용을 화면에 출력. input string, 40 ;옆에 키보드로 입력받는다. 40개까지 가능. atod string ;아스키코드를 숫자로 바꾸는 함수. 위에 입력한 아스키코드를 숫자로전환. mov number1, eax ;number1에 eax를 대입. output prompt2 ;화면에 prompt2에 내용을 출력. input string, 40 ;키보드로 입력받는다. 40개까지 가능. atod string ; mov number2, eax ;number1에 eax를 대입. mov eax, number1 ;eax=number1 add eax, number2 ;eax=eax+number2 dtoa sum, eax ;출력하기 전에 정수를 아스키코드로 변환한다. output label1 ; INVOKE ExitProcess, 0 PUBLIC _smart
|