eGospodarka.pl
eGospodarka.pl poleca

  • Data: 2010-12-31 14:43:08
    Temat: Re: Czy da się stwierdzić błąd
    Od: Tomasz Sowa <t...@t...NOSPAM.org> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Dnia Fri, 31 Dec 2010 15:09:31 +0100, Wojciech "Spook" Sura napisał(a):

    > Przy czym są prostsze sposoby :)

    No można bez instrukcji skoku :)

    int __stdcall safeAdd(int i, int j)
    {
    int result;
    int _valid;


    #ifndef __GNUC__

    __asm
    {
    mov EAX, i
    mov EBX, j
    add EAX, EBX

    mov ebx, 0
    seto bl

    mov _valid, ebx
    mov result, EAX
    }

    #else

    __asm__ __volatile__(
    "add %%ebx, %%eax \n"
    "mov $0, %%ebx \n"
    "seto %%bl \n"

    : "=a" (result), "=b" (_valid)
    : "0" (i), "1" (j)
    : "cc" );

    #endif



    if ( _valid == 0 )
    printf("Added, result = %d\n", result);
    else
    printf("Overflow occured!\n");

    return result;
    }


    --
    Tomek
    http://www.ttmath.org

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: