Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MPVI_Spausdinti2003M.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
3.88 Mб
Скачать

17. Bendroji i8085 mp komandų sistemos charakteristika

MP komandų sistema vadinama jo vykdomų komandų visuma ir duomenų, reikalingų komandoms vykdyti, nurodymo (adresavimo) būdai [7,8]. Kiekvienas MP turi tik jam būdingą komandų sistemą. Komandų sistemos skiriasi komandų skaičiumi, jų tipais, adresavimo būdais. Bet kuri komanda charakterizuojama jos formatu, kuris parodo komandos struktūrą. I8085 MP komandos struktūra pavaizduota 35 pav.

35 Pav. Komandos struktūra

Komanda susideda iš dviejų komponenčių:

  • OK operacijos kodo;

  • OP operando.

OK nusako veiksmą (perkėlimas, sudėtis, atimtis ir t.t.), kurį atlieka komanda. Jis kuoduotu pavidalu visada įrašomas pirmajame komandos baite.

OP yra duomenys, reikalingi komandai vykdyti. OP gali būti registro, registrų poros kur yra duomenys, kodas bei vieno, dviejų baitų duomenys ar adresai.

Naudojant duomenims nurodyti registrų kodus, operandas įrašomas šalia OK ir komanda yra 1 baito ilgio. Kai OP skirtas vienas baitas, tai komandos ilgis 2 baitai (1 baitas OK, 2 baitas OP), o kai du baitai – komanda yra 3 baitų (1 baitas OK, 2 baitas pirmasis OP, 3 baitas antrasis OP). Tokiu būdu komandos gali būti 3 formatų - 1, 2, 3 baitų.

Kiekvienas MP turi tam tikrus būdus kaip nurodyti duomenis reikalingus komandai vykdyti. Duomenų nurodymo būdai vadinami adresavimo būdais. I8085 MP komandų sistemoje naudojami 4 adresavimo būdai:

  1. Tiesioginis.

  2. Tiesioginis registrų.

  3. Netiesioginis (šalutinis) registrų.

  4. Betarpiškas.

Tiesiogiai adresuojant duomenis, komandoje nurodomas 1 baito porto adresas arba 2 baitų atminties adresas. Komandos ilgis 2 arba 3 baitai. Tiesioginio adresavimo komandos pavaizduotos 36 pav.

a) dviejų baitų b) trijų baitų

36 Pav. Tiesioginio adresavimo komandų formatai: port – porto adresas (1 baitas); adrl – adreso jaunesnysis baitas; adrh – adreso vyresnysis baitas.

Tiesioginis registrų adresavimas naudoja registrų kodus, kurie sudaro komandos operandus. Duomenys reikalingi komandai vykdyti yra registruose, kurių kodas (adresas) nurodytas komandos baite greta operacijos kodo. Šio adresavimo būdo komandos ilgis 1 baitas. Tiesioginio registrų adresavimo komandos formatas pateiktas 37 pav.

37 Pav. Tiesioginio registrų adresavimo komandos formatas.

Komandose naudojamų registrų kodai yra: B – 000H; C – 001H; D – 010H; E – 011H; H – 100H; L – 101H; M – 110H; A – 111H.

Netiesioginis (šalutinis) registrų adresavimas turi du adresus:

  • pradinį;

  • vykdymo.

Pradinis adresas yra registrų poros (BC, DE, HL, PSW) kodas, įrašytas komandos baito adresų dalyje, kaip OP, šalia OK. Registrų poros turi šiuos kodus: BC – 00H; DE – 01H; HL – 10H; PSW – 11H.

Vykdymo adresas yra tikrasis adresas (2 baitai) įrašytas registrų poroje. Šio adresavimo būdo komandų ilgis 1 baitas. Vykdant komandą, nurodoma RP, kurioje yra vykdymo adresas, pagal kurį skaitomi ar rašomi duomenys. Komandos, kuriose įrašyta M raidė rodo, kad vykdymo adresas yra HL registrų poroje. Komandos formatas lygiai toks pat, kaip ir pavaizduotas 37 pav.

Betarpiškas adresavimo būdas naudoja duomenis, kurie betarpiškai įrašyti pačioje komandoje. Duomenys gali būti 1 ar 2 baitų, todėl komandos ilgis yra 2 (1 baitas – OK, 2 baitas duomenys) arba 3 (1 baitas – OK, 2 baitas – duomenų jaunesnysis baitas, 3 baitas – duomenų vyresnysis baitas). Betarpiško adresavimo komandos formatas parodytas 38 pav.

I8085 MP komandų sistemoje yra 247 skirtingos komandos. Komandas galima užrašyti apibendrintoje formoje, naudojant tam tikrus sutartinius žymenis. Tokios apibendrintos komandos vadinamos bazinėmis komandomis. I8085 MP turi 83 bazines komandas. Komandos veiksmas žymimas 3, 4 raidėmis (dažniausiai didžiosiomis) anglų kalba. Šios raidės dar vadinamos mnemo kodu arba mnemonika.

a) dviejų baitų b) trijų baitų

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]