私は GreatCommonDivisor を書き、 have declare ret down を使用しますがrepeat....until
、それでも に入り、repeat ..... until
ゼロ除算エラーが発生することがわかりました。
ret
呼び出し元の次の行のアドレスをポップすると思いますが、なぜにジャンプするのrepeat...until
ですか?
ps:eax is dividend and ebx is divisor.
事前にThx。
INCLUDE Irvine32.inc
.data
.code
main PROC
mov eax, 75
mov ebx, 18
call gcd
main ENDP
gcd PROC
or eax,eax;set SF
.IF Sign?
Neg eax
.Else
.EndIf
or ebx,ebx;set SF
.IF Sign?
Neg ebx
.Else
.EndIf
.Repeat
mov edx, 0
div ebx
mov eax, ebx
mov ebx, edx
.Until ebx <= 0
call WriteInt
ret
gcd ENDP
END main