Mam taka funkcje w delphi ktora dodaje mi dwie zmienne:
function TForm1.dodaj(a,b:word):word;stdcall;
asm
{funkcja dodaje do siebie dwie liczby
najpierw trzeba zapisac na stos wartosci rejestrow
ktore bedziemy uzywac}
push ax {odklada na stos wartosc z ax - jako pierwsza}
push bx {odklada na stos wartosc z bx - jako druga}
mov ax, a {przypisujemy jednemu rejestrowi wartosc liczby 1}
mov bx, b {przypisujemy drugiemu rejestrowi wartosci liczby 2}
add ax, bx {dodajemy przy pomocy mnemonika "add" - cel zawsze ax}
mov @result, ax {przypisujemy adresowi funkcji wartosc z ax}
pop bx {pobieramy ze stosu wartosc rejestru bx - jako pierwszy bo ostatni zostal odlozony}
pop ax {pobieramy ze stosu wartosc rejestru ax - jako drugi bo pierwszy zostal odlozony (przed bx)}
end;
BEGIN
a:=111;
b:=1111;
dodaj(a,b);
END.
Moje pytanie to jak zrobic zeby zmienne a i b byly traktowane jako liczby binarne ? I zeby wynik tego dodawania przypisany do funkcji tez byl w systemie dwojkowym?
Na assemblerze sie nie znam wiec prosze was o pomoc!!!! Wiem ze ideą tego forum nie jest pisanie gotowych programów ale ja zupelnie nie wiem jak to zrobic a zalezy mi na szybkim dodawaniu liczb binarnych.
Znalazlem jak mozna uzywac binarnych zamiast dziesietnych ale nie wiem jak to przerobic :( http://www.koder.org.pl/forum/lofiversion/index.php/t299.html
PROSZE POMOZCIE!!!!