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
本文介绍了一个使用汇编语言实现的最大公约数(GCD)计算程序。该程序通过读取用户输入的两个整数,并利用辗转相除法计算这两个整数的最大公约数。文章包含了完整的汇编代码示例。
528

被折叠的 条评论
为什么被折叠?



