Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Funkcija kompariranja (cmp)

[es] :: Asembler :: Funkcija kompariranja (cmp)

[ Pregleda: 3214 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

nemanja065

Član broj: 80074
Poruke: 50
*.paleol.net.



+1 Profil

icon Funkcija kompariranja (cmp)27.09.2009. u 21:28 - pre 177 meseci
zadatak:Nakon izvrsenja sledece sekvence instrukcija koje ce vrijednosti biti upisane u registrima AL i BL. U pitanju je asemblerski jezik procesora 80X86

Code:
.data
      val1  DB 68h
      val2 DB 3Fh
.code
 
mov AL,val1
mov BL,val2
and AL,0B6h
cmp AL,BL


do funkcije cmp dobijem da je AL=100000 BL=111111 ali ne znam kako radi ova funkcija poredjenja cmp tj. koji je rezultat....Pz
 
Odgovor na temu

marko1981
Marko Nikolic
Beograd

Član broj: 123059
Poruke: 144
*.ptt.rs.



Profil

icon Re: Funkcija kompariranja (cmp)27.09.2009. u 21:50 - pre 177 meseci
Instrukcija "cmp" bi trebalo da ne menja vrednosti nijednog operanda, već samo da postavi vrednost u statusni registar (tako što oduzme vrednosti jednu od druge, isto što radi i "sub" instrukcija).

Nju obično sledi neka od instrukcija uslovnog skoka (npr. "jeq", "je", "jl"...) koja "gleda" vrednost u statusnom registru, a koja je rezultat prethodne aritmetičke operacije.
 
Odgovor na temu

nemanja065

Član broj: 80074
Poruke: 50
*.paleol.net.



+1 Profil

icon Re: Funkcija kompariranja (cmp)27.09.2009. u 21:56 - pre 177 meseci
pa i nisam te bas najbolje shvatio, nemoras mi to bas tako strucno objasnjavati...pa dobro koliko bi onda iznosili vrednosti AL i BL na kraju...ili sam mozda zaboravio neki deo zadatka...pogledat cu


evo nasao sa izgleda da je ovako:
Code:

 .data

      val1 DB 68h

      val2 DB 3Fh

      .code

      mov AL,val1

      mov BL,val2

      and  AX,0B6h

      cmp AL,BL

      ja label1

      mov AL,val2

      mov BL,val1‚

      jmp exit

label1:

      mov  BL,AL

exit: 


znam rezultat al ne znam doci do njega AL=BL=01h
 
Odgovor na temu

J4k1
Zrenjanin

Član broj: 64156
Poruke: 23
79.101.193.*

Sajt: www.zrteam.net


Profil

icon Re: Funkcija kompariranja (cmp)28.09.2009. u 03:50 - pre 177 meseci
Sta ti nije jasno? Idi korak po korak. Lepo ti je objasnio cemu sluzi cmp, ako se ne potrudis da skontas svakaku instrukciju posebno cemu se koristi neces ni nauciti.
 
Odgovor na temu

nemanja065

Član broj: 80074
Poruke: 50
*.paleol.net.



+1 Profil

icon Re: Funkcija kompariranja (cmp)28.09.2009. u 16:30 - pre 177 meseci
Code:
.data

      val1 DB 68h

      val2 DB 3Fh

      .code

      mov AL,val1   AL=1101100

      mov BL,val2    BL=0111111

      and  AX,0B6h kad se primjeni I operacija dobije se 100000

      *cmp AL,BL

      ja label1   

      mov AL,val2  AL=val2=3Fh

      mov BL,val1‚  BL=val1=68h

      jmp exit*

label1:

      mov  BL,AL

exit: 


eto korak po korak al mi nije jasan dio izmedju * i da nije grore greska pa umesto AX treba AL
 
Odgovor na temu

EArthquake

Član broj: 20684
Poruke: 884
*.adsl.eunet.rs.



+67 Profil

icon Re: Funkcija kompariranja (cmp)02.10.2009. u 07:03 - pre 177 meseci
znas li sta je statusni registar , ili EFLAGS na x86 procesorima ?

pojedine instrukcije menjaju njegov sadrzaj da bi oznacile odredjene stvari koje su se desile
izmedju ostalog ima i ZERO bit , oznacava da je rezultat prethodne instrukcije bio jednak nuli

kad ti uradis cmp , registri koji idu uz cmp se oduzmu , ako je rezultat 0 , ZERO bit biva setovan

a to proverava instrukcija uslovnog skoka
recimo , uslovni skok jz (jump if zero)ili je (jump if equal) bi se izvrsio kada bi operandi bili jednaki

ja instrukcija znaci jump if above , znaci skok ako je prvi veci od drugog

uzmi neku listu instrukcija pa citaj sta i kako koja radi
nema drugog nacina da razumes
 
Odgovor na temu

[es] :: Asembler :: Funkcija kompariranja (cmp)

[ Pregleda: 3214 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.