
- •Цифрлық құрылғылар және микропроцессорлар
- •1 Цифрлық құрылғылар
- •1.1 Цифрлық құрылғылардың математикалық негіздері
- •1.1.1 Екілік санау жүйесі
- •1.1.2.1 Сандардың түрлендірілімі
- •1.1.1.1.1 Ондық санның екілік санға түрлендірілуі
- •1.1.1.1.2 Екілік санның ондық санға түрлендірілуі
- •1.1.1.1.3 Санның оналтылық жазылымы
- •1.1.2 Логикалық функциялар
- •1.1.2.1 Негізгі функциялар
- •1.1.2.2 Әмбебап функциялар
- •1.1.3 Логика алгебрасының заңдары мен заңдылықтары
- •1.1.4 Күрделі функциялар
- •1.1.4.1 Логикалық функцияларды минимизизациялау
- •1.1.4.1.1 Тікелей түрлендіру тәсілі
- •1.1.4.1.2 Карно картасы арқылы түрлендіру
- •1.1 Сурет
- •1.2 Сурет
- •1.1.4.1.3 Арнайы түрлендіргішті пайдалану
- •1.3 Сурет
- •1.2 Қиыстырма құрылғылар
- •1.2.1 Логикалық элементтер
- •1.4 Сурет
- •1.2.1.1 Логикалық элементтердің тез әрекеттілігі
- •1.5 Сурет
- •1.6 Сурет
- •1.7 Сурет
- •1.8 Сурет
- •1.2.2 Қиыстырма құрылғыларды құру тәртібі
- •1.9 Сурет
- •1.2.3 Қалыпты қиыстырма құрылғылар
- •1.2.3.1 Шифраторлар
- •1.10 Сурет
- •1.11 Сурет
- •1.2.3.1.1 Шифратордың өлшемін ұлғайту
- •1.12 Сурет
- •1.2.3.2 Дешифраторлар
- •1.13 Сурет
- •1.14 Сурет
- •1.2.3.2.1 Дешифратор негізінде қиыстырма құрылғы құру
- •1.15 Сурет
- •1.2.3.3 Мультиплексорлар
- •1.16 Сурет
- •1.2.3.3.1 Мультиплексор негізінде қиыстырма құрылғы құру
- •1.17 Сурет
- •1.2.3.4 Демультиплексорлар
- •1.18 Сурет
- •1.2.3.5 Қосуыштар
- •1.2.3.5.1 Бірразрядты қосуыштар
- •1.19 Сурет
- •1.20 Сурет
- •1.2.3.5.2 Көпразрядты қосуыштар
- •1.21 Сурет
- •1.3 Тізбектеме құрылғылар
- •1.3.1 Триггерлер
- •1.3.1.1 Асинхронды rs-триггерлер
- •1.3.1.1.1 Тура кірісті rs-триггер
- •1.22 Сурет
- •1.3.1.1.2 Теріс кірісті rs-триггер
- •1.23 Сурет
- •1.3.1.2 Синхронды триггерлер
- •1.3.1.2.1 Синхронды rs-триггер
- •1.24 Сурет
- •1.3.1.2.2 Статикалы басқарылымды d-триггер
- •1.25 Сурет
- •1.3.1.2.3 Динамикалы басқарылымды триггерлер
- •1.3.1.2.3.1 D-триггер
- •1.26 Сурет
- •1.3.1.2.3.2 Jk-триггер
- •1.3.1.2.3.3 T-триггер
- •1.27 Сурет
- •1.3.1.2.3.4 Триггерлердің микросхемалары
- •1.28 Сурет
- •1.3.2 Регистрлер
- •1.29 Сурет
- •1.3.3 Санауыштар
- •1.30 Сурет
- •1.4 Жадылық құрылғылар
- •1.4.1 Жадылық құрылғылардың басқару сигналдары
- •1.4.2 Жадылық құрылғылардың басты параметрлері
- •1.4.3 Жадылық құрылғылардың негізгі түрлері
- •1.4.4 Жадылық құрылғылардың негізгі құрылымдары
- •1.4.4.1 2D құрылымы
- •1.4.4.2 3D құрылымы
- •1.4.4.3 2Dm құрылымы
- •1.4.5 Тұрақты жадылық құрылғылардың байланыс элементтері
- •1.4.5.1 Rom(m) құрылғылары
- •1.4.5.2 Prom құрылғылары
- •1.36 Сурет
- •1.4.5.3 Eprom және eeprom құрылғылары
- •2 Микропроцессорлар және микропроцессорлық жүйелер
- •2.1 Микропроцессорлық жүйелердің құрылым принциптері
- •2.2 Intel 8085 микропроцессоры
- •2.2.1. Микропроцессордың құрылымы
- •2.1 Сурет
- •2.2.2. Микропроцессордың басқару сигналдары
- •2.2.3. Микропроцессордың жұмыс тәртібі
- •2.2.4. Микропроцессордың үзіліс жүйесі
- •2.2.5. Микропроцессордың тізбекті енгізу/шығару жүйесі
- •2.2.6. Микропроцессордың командалар жүйесі
- •2.2.7. Микропроцессорда қолданылатын сілтеу тәсілдері
- •2.3 Микропроцессорлық жүйенің жұмысын бағдарлау
- •2.2 Сурет
- •2.3.1. Тізбелі бағдарламалар
- •2.3.2. Тарамдалымды бағдарламалар
- •2.3.3. Екібайтты сандарды қосу бағдарламасы
- •2.3.4. Тіке сілтемелі командалармен жұмыс істеу
- •2.3.5. Алу командаларымен жұмыс істеу
- •2.3.6. Регистр жұптарымен жұмыс істеу
- •2.3.7. Көбейту бағдарламасы
- •2.3.8. Қосалқы бағдарламалармен жұмыс істеу
- •2.3.9. Шешім қабылдау бағдарламалары
- •Әдебиеттер тізімі
- •Мазмұны
2.3.4. Тіке сілтемелі командалармен жұмыс істеу
Жоғарыда қарастырылған бағдарламаларда арифметикалық қосу командаларының екі түрі пайдаланылды, олар тура және жанама сілтемелі ADD (тасымалсыз қосу) ADC (тасымалды қосу) командалары. Тіке сілтемелі қосу командаларының (ADI және ACI) пайдаланылуын суреттеу мақсатында 22222 (56CE16), 33333 (823516) және 44444 (AD9C16) сандарын қосу бағдарламасын қарастырайық:
|
|
|
|
|
|
; 5-бағдарлама |
1 |
2180 |
3E |
|
MVI |
A, CEH |
; A ← CE |
2 |
2181 |
CE |
|
|
|
|
3 |
2182 |
C6 |
|
ADI |
35H |
; A ← (A) + 35 |
4 |
2183 |
35 |
|
|
|
|
5 |
2184 |
5F |
|
MOV |
E, A |
; E ← (A) |
6 |
2185 |
3E |
|
MVI |
A, 56H |
; A ← CE |
7 |
2186 |
56 |
|
|
|
|
8 |
2187 |
CE |
|
ACI |
82H |
; A ← (A) + 82 + (TC) |
9 |
2188 |
82 |
|
|
|
|
10 |
2189 |
57 |
|
MOV |
D, A |
; D ← (A) |
11 |
218A |
7B |
|
MOV |
A, E |
; A ← (E) |
12 |
218B |
C6 |
|
ADI |
9CH |
; A ← (A) + 9C |
13 |
218C |
9C |
|
|
|
|
14 |
218D |
5F |
|
MOV |
E, A |
; E ← (A) |
15 |
218E |
7A |
|
MOV |
A, D |
; A ← (D) |
16 |
218F |
CE |
|
ACI |
ADH |
; A ← (A) + AD + (TC) |
17 |
2190 |
AD |
|
|
|
|
18 |
2191 |
FF |
|
RST 7 |
|
;Басқару бағдарламасына қайту |
Бағдарламаның басында аккумуляторға бірінші санның кіші байты енгізіліп (1-жол), сосын оған екінші санның кіші байты тасымалсыз қосушы ADI командасымен қосылады да (3-жол), нәтиже E регистріне жіберіледі (5-жол). Бұдан кейін аккумуляторға бірінші санның үлкен байты енгізіліп (6-жол), сосын оған екінші санның үлкен байты тасымалды қосушы ACI командасымен қосылады да (8-жол), нәтиже D регистріне жіберіледі (10-жол).
Келесі кезеңде E және D регистрлеріндегі алдыңғы нәтижелер аккумуляторға кезекпен әкелініп, оларға алдыңғы командалар арқылы үшінші санның сәйкесті байттары қосылады.
2.3.5. Алу командаларымен жұмыс істеу
Микропроцессордың командалар жүйесінде алдыңғы бағдарламаларда пайдаланылған қосу командалары (ADD, ADC, ADI, ACI) сияқты алу командалары бар, олар – SUB, SBB, SUI, SBI командалары. Олардың пайдаланылымын суреттеу мақсатында 5-бағдарламаны жалғастырып, онда алынған (D және E регистрлерінде сақталған) саннан жадының 22C0-22C1 ұяшықтарында орналастырылған екібайтты санды және 11111 (2B6716) санын алу бағдарламасын қарастырайық:
|
|
|
|
|
|
; 6-бағдарлама |
1 |
21A0 |
3A |
|
LDA |
22C0H |
; A ← [22C0] |
2 |
21A1 |
C0 |
|
|
|
|
3 |
21A2 |
22 |
|
|
|
|
4 |
21A3 |
4F |
|
MOV |
C, A |
; C ← (A) |
5 |
21A4 |
3A |
|
LDA |
22C1H |
; A ← [22C1] |
6 |
21A5 |
C1 |
|
|
|
|
7 |
21A6 |
22 |
|
|
|
|
8 |
21A7 |
4F |
|
MOV |
B, A |
; C ← (A) |
9 |
21A8 |
7B |
|
MOV |
A, E |
; A ← (E) |
10 |
21A9 |
91 |
|
SUB |
C |
; A ← (A) – (C) |
11 |
21AA |
5F |
|
MOV |
E, A |
; E ← (A) |
12 |
21AB |
7A |
|
MOV |
A, D |
; A ← (D) |
13 |
21AC |
98 |
|
SBB |
B |
; A ← (A) – (B) – (TC) |
14 |
21AD |
57 |
|
MOV |
D, A |
; D ← (A) |
15 |
21AE |
7B |
|
MOV |
A, E |
; A ← (E) |
16 |
21AF |
D6 |
|
SUI |
67H |
; A ← (A) – 67 |
17 |
21B0 |
67 |
|
|
|
|
18 |
21B1 |
32 |
|
STA |
22C2H |
; [(22C2)] ← (A) |
19 |
21B2 |
C2 |
|
|
|
|
20 |
21B3 |
22 |
|
|
|
|
21 |
21B4 |
7A |
|
MOV |
A, D |
; E ← (A) |
22 |
21B5 |
DE |
|
SBI |
2BH |
; A ← (A) – 2B – (TC) |
23 |
21B6 |
2B |
|
|
|
|
24 |
21B7 |
32 |
|
STA |
22C3H |
; [(22C3)] ← (A) |
25 |
21B8 |
C3 |
|
|
|
|
26 |
21B9 |
22 |
|
|
|
|
27 |
21BA |
FF |
|
RST 7 |
|
;Басқару бағдарламасына қайту |
Бағдарламаның басында жадыдағы екібайтты санның жеке байттары аккумулятор арқылы C және B регистрлеріне жіберілді (1…8 жолдар). Регистрлі сілтемелі SUB және SBB командаларының біріншісі тасымалсыз, екіншісі тасымалды алу операцияларын орындайды (10-, 13-жолдар). Тіке сілтемелі SUI және SBI командаларының біріншісі тасымалсыз, екіншісі тасымалды алу операцияларын орындайды (16-, 22-жолдар).
Жүргізілген операциялар нәтижесі жадының келесі ұяшықтарына жіберіледі (18-, 24-жолдар).