Asm

asm - słowo kluczowe umożliwiające wstawienie do kodu C/C++ wstawki kodu assemblerowego.

W zależności od kompilatora słowo kluczowe asm występuje w różnych formach, np. dla Microsoft Visual C++ używa się __asm.

Przykład


(Visual C++)
DWORD Funkcja(DWORD dwWartosc)
{
   __asm
   {
      mov eax, dwWartosc
      add eax, 100
      mov dwWartosc, eax
   }

   return dwWartosc;
}


W przypadku problemów z użyciem wstawek assemblerowych, pomocy szukaj w dokumentacji Twojego kompilatora.
Informacje
Ostatnia modyfikacja 28-04-2006 14:19 Ostatni autor Coldpeer
Ilość wyświetleń 2489 Wersja 3
Komentarz
cyriel dnia 20-02-2008 16:35
s0d:Nie przypisałeś do dwWartosc żadnej wartości, więc były tam jakiś mieci do których dodałeś 100(raczej dziesiętnie, chociaż nie jestem pewien) a potem je wyświetliłeś.
s0d dnia 20-05-2007 16:14
hmmm. po implementacji tego kawalka kodu w tym przykladzie:

#include <IOStream>
#include <StdLib.h>
 
using namespace std;
 
int main(void)
{
   DWORD Funkcja(DWORD dwWartosc)
{
   __asm
   {
      mov eax, dwWartosc
      add eax, 100
      mov dwWartosc, eax
   }

   return dwWartosc;
}
   system("PAUSE");
   return 0;
}

Otrzymuje:

-858993450
czekam na wcisniecie klawisza
Aby kontynuować, naciśnij dowolny klawisz . . .

Czego to jest wina? w tym miejscu 100 jest w hex czy dziesietnie? ale to i tak nie ma wplywu na taki wynik!
Kompiluje to za pomoca VS 2k5

Katalog
Copyright © 2000-2006 by Coyote Group 0.9.3-pre3
Czas generowania strony: 0.0230 sek. (zapytań SQL: 12)