Rodomi pranešimai su žymėmis 12. X86 komandų sistemosbruožai. Rodyti visus pranešimus
Rodomi pranešimai su žymėmis 12. X86 komandų sistemosbruožai. Rodyti visus pranešimus

2013 m. sausio 10 d., ketvirtadienis

12.5. Temos apibendrinimas





1.      X86 šeimos procesorių komandų sistema formavosi programinio suderinamumo principu pradedant nuo I8086 procesoriaus. 
2.      Visos  MP 8080 komandos  vykdomos  ir MP8086,  tačiau visiško programinio suderinamumo "iš apačios į viršų" asemblerio lygyje nėra. Viena iš priežasčių – pasikeitė registrų pavadinimai.
3.       Komandos formatu vadinama žinių apie komandos dalių (laukų) ilgį, sudėtį, paskirtį ir tarpusavio padėtį visuma.
4.      Komandų formatai labai įvairūs: nuo vieno iki šešių baitų.
5.      Operacijos kodas teikiamas 1 komandos baite, o kartais ir centrinėse antrojo baito skiltyse; kraštinėse šio baito skiltyse    nurodomas adresavimo režimas. Šešių baitų komandos trečiame ir ketvirtame baituose paprastai teikiamas adreso poslinkis , o penktame ir šeštame - tiesioginis (betarpiškas) operandas .
6.      Vieno arba dviejų baitų komandose teikiamas operacijos kodas (OK), adresavimo režime nuoroda bei (dažniausiai) registrų adresai.
7.      Adresavimo režimai nurodomi antrojo baito dviejose vyriausiose ir 3 jauniausiose
skiltyse.
8.  Įvesti papildomi: bazinis, indeksinis, bazinis indeksinis, bazinis su poslinkiu, indeksinis su poslinkiu ir bazinis - indeksinis su poslinkiu Adresavimo režimai.
9.    Beveik visos šio mikroprocesoriais komandos leidžia manipuliuoti baitais ir žodžiais, saugomais registruose arba atmintyje. Mikroprocesoriaus duomenys priskiriami 16-os skilčių klasei.
10.  Vieno tipo  komandoms priskiriamos tos pačios mnemonikos.  Jų yra  111.  Bendras komandų su modifikacijomis kiekis - 11986.
11.  Pagrindinės komandų grupės yra šios: persiuntimo, aritmetinės, loginės, nukreipimo, valdymo.
12.  MP 8086 komandų sistema žymiai praplėsta, lyginant su MP8080.
13.  Įvestos tokios sudėtingos komandos kaip daugyba ir dalyba.
14.  Komandų sistema žymiai lankstesnė.
15.  Dėl Adresavimo režimų įvairovės labai išaugo komandų modifikacijų skaičius.
16.  Bet kuris iš bendrųjų registrų gali būti naudojamas kaip kaupiklis.


12.3. Komandų sistemos ypatumai



Beveik visos šio mikroprocesoriais komandos leidžia manipuliuoti baitais ir žodžiais, saugomais registruose arba atmintyje. Mikroprocesoriaus duomenys priskiriami 16-os skilčių klasei. Mikroprocesorius gali apdoroti:
Ø  dvejetainius skaičius be ženklo,
Ø  dvejetainius skaičius su ženklu,
Ø  dešimtainius    skaičius    (supakuoto    ir   išpakuoto formato),
Ø  simbolius,
Ø  simbolių eilutes.

Vieno tipo  komandoms priskiriamos tos pačios mnemonikos.  Jų yra  111.  Bendras komandų su modifikacijomis kiekis - 11986. Pagrindinės komandų grupės yra šios:
Ø  persiuntimo,
Ø  aritmetinės,
Ø  loginės,
Ø  nukreipimo,
Ø  valdymo.

12.2. Mikroprocesoriaus 8086 adresavimo tipai




Šiame MP yra žymiai daugiau adresavimo režimų nei 8080. Be esančių MP 8080 adresavimo
tipų, įvesti dar ir tokie:
Ø  bazinis;
Ø  indeksinis;
Ø  bazinis su poslinkiu;
Ø  indeksinis su poslinkiu;
Ø  indeksinis-bazinis;
Ø  indeksinis-bazinis su poslinkiu.


Kai naudojami šie adresavimo režimai , komandos antrojo baito skiltyse MOD  bei M/R nurodoma kodų kombinacija, apibūdinanti adresavimo režimą.

12.1. MP 8086 komandų formatai



Komandos formatu vadinama žinių apie komandos dalių (laukų) ilgį, sudėtį, paskirtį ir tarpusavio padėtį visuma.
X86 šeimos procesorių komandų sistema formavosi programinio suderinamumo principu pradedant nuo I8086 procesoriaus.  Šio procesoriaus komandų sistema iš esmės perėmė ir I8080 procesoriaus komandų sistemos bruožus, tačiau, deja, dėl pakeistų registrų vardų ir kai kurių kitų niuansų, programinis suderinamumas nėra išlaikytas.
Prisiminkite procesoriaus I8086 programinį modelį, kuris nagrinėtas vadovėlio 4 temoje.
MP 8086 komandų formatai pateikti 12.1 pav.



I8086 naudojami nuo 1 iki 6 baitų komandų formatai.


Operacijos kodas teikiamas pirmajame komandos baite, o kartais ir centrinėse antrojo baito skiltyse. Kraštinėse šio baito skiltyse    nurodomas adresavimo režimas. Trečiajame  ir ketvirtajame baituose paprastai teikiamas adreso poslinkis , o penktajame ir šeštajame - tiesioginis (betarpiškas) operandas .
Vieno arba dviejų baitų komandose teikiamas operacijos kodas (OK), adresavimo režimo nuoroda bei (dažniausiai) registrų adresai.
Kai baitų daugiau, juose gali būti:
Ø  dviejų baitų adresas (tiktai tiesioginiam adresavimui);
Ø  vieno arba dviejų baitų poslinkis (postūmis):
Ø  vieno arba dviejų baitų tiesioginis operandas;
Ø  vieno arba dviejų baitų postūmis su vieno arba dviejų baitų tiesioginiu operandu;
Ø  dviejų baitų postūmis ir dviejų baitų segmento adresas.
Rašydami komandą, visada pirmiau rašykite jaunesnįjį, po to vyresnįjį postūmio ar tiesioginio operando baitą.


Etiketės