172

172



Jeśli zależy nam na osiągnięciu maksymalnej kontroli nad programem i dokonaniu bardzo ścisłej optymalizacji często wywoływanych fragmentów kodu, to możemy dołączyć do programu instrukcje w języku maszynowym. W tym rozdziale podano kilka wskazówek na ten temat.

Uzyskiwanie dostępu do zmiennych C++ z poziomu języka maszynowego

unikanie nieoczekiwanych wyników

Kod źródłowy

#pragma warning( disable : 4035 )

int WyrReg::IChWSz(unsigned char chZród, const char *pch, int cch)

{

_asm

<    ]

xor eax, eax    1

mov al, chZród

mov edi, pch

mov ecx, cch

cld

repnz scasb jz Znaleziono xor eax, eax jmp Koniec Znaleziono: mov eax, cch sub eax, ecx Koniec: dec eax }

}

#pragma warningj default: 4035 )

Dostęp do zmiennych języka C++ można uzyskiwać w języku maszynowym bezpośrednio, tak jak pokazano na przykładzie parametru chZród w kodzie źródłowym. Taki sposób ułatwia łączenie języka maszynowego z kodem C++. Musimy się jednak upewnić, że nazwy zmiennych nie są takie same, jak zarezerwowane wyrażenia języka maszynowego. Złym pomysłem byłoby na przykład utworzenie zmiennej języka C++ o ńazwie eax. Asembler potraktowałby jej użycie jako odwołanie do rejestru EAX,


Wyszukiwarka

Podobne podstrony:
Sa leży to wyjąć pod nwagę. komponując naszą wymarzoną aranżację. A jeśli zależy nam na idealny
Jest to zjawisko pożyteczne, jeśli zależy nam np. na stłumieniu drgań lub hałasu; można w tym celu
IMAG0278 Zalety Pełnu kontrola nad procesem sprzedaży. Bardzo dobry kontakt z ostatecznym klientom.
Jakich produktów unikać?: Produktów sycących a zawierających mało białka. Jeżeli zależy nam na
17257 wieniecrzymski2 • stosunek 1 :1 szerokość podkładu wieńca równa się średnicy jego otworu; stos
wieniecrzymski2 • stosunek 1 :1 szerokość podkładu wieńca równa się średnicy jego otworu; stosujemy,
POZ0007 bmp jednym z podstawowych założeń skutecznej ochrony zdrowia dzieci i młodzieży Zależy nam n
Na ogół długość przedziału ufności maleje wraz ze wzrostem wielkości próby. W przypadku, gdy zależy
Rozpoznawanie przedziału drugiej strony W negocjacjach pozycyjnych zazwyczaj zaleZy nam na zawarciu
Si(/3) do obustronnego testu l na występowania nad- lub podrozproszenia. W przypadku, gdy zależy nam
img18 Listy Listy można tworzyć w CSS za pomocą style Pozwala to na lepszą kontrolę nad typami 
skanuj0010 08 II. Parametryczne lesiv istotności . m2 są (akie same, i zależy nam oczywiście na odrz
Kennan1 344 (JKORCli r. KKNNAN możliwość sowieckiej kontroli nad Europą Zachodnią - nawet jeśli (w
Nianiu na pomoc NIANIUpomoc!Deborah Carroll i Stella Reid ORAZ K.AREN moline Odzyskaj kontrolę nad
E0 Cecha Liczba firm Rodzaj produktu Kontrola nad ceną Producenci (tzw. cenobiorcy) nie mają wpływu
5. Czy powyższa definicja zawiera błąd, jeśli tak to na czym on polega? (od 0 do 1,5) 6. Pieniądze,

więcej podobnych podstron