Blog literacki, portal erotyczny - seks i humor nie z tej ziemi
ÛÛßßßßßßßßÛ²ÛßßßßÛÛßßßßßÛ²ÛÛßßßßßßÛÛ²ÛÛßßßßßßßßßÛÛ
Û ÛÛÛÛÛ² ²±² ÛÛ Û Û² ²±² ÛÛÛ² ²±² ÜÜÛÛÛÜÜ Û
² ÛÛÛÛÛÛ² ° ÛÛÛ ² ÛÛÛ² ° ÛÛÛÛÛ ° ÛÛ²ß ßÛÛ² ²
WWW.± ÛÛÛÛ ÛÛ² ÛÛÛÛ ± ÛÛÛÛ ÛÛ ÛÛÛÛ ÛÛ²° ÜÜÜÜÜ ±.PRV.PL
° ÛÛÛ ÛÛ²ÛÛÛÛß ° ÛÛÛ ÛÛ² ÛÛ² ÛÛÛ ÛÛ² ÛÛ² °
ÛÛÛ ÛÛÛÛÛ ÛÛ² ÛÛ²ÛÛßßßßÛÛÛ ÛÛÛÛÜÛÛ²
ÛÛ ÛÛÛÛ ÛÛßßßßÛ²ÛÛ ßÛÛÛ ßÛÛÛÛÛ
ÜÜÜÜÜÜÜÜÜÜ[NEW]ÜÜÜÜÜÜÜÜÜÜ[AGE]ÜÜÜ[ASM]ÜÜÜÜÜÜ[GROUP]ÜÜÜÜÜÜÜÜÜÜ
Û What? Tutorial #3 Û
Û Subject Porownania i jumpy: z czym to sie je ? Û
Û Author Klemik Û
Û Author's www http://www.klemik.prv.pl Û
Û Author's e-mail Klemik@box43.pl Û
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
Hmm... najchetniej to bym zjadl to ze swiezutka, pyszna pizza ze szynka,
serem, pieczarkami, serem, papryka, serem (itd.) prosto z pizzerii :>> ale
dosyc, bo sie robie glodny. To byl taki wstep, a teraz przejdzmy do rzeczy.
Zacznijmy moze od instrukcji porownawczych, ktorych bedziesz uzywal.
CMP (compare)
przyklad:
cmp eax, ecx
Instrukcja porownuje oba parametry, i jesli rowne ustawia flage zerowa (Z).
Sa rozne klony tej instrukcji, a wedlug mnie najwazniejsza z nich to:
CMPS (compare string)
przyklad:
cmps esi, edi
Instrukcja porownuje oba parametry (slowa), i jesli rowne ustawia flage Z.
Teraz inna instrukcja porownawcza, nad ktora sie troche rozpisze :>
Z poczatku chcialem stworzyc tutora tylko na temat tej instrukcji, ale
po doglebnym przemysleniu sprawy postanowilem dodac jeszcze inne
instrukcje porownawcze oraz skoki (all in 1 :>)
TEST (test)
przyklad:
TEST eax, eax
Instrukcja porownuje patametry i ustawia flage Z.
Nad ta instrukcja trzeba sie troche zastanowic, ale najpierw spojrzmy na
prosty przykladzik:
xor eax, eax <== zerowanie eax - to samo co sub eax, eax lub mov eax, 0
mov ecx, 4h <== ecx == 4h
test eax, ecx
Myslisz pewnie, ze flaga Z nie zostanie ustawiona, gdyz eax i ecx nie
sa rowne. Nie masz racji !. A teraz kolejny przykladzik (gdyz wedlug mnie
najlepiej sie uczy na przykladach):
xor eax, eax
test eax, eax
i kolejny...
xor eax, eax
xor ecx, ecx
test eax, ecx
I po ktorym z tych dwoch wyzej przedstawionych przykladow zostanie ustawiona
flaga Z ???
Po obu !!! Myslisz, ze pierwszy przyklad jest bez sensu, gdyz flaga Z zawsze
zostanie ustawiona. No to spojrz na kolejny przyklad:
mov eax, 4h
test eax, eax
I czy teraz zostanie ustawiona flaga Z ??? Qmasz o co chodzi ??? Jesli tak,
to mozesz nie czytac ponizszego akapitu :>
Wiec teraz wyjasniam (dokladnie) co powoduje ta instrukcja. Wiec, jak juz
wiesz, ta instrukjca ustawia flage Z, ale wtedy i tylko wtedy (<=>), gdy
oba paramety w wyniku operacji AND sa rowne 0.
Dlaczego tak jest ??? Poniewaz instrukcja TEST wykonuje AND na poszczegolnych
bitach parametrow. Na pewno kiedys na matematyce miales cos takiego, ze
+ i + to +; - i + to -; + i - to -; - i - to +.
Tutaj jest tak samo, tylko zamiast + i - jest 1 i 0. A teraz przeanalizuj
ponizsza tabelke:
|-----------|
| a | b | = |
|---|---|---|
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 1 | 1 |
|-----------|
Tak... wiec jesli w eax jest 00000001 (kod binarny) a w ecx 00000000 to
w wyniku operacji TEST (AND) flaga zostanie ustawiona.
To chyba na tyle na temat tej operacji, a teraz przejdzmy do jumpow,
czyli skokow warunkowych i bezwarunkowego (jest tylko 1).
JE lub JZ
przyklad:
cmp eax, 4Bh
jz etykieta
Skacze, gdy eax jest rowne 4B.
JNE lub JNZ
prdzyklad:
cmp eax, 4Bh
JNE etykieta
Skacze, gdy eax nie jest rowne 4B.
JA lub JG
przyklad:
cmp eax, 4Bh
JA etykieta
Skacze, gdy eax jest wieksze od 4B.
JAE lub JAG
przyklad: ten sam [dalej bedzie bez przykladu]
Skacze, gdy eax jest wieksze lub rowne 4B.
JB lub JL
Skacze, gdy eax mniejsze od 4B.
JBE, JLE
Skacze, gdy eax mniejsze lub rowne 4B.
To chyba te najwazniejsze i czesto spotykane, np. w Hiew (taki disassembler
pod DOS'a).
To na tyle. Do nastepnego tutora, ktory chyba bedzie o konwersacji
dec/bin/hex.
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
Û [MEMBERS][OF][NEW][AGE][ASM][GROUP] Û
ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
Û[PRESIDENTS & FOUNDERS]ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
Û Û
Û[HaRv3sTeR.....{ HaRv3sTeR@poczta.wp.pl }pres1dent/f0under/c0der/wr1ter/web]Û
Û[Klemik........{ Klemik@box43.pl }....v1cepres1dent/c0der/wr1ter/web]Û
Û Û
ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
Û[SENIORS]ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
Û Û
Û[SEM...........{ sem@tenet.pl }......................wr1ter/c0der]Û
Û[pkmiecik......{ pkmiecik@go2.pl }......................wr1ter/c0der]Û
Û[Overlord......{ olszewski_zeisk@wp.pl }.......................wr1ter/c0derÛ
Û[Zedd..........{ asmdw@interia.pl }.............................c0der]Û
Û[t0udi.........{ t0udi@box43.gnet.pl }.............................c0der]Û
Û[Majuma........{ mfelix@polbox.com }.............................c0der]Û
Û Û
ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
Û[TRIAL MEMBERS]ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
Û Û
Û[OOLV..........{ world_domination@wp.pl }..................gfx/wr1ter/c0der]Û
Û[this is place for ya ...................want to join ? e-mail to president]Û
Û Û
ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
Û[RETIRED]ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
Û Û
Û[Stryket.......{ stryket@obywatel.pl }......................wr1ter/coder]Û
Û Û
ÛÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÛ
Û Û WWW PAGE Û Û
ÛÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜßßßßßßßßßßßßßßßßÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÛ
ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[HTTP://www.NAAG.prv.pl]ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
ÛßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßÛ
Û LOGO & NFO DESIGN BY KLEMIK LAST UPDATE ON 06.03.2002Û
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß