
- •Цифрлық құрылғылар және микропроцессорлар
- •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.8. Қосалқы бағдарламалармен жұмыс істеу
Микропроцессорлық жүйенің негізгі жұмыс бағдарламасының құрамында одан шақырылатын бірнеше қосалқы бағдарламалар болады. Осындай бағдарламаның құрылымы мен жұмыс тәртібін қарастыру мақсатында жадының 22F0-ұяшығынан бастап, қатарлап орналастырылған жиырма төрт санға (ai) жүзгізілетін y = a0*a1 + a2*a3 + өрнегін есептеу бағдарламасын қарастыралық:
|
|
|
|
|
|
; 10-бағдарлама |
1 |
2220 |
31 |
|
LXI |
SP, 2300H |
; SP ← 2300 |
2 |
2221 |
00 |
|
|
|
|
3 |
2222 |
23 |
|
|
|
|
4 |
2223 |
3A |
|
LDA |
22F0H |
; A ← [22F0] … a0 |
5 |
2224 |
F0 |
|
|
|
|
6 |
2225 |
22 |
|
|
|
|
7 |
2226 |
5F |
|
MOV |
E, A |
; E ← (A) |
8 |
2227 |
3A |
|
LDA |
22F1H |
; A ← [22F1] … a1 |
9 |
2228 |
F1 |
|
|
|
|
10 |
2229 |
22 |
|
|
|
|
11 |
222A |
CD |
|
CALL |
2207H |
; SP ← (PC), PC ← 2207 |
12 |
222B |
07 |
|
|
|
|
13 |
222C |
22 |
|
|
|
|
14 |
222D |
7D |
|
MOV |
A, L |
; A ← (L) |
15 |
222E |
32 |
|
STA |
22A0 |
; [(22A0)] ← (A) |
16 |
222F |
A0 |
|
|
|
|
17 |
2230 |
22 |
|
|
|
|
18 |
2231 |
7C |
|
MOV |
A, H |
; A ← (HL) |
19 |
2232 |
32 |
|
STA |
22A1 |
; [(22A1)] ← (A) |
20 |
2233 |
A1 |
|
|
|
|
21 |
2234 |
22 |
|
|
|
|
22 |
2235 |
3A |
|
LDA |
22F2H |
; A ← [22F2] … a2 |
23 |
2236 |
F2 |
|
|
|
|
24 |
2237 |
22 |
|
|
|
|
25 |
2238 |
5F |
|
MOV |
E, A |
; E ← (A) |
26 |
2239 |
3A |
|
LDA |
22F3H |
; A ← [22F3] … a3 |
27 |
223A |
F3 |
|
|
|
|
27 |
223B |
22 |
|
|
|
|
28 |
223C |
CD |
|
CALL |
2207H |
; SP ← (PC), PC ← 2207 |
29 |
223D |
07 |
|
|
|
|
30 |
223E |
22 |
|
|
|
|
31 |
223F |
3A |
|
LDA |
22A0H |
; A ← [22A0] |
32 |
2240 |
A0 |
|
|
|
|
33 |
2241 |
22 |
|
|
|
|
34 |
2242 |
4F |
|
MOV |
C, A |
; C ← (A) |
35 |
2243 |
3A |
|
LDA |
22A1H |
; A ← [22A1] |
36 |
2244 |
A1 |
|
|
|
|
37 |
2245 |
22 |
|
|
|
|
38 |
2246 |
47 |
|
MOV |
B, A |
; B ← (A) |
39 |
2247 |
09 |
|
DAD |
B |
; HL ← (HL) + (BC) |
40 |
2248 |
5D |
|
MOV |
E, L |
; E ← (L) |
41 |
2249 |
54 |
|
MOV |
D, H |
; D ← (H) |
42 |
224A |
0E |
|
MVI |
C, 14H |
; C ← 1416 = 2010 |
43 |
224B |
14 |
|
|
|
|
44 |
224C |
21 |
|
LXI |
H, 22F4h |
; HL ← 22F4 |
45 |
224D |
F4 |
|
|
|
|
46 |
224E |
22 |
|
|
|
|
47 |
224F |
CD |
|
CALL |
2144H |
; SP ← (PC), PC ← 8044 |
48 |
2250 |
44 |
|
|
|
|
49 |
2251 |
21 |
|
|
|
|
50 |
2252 |
6F |
|
MOV |
L, A |
; L ← (A) |
51 |
2253 |
60 |
|
MOV |
H, B |
; H ← (B) |
52 |
2254 |
19 |
|
DAD |
D |
; HL ← (HL) + (DE) |
53 |
2255 |
FF |
|
RST 7 |
|
;Басқару бағдарламасына қайту |
Бұл бағдарлама қосалқы бағдарламалармен жұмыс істейтін болғандықтан оларға ауысу кезінде негізгі бағдарламаға қайту мүмкіндігін қамтамасыз ету үшін бағдарлама басында (1-жол) жадының нақтылы аймағы стекке бөлініп, оның түбі (SP) белгіленді.
Бірінші көбейтілетін екі сан (a0, a1) E және A регистрлеріне енгізіліп (1…8-жолдар), оларды көбейту үшін қосалқы бағдарлама (9-бағдарлама) шақырылып (11-жол), сол арқылы жүзеге асырылады да, алынған екібайтты нәтиже жады ұяшықтарына уақытша сақтауға жіберіледі (14…19-жолдар). Сосын келесі екі сан (a2, a3) E және A регистрлеріне енгізіліп (22…26-жолдар), олар да қосалқы бағдарлама арқылы көбейтіледі де (28-жол), екібайтты нәтиже HL регистрлік жұбында қалды. Бұдан кейін, жадыда уақытша сақталған алдыңғы көбейтінді BC регистрлік жұбына енгізіліп (31…38-жолдар), DAD командасы арқылы екі көбейтіндінің қосындысы анықталады да (39-жол), бұл нәтиже DE регистрлік жұбына уақытша сақтауға жіберіледі (40-, 41-жолдар). Келесі кезеңде қосылатын сандардың саны (1416 = 2010 ) С регистріне (42-жол), бірінші санның адресі, бұл жерде жанама сілтеу адресінің регистрі ретінде пайдаланылатын, HL регистрлік жұбына енгізіліп (44-жол), көп санды қосуға арналған қосалқы бағдарлама (3-бағдарлама) шақырылады (47-жол). Бұл кезде алынған BC регистрлік жұбындағы нәтиже HL регистрлік жұбына көшіріліп (50-, 51-жолдар), оған алдыңғы DE регистрлік жұбындағы екі көбейтіндінің қосындысы қосылып (52-жол), ақырғы нәтиже алынады.