
- •Цифрлық құрылғылар және микропроцессорлар
- •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.3. Екібайтты сандарды қосу бағдарламасы
Алдыңғы бағдарламалар бірбайтты (яғни, сегізразрядты екілік кодымен суреттелген, ондық мәні 255-тен аспайтын) сандарды қосуға ғана жарайды. Енді екібайтты (яғни, оналтыразрядты екілік кодымен суреттелген) сандарды қосу мүмкіндігін қарастырайық. Жадының 22A0-ұяшығынан бастап жұптап орналастырылған (бірінші байты кіші адрес бойынша, екінші байты келесі адреске) 25 санды қосу бағдарламасын келесі түрде құруға болады:
|
|
|
|
|
|
; 4-бағдарлама |
1 |
2160 |
21 |
|
LXI |
2300H |
; HL ← 22A0 |
2 |
2161 |
A0 |
|
|
|
|
3 |
2162 |
22 |
|
|
|
|
4 |
2163 |
0E |
|
MVI |
C, 19H |
; C ← 1916 = 2510 |
5 |
2164 |
97 |
|
SUB |
A |
; A ← 00 |
6 |
2165 |
5F |
|
MOV |
E, A |
; B ← 00 |
7 |
2166 |
57 |
|
MOV |
D, A |
; B ← 00 |
8 |
2167 |
86 |
K3: |
ADD |
M |
; A ← [(HL)] |
9 |
2168 |
5F |
|
MOV |
E, A |
; E ← (A) |
10 |
2169 |
7A |
|
MOV |
A, D |
; A ← (D) |
11 |
216A |
23 |
|
INX |
H |
; HL ← (HL) + 1 |
12 |
216B |
8E |
|
ADC |
M |
; A ← (A) + [(HL)] + (TC) |
13 |
216C |
57 |
|
MOV |
D, A |
; D ← (E) |
14 |
216D |
0D |
|
DCR |
C |
; C ← (C) – 1 |
15 |
216E |
CA |
|
JZ |
K4 |
; TZ = 1: PC ← 2175 |
16 |
216F |
76 |
|
|
|
|
17 |
2170 |
80 |
|
|
|
|
18 |
2171 |
7B |
|
MOV |
A, E |
; A ← (E) |
19 |
2171 |
23 |
|
INX |
H |
; HL ← (HL) + 1 |
20 |
2172 |
C3 |
|
JMP |
K3 |
; PC ← 2167 |
21 |
2173 |
67 |
|
|
|
|
22 |
2174 |
21 |
|
|
|
|
23 |
2175 |
23 |
K4: |
INX |
H |
; HL ← (HL) + 1 |
24 |
2176 |
73 |
|
MOV |
M, E |
; [(HL)] ← (E) |
25 |
2177 |
23 |
|
INX |
H |
; HL ← (HL) + 1 |
26 |
2178 |
72 |
|
MOV |
M, D |
; [(HL)] ← (D) |
27 |
2179 |
FF |
|
RST 7 |
|
;Басқару бағдарламасына қайту |
Бағдарламаның дайындық кезеңінде сілтеу регистрлеріне (яғни, HL жұбына) жадының жұмысқа қажетті бірінші ұяшығының адресі жазылды (1-жол), сосын қосылатын операндтар саны микропроцессордың С регистріне енгізілді (4-жол), бұдан кейін бірбайтты командалар арқылы аккумулятор менD және E регистрлері тазартылды (5-, 6-, 7-жолдар). Микропроцессордың D және E регистрлері жүргізілген қосу операцияларының нәтижелерін жинақтауға пайдаланылады: оның кіші байты E регистрінде, үлкен байты D регистрінде жиналады.
Бағдарламаның негізгі өңдеу жұмысын атқару бөлігі (қызмет кезеңі) 8...13 жолдар арасында орналасқан. Бұнда жанама сілтеу регистріндегі (яғни, HL жұбындағы) адрес арқылы алынған операнд аккумуляторға қосылады да (8-жол), алынған нәтиже E регистріне жіберіледі (9-жол). Бұдан кейін аккумуляторға нәтиже жинақталымының D регистріндегі үлкен байты әкелініп (10-жол), ұлғайтылған адрес (11-жол) арқылы операндтың екінші байты оған ADC командасымен қосылады (12-жол). Бұл командаға сәйкесті қосу операциясының орындалуы кезінде қосылатын сандармен қатар алдыңғы операциядан шыққан тасымал да (TC) ескеріледі. Бұл нәтиже D регистріне жіберіледі (13-жол). Сосын (тексерім кезеңінде) операнд санауышы (C регистрі) бірге кемітіліп (14-жол), операндтардың біткен-бітпегендігі тексеріледі де (15-жол), олардың біткен жағдайында бағдарлама нәтижені шығару кезеңіне ауыстырылады, ал олардың бітпеген жағдайында қажетті дайындалым арқылы (яғни аккумуляторға нәтиже жинақталымының кіші байты әкелініп) (18-жол), адрес ұлғайтылғаннан (19-жол) кейін бағдарламаның негізгі жұмысы (яғни, қосу операциялары) әрі қарай жалғастырылады (20-жол).
Бұл бағдарламада алынған және D мен C регистрлерінде жинақталған екібайтты нәтиже жадының бастапқы деректерден кейінгі ұяшықтарына байт-байтымен шығарылады (23…26 жолдар).