cmp echipa

Ce este cmp

Cum de a învăța limba engleză

In zilele noastre, cineva trebuie să știe limba engleză. Și în plus programator. Deoarece o mare parte a documentației există numai în limba engleză. Un profesionist nu poate aștepta până când cineva tradus documentația lui. El ar trebui să fie în măsură să obțină rapid inforamtsiyu dorită și utilizați-l, indiferent în ce limbă ea - în limba engleză sau în limba rusă. Link-uri către cursuri în limba engleză.







Comanda CMP i80x86 familia de procesoare este folosit pentru a compara doi operanzi. Pur și simplu pune, această comandă compară două numere, care este, controalele sunt cele două numere sunt egale sau nu.

Sintaxa CMP:

CMP număr_1, număr_2

Number1 poate fi una dintre următoarele:

  • Zona de memorie (MEM)
  • registru de uz general (REG)

Number2 poate fi una dintre următoarele:

  • Zona de memorie (MEM)
  • registru de uz general (REG)
  • Valoarea imediată (de exemplu, număr) (IMM)






Astfel, combinațiile număr_1-număr_2 pot fi următoarele:

Comparați numerele din Assembler

Compararea numerelor din ansamblul folosind instrucțiunea CMP este executată de către următorul algoritm:

  1. CHISLA1 scăzute din număr_2 (număr1 - număr_2)
  2. Dacă rezultatul este zero, atunci număr_1 = număr_2
  3. Dacă numerele sunt egale, adică rezultatul este 0, acesta stabilește un steag ZF

Flag-urile sunt, de asemenea, stabilite sau resetare în funcție de rezultat.

Dar noi am fost cel mai interesat de pavilion ZF.

Deci, pentru a compara cele două numere în limbaj de asamblare trebuie să facem următoarele:

  1. Execută CPM-ul de comandă
  2. Citește pavilion ZF
  3. Dacă ZF = 1, atunci numerele sunt egale
  4. Dacă ZF = 0, numărul nu este

Ei bine, apoi, în funcție de rezultat, putem finaliza tranziția la o anumită etichetă în program. Articolul privind utilizarea JMP instrucțiuni, am vorbit despre etichetele și tranziția necondiționată.

complot EXEMPLUL compararea numerelor de program Assembler este prezentat mai jos:

Aici, am loc primele registre AH și AL numărul doi identice (5), și apoi executați CMP comandă - compara valoarea din registrele AH și AL.

Deoarece aceste valori sunt egale, atunci după executarea comenzii CMP pavilion ZF este setat, adică egal cu 1.

Comparăm apoi conținutul AL înregistreze numărul 6. Ca AL înregistrați-am lăsat numărul 5, după comanda CMP pavilion ZF este eliminat (adică egal cu 0), ca valori comparate nu sunt egale.

La sfârșitul obicei spun de ce această echipă de asamblare numit CMP. Este o abreviere pentru cuvântul englezesc C OMP SUNT, care poate fi tradus ca „compara“.