; Върни в RDI най-големия общ делител на числата в RDI и RSI ; (алгоритъм - Евклид от Александрия, реализация: Paul Hsieh). ;unsigned long long gcd(unsigned long long a, unsigned long long b) ;{ ; if (a == 0 && b == 0) return 1; ; if (b == 0) return a; ; if (a != 0) ; while (a != b) ; if (a < b) b -= a; ; else a -= b; ; return b; ;} GCD proc NEG RDI .if (!equal?) .repeat NEG RDI XCHG RDI,RSI .repeat SUB RDI,RSI .until (!above?) .until (!below?) .endif ADD RDI,RSI .if (equal?) INC RDI .endif RET GCD endp