TITLE (gcd1.asm)
; This program
; Last update:
Include Irvine32.inc
.data
str1 BYTE "Please Enty an Integer:",0
str2 BYTE "The Great Common Dicisor is:",0
var1 Dword ?
var2 Dword ?
.code
main PROC
call Clrscr
mov edx,OFFSET str1
Call WriteString
Call ReadInt
mov var1,eax
mov edx,OFFSET str1
Call WriteString
Call ReadInt
mov var2,eax
cmp var1,0
JGE l2
neg var1
l2:
cmp var2,0
JGE l3
neg var2 ;取var1和var2的绝对值
l3:
Call GCD
mov eax,var1
mov edx,OFFSET str2
Call WriteString
call WriteInt
exit
main ENDP
GCD PROC
mov edx,0
mov eax ,var1
div var2
mov ebx,var2
mov var1,ebx
mov var2,edx ;余数传给var2
.IF(var2>0)
call GCD
.ENDIF
ret
GCD ENDP
END main
http://seemybuddy.appspot.com/index.jsp?loginId=loverszhaokai