
- •Цифрлық құрылғылар және микропроцессорлар
- •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.6. Регистр жұптарымен жұмыс істеу
Жоғарыда екібайтты сандарды қосу тасымалсыз және тасымалды қосу командаларын (ADD және ADC) тізбелеп пайдалану арқылы жүзеге асырылғанды (4-бағдарлама). Intel 8085 микропроцессорының командалар жүйесінде екібайтты сандарды тікелей қосушы командалар да бар, олар – DAD мнемоникасымен суреттелетін командалар. Жадының 22D0-ұяшығынан бастап жұптап орналастырылған (бірінші байты кіші адрес бойынша, екінші байты келесі адреске) үш санды DAD командалары арқылы қосылып, алынған қосындыны екіге көбейту бағдарламасын келесі түрде құруға болады:
|
|
|
|
|
|
; 7-бағдарлама |
1 |
21С0 |
3A |
|
LDA |
22D0H |
; A ← [22D0] |
2 |
21С1 |
D0 |
|
|
|
|
3 |
21С2 |
22 |
|
|
|
|
4 |
21С3 |
6F |
|
MOV |
L, A |
; L ← (A) |
5 |
21С4 |
3A |
|
LDA |
22D1H |
; A ← [22D1] |
6 |
21С5 |
D1 |
|
|
|
|
7 |
21С6 |
22 |
|
|
|
|
8 |
21С7 |
67 |
|
MOV |
H, A |
; H ← (A) |
9 |
21С8 |
3A |
|
LDA |
22D2H |
; A ← [22D2] |
10 |
21С9 |
D2 |
|
|
|
|
11 |
21СA |
22 |
|
|
|
|
12 |
21СB |
4F |
|
MOV |
C, A |
; C ← (A) |
13 |
21СC |
3A |
|
LDA |
22D3H |
; A ← [22D3] |
14 |
21СD |
D3 |
|
|
|
|
15 |
21СE |
22 |
|
|
|
|
16 |
21СF |
47 |
|
MOV |
B, A |
; B ← (A) |
17 |
21D0 |
3A |
|
LDA |
22D4H |
; A ← [22D4] |
18 |
21D1 |
D4 |
|
|
|
|
19 |
21D2 |
22 |
|
|
|
|
20 |
21D3 |
5F |
|
MOV |
E, A |
; E ← (A) |
21 |
21D4 |
3A |
|
LDA |
22D5H |
; A ← [22D5] |
22 |
21D5 |
D5 |
|
|
|
|
23 |
21D6 |
22 |
|
|
|
|
24 |
21D7 |
57 |
|
MOV |
D, A |
; D ← (A) |
25 |
21D8 |
09 |
|
DAD |
B |
; HL ← (HL) + (BC) |
26 |
21D9 |
19 |
|
DAD |
D |
; HL ← (HL) + (DE) |
27 |
21DA |
29 |
|
DAD |
H |
; HL ← (HL) + (HL) |
27 |
21DB |
7D |
|
MOV |
A, L |
; A ← (L) |
28 |
21DC |
32 |
|
STA |
22D6H |
; [(22D6)] ← (A) |
29 |
21DD |
D6 |
|
|
|
|
30 |
21DE |
22 |
|
|
|
|
31 |
21DF |
7C |
|
MOV |
A, H |
; A ← (HL) |
32 |
21E0 |
32 |
|
STA |
22D7H |
; [(22D7)] ← (A) |
33 |
21E1 |
D7 |
|
|
|
|
34 |
21E2 |
22 |
|
|
|
|
35 |
21E3 |
FF |
|
RST 7 |
|
;Басқару бағдарламасына қайту |
Бағдарламаның дайындық кезеңінде (1 – 24-жолдар) жадыдағы екібайтты үш сан аккумулятор арқылы HL, BC және DE регистрлік жұптарына көшіріледі.
Бағдарламаның жұмыс кезеңі, яғни негізгі операциялардың орындалуы үш командамен ғана орындалады. Бұнда HL жұбы оналтыразрядты аккумумулятор ретінде пайдаланылып, DAD командасы арқылы оған алдымен BC жұбындағы (25-жол), сосын DE жұбындағы (26-жол) сан қосылады. Жұмыс кезеңінің соңғы командасы HL жұбын өзіне-өзін қосу арқылы екіге көбейту операциясы орындалады (27-жол).
Бағдарламаның ақырғы шығарым кезеңінде HL жұбындағы нәтиже аккумулятор арқылы жадыға шығарылады (28, 32-жолдар).
Бұл бағдарламаның ұзаққа созылған дайындық кезеңі мен шығарым кезеңін қысқарту үшін стекті пайдалану аса ыңғайлы келеді. Алдыңғы бағдарламаның осы жолмен өзгертілген түрін келесі түрде құруға болады:
|
|
|
|
|
|
; 8-бағдарлама |
1 |
21F0 |
3A |
|
LXI |
SP, 22D0H |
; SP ← 22D0 |
2 |
21F1 |
D0 |
|
|
|
|
3 |
21F2 |
22 |
|
|
|
|
4 |
21F3 |
E1 |
|
POP |
H |
; HL ← [(SP)],[(SP) + 1], ; SP ← (SP) + 2 |
5 |
21F4 |
C1 |
|
POP |
B |
; HL ← [(SP)],[(SP) + 1], ; SP ← (SP) + 2 |
6 |
21F5 |
D1 |
|
POP |
D |
; HL ← [(SP)],[(SP) + 1], ; SP ← (SP) + 2 |
7 |
21F6 |
09 |
|
DAD |
B |
; HL ← (HL) + (BC) |
8 |
21F7 |
19 |
|
DAD |
D |
; HL ← (HL) + (DE) |
9 |
21F8 |
29 |
|
DAD |
H |
; HL ← (HL) + (HL) |
10 |
21FA |
00 |
|
NOP |
|
; Бос операция |
11 |
21FB |
25 |
|
PUSH |
H |
; SP ← (SP) – 2; [(SP)];[(SP) + 1]← (HL) |
12 |
21FC |
FF |
|
RST 7 |
|
;Басқару бағдарламасына қайту |
13 |
21FD |
C9 |
|
RET |
|
; PC ← [(SP)] |
Бұл бағдарламада LXI SP командасы арқылы стектің төбесі белгіленді де (1-жол), одан кейін POP командаларымен сәйкесті регистр жұптарына (HL, BC, DE) жадыда орналасқан екібайтты сандар енгізіліп (4…6-жолдар), алдыңғы бағдарламадағыдай қосу операциялары орындалды (7…9-жолдар). Орындалған қосу операцияларының HL регистрлік жұбындағы нәтижесі жадыға PUSH командасымен шығарылады (11-жол). Нәтиженің HL регистрлік жұбында қалдырылуы қажет жағдайында NOP командасының орнына RST 7 немесе RET командасы қойылу керек (12, 13-жолдағы).