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

9 Lentelė. Skaitymo rim komanda rezultatas

D7 skiltis panaudota įvestam per SID bitui įsiminti, skaitant nuosekliųjų duomenų porto įvesties duomenis.

SIM rašymo komanda atlieka valdymą. Įrašius valdymo duomenis akumuliatoriuje ir vykdant SIM komandą, valdoma pertraukčių sistema ir išvedami duomenys per nuoseklųjų duomenų porto SOD išvadą.

Valdymo duomenys, kuriuos galima įrašyti A registre, pateikti 10 lentelėje.

Kaukės (M7.5, M6.5, M5.5) gali būti keičiamos SIM komanda tik, kai MSEN = 1. Jeigu kaukė yra nustatyta (loginis 1), tai kaukę atitinkanti pertrauktis uždrausta.

D4 bitu galima išjungti RST 7.5 pertraukties reikalavimo signalo dinaminės priėmimo grandinės trigerį.

D6 bitas valdo (leidžia arba draudžia) duomenų bito išvedimą. Išvedamo per SOD išėjimą bito vertė (0 arba 1 loginiai lygiai) įrašoma D7 skiltyje.

RST N specialioji komanda yra CALL ADR komandos sutrumpintas variantas, esant ADR = 8 · N.

10 Lentelė. Valdymas sim rašymo komanda

Ši komanda yra 1 baito, turinti formatą, pateiktą 41 pav.

41 Pav. Rst n komandos formatas:

N2 N1 N0 – N skaičiaus dvejetainis kodas.

RST N komandoje koduojamas perėjimo adresas. Keičiant N, gaunami skirtingi komandų dvejetainiai kodai ir perėjimų (starto) adresai, kurie pateikti 11 lentelėje.

Radialinių pertraukčių reikalavimo signalų (TRAP, RST 7.5, RST 6.5, RST 5.5) inicijuotų pertraukčių veikimo mechanizmas lygiai toks pat, kaip ir RST N komandos. Skiriasi tik perėjimų (startiniai) adresai, todėl radialines pertrauktis galima laikyti RST N komandomis, kurių N skaičius yra (žr. 8 lentelė):

  • TRAP yra RST 4.5 (N = 4.5, adresas 36D, 24H);

  • RST 7.5 (N = 7.5, adresas 60D, 3CH);

  • RST 6.5 (N = 6.5, adresas 52D, 34H);

  • RST 5.5 (N = 5.5, adresas 44D, 2CH).

Tačiau šias komandas visada iššaukia periferiniai įrenginiai, reikalaujantys pertraukties.

11 Lentelė. Rst n komandos perėjimų (starto) adresai ir

adresų laukai

Komandos

kodas

N

8ּN perėjimo adresas

Adresų laukas

D kodas

H kodas

D kodas

H kodas

11000111

0

0

00 00

0 – 7

0000 – 0007

11001111

1

8

00 08

8 – 15

0008 – 000F

11010111

2

16

00 10

16 – 23

0010 – 0017

11011111

3

24

00 18

24 – 31

0018 – 001F

11100111

4

32

00 20

32 – 39

0020 – 0027

11101111

5

40

00 28

40 – 47

0028 – 002F

11110111

6

48

00 30

48 – 55

0030 – 0037

11111111

7

56

00 38

56 – 63

0038 – 003F

Ribos

0 – 7

0 – 56

0000 – 0038

0 – 63

0000 – 0037

Pertraukčių sistemos panaudojimo programos fragmentas yra:

LXI SP, D16 ;SP ß D16, SP pradinis nustatymas, D16 – 2 baitų TOS adresas

MVI A, CSIM ;A ß CSIM

SIM ;pertraukčių sistemos suderinimas

EI ;pertrauktis leisti

. . . . . . . . . . ;programa

IP: PUSH PSW ;M[SP] ß PSW, pertraukties paprogramės pradžia

PUSH BC ;M[SP] ß BC

PUSH DE ;M[SP] ß DE

PUSH HL ;M[SP] ß HL

. . . . . . . . . . ;paprogramės turinys (kūnas)

POP HL ;HL ß M[SP]

POP DE ;DE ß M[SP]

POP BC ;BC ß M[SP]

POP PSW ;PSW ß M[SP]

EI ; pertrauktis leisti

IG: RET ;PC ß M[SP], pertraukties paprogramės galas

Pagrindinės programos pradžioje suderinama pertraukčių sistema, įrašant į A registrą SIM komandos valdymo žodį (CSIM) ir vykdant SIM komandą. EI komanda leidžia pertrauktis, nes po sistemos paleidimo (įjungus maitinimo įtampą) arba padavus pradinio nustatymo signalą (RESET), visos pertrauktys yra uždraustos (IEN = 0). Taip yra paruošiama pertraukčių sistema.

Bet kuriuo pagrindinės programos vykdymo momentu į MP gali patekti vektorinės ar radialinės pertraukties reikalavimo signalas, pagal kurį pereinama į pertrauktį aptarnaujančios paprogramės pradžią (IP adresas). Pertraukties paprogramė organizuota lygiai taip pat, kaip ir paprasta paprogramė. Vienintelis skirtumas, kad prieš RET grįžimo komandą turi būti įrašyta EI komanda, nes pradėjus pertraukties procesą visos pertrauktys draudžiamos. Programoje gali būti ne viena, bet kelios pertraukčių paprogamės, atitinkančios pertraukčių vektorius.

HLT komanda iššaukia MP sustojimo (HALT, STOP) darbo ciklą, kuriame komandos nevykdomos. Šioje būsenoje MP gali reaguoti į leistas pertrauktis. Laukimo būseną galima panaikinti dviem būdais:

  • pertrauktimi;

  • pradinio nustatymo (RESET) signalu.

NOP komanda yra tuščioji komanda (00H kodas), nes ji nevykdo jokios operacijos, tik duoda 4 taktų laiko delsą. Ši komanda naudojama, organizuojant trumpas laiko pauzes arba užpildant panaikintų komandų vietas, kai modifikuojama programa.

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