О. Т. Шанаев цифрлық ҚҰрылғылар және микропроцессорлар



бет16/16
Дата06.10.2023
өлшемі1,56 Mb.
#113061
1   ...   8   9   10   11   12   13   14   15   16
0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F


0

NOP

LXI
B

STAX
B

INX
B

INR
B

DCR
B

MVI
B

RLC


DAD
B

LDAX
B

DCX
B

INR
C

DCR
C

MVI
C

RRC

0

1


LXI
D

STAX
D

INX
D

INR
D

DCR
D

MVI
D

RAL


DAD
D

LDAX
D

DCX
D

INR
E

DCR
E

MVI
E

RAR

1

2

RIM

LXI
H

SHLD

INX
H

INR
H

DCR
H

MVI
H

DAA


DAD
H

LHLD

DCX
H

INR
L

DCR
L

MVI
L

CMA

2

3

SIM

LXI
SP

STA

INX
SP

INR
M

DCR
M

MVI
M

STC


DAD
SP

LDA

DCX
SP

INR
A

DCR
A

MVI
A

CMC

3

4

MOV
B,B

MOV
B,C

MOV
B,D

MOV
B,E

MOV
B,H

MOV
B,L

MOV
B,M

MOV
B,A

MOV
C,B

MOV
C,C

MOV
C,D

MOV
C,E

MOV
C,H

MOV
C,L

MOV
C,M

MOV
C,A

4

5

MOV
D,B

MOV
D,C

MOV
D,D

MOV
D,E

MOV
D,H

MOV
D,L

MOV
D,M

MOV
D,A

MOV
E,B

MOV
E,C

MOV
E,D

MOV
E,E

MOV
E,H

MOV
E,L

MOV
E,M

MOV
E,A

5

6

MOV
H,B

MOV
H,C

MOV
H,D

MOV
H,E

MOV
H,H

MOV
H,L

MOV
H,M

MOV
H,A

MOV
L,B

MOV
L,C

MOV
L,D

MOV
L,E

MOV
L,H

MOV
L,L

MOV
L,M

MOV
L,A

6

7

MOV
M,B

MOV
M,C

MOV
M,D

MOV
M,E

MOV
M,H

MOV
M,L

HLT

MOV
M,A

MOV
A,B

MOV
A,C

MOV
A,D

MOV
A,E

MOV
A,H

MOV
A,L

MOV
A,M

MOV
A,A

7

8

ADD
B

ADD
C

ADD
D

ADD
E

ADD
H

ADD
L

ADD
M

ADD
A

ADC
B

ADC
C

ADC
D

ADC
E

ADC
H

ADC
L

ADC
M

ADC
A

8

9

SUB
B

SUB
C

SUB
D

SUB
E

SUB
H

SUB
L

SUB
M

SUB
A

SBB
B

SBB
C

SBB
D

SBB
E

SBB
H

SBB
L

SBB
M

SBB
A

9

A

ANA
B

ANA
C

ANA
D

ANA
E

ANA
H

ANA
L

ANA
M

ANA
A

XRA
B

XRA
C

XRA
D

XRA
E

XRA
H

XRA
L

XRA
M

XRA
A

A

B

ORA
B

ORA
C

ORA
D

ORA
E

ORA
H

ORA
L

ORA
M

ORA
A

CMP
B

CMP
C

CMP
D

CMP
E

CMP
H

CMP
L

CMP
M

CMP
A

B

C

RNZ

POP
B

JNZ

JMP

CNZ

PUSH
B

ADI

RST
0

RZ

RET

JZ


CZ

CALL

ACI

RST
1

C

D

RNC

POP
D

JNC

OUT

CNC

PUSH
D

SUI

RST
2

RC


JC

IN

CC


SBI

RST
3

D

E

RPO

POP
H

JPO

XTHL

CPO

PUSH
H

ANI

RST
4

RPE

PCHL

JPE

XCHG

CPE


XRI

RST
5

E

F

RP

POP
PSW

JP

DI

CP

PUSH
PSW

ORI

RST
6

RM

SPHL

JM

EI

CM


CPI

RST
7

F


0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F


2.3.1. Тізбелі бағдарламалар
Жадының 2250…2254 ұяшықтарында орналастырылған бес санның қосындысын анықтап, қосу нәтижесін жадының келесі бос ұяшығына жазу бағдарламасын құрайық:







; 1-бағдарлама

1

2100

3A


LDA

2250H

; A ← [2250]

2

2101

50





3

2102

22





4

2103

47


MOV

B, A

; B ← (A)

5

2104

3A


LDA

2251H

; A ← [2251]

6

2105

51





7

2106

22





8

2107

4F


MOV

C, A

; C ← (A)

9

2108

3A


LDA

2252H

; A ← [2252]

10

2109

52





11

210A

22





12

210B

57


MOV

D, A

; D ← (A)

13

210C

3A


LDA

2253H

; A ← [2253]

14

210D

53





15

210E

22





16

210F

5F


MOV

E, A

; E ← (A)

17

2110

3A


LDA

2254H

; A ← [2254]

18

2111

54





19

2112

22





20

2113

80


ADD

B

; A ← (A) + (B)

21

2114

81


ADD

C

; A ← (A) + (C)

22

2115

82


ADD

D

; A ← (A) + (D)

23

2116

83


ADD

E

; A ← (A) + (E)

24

2117

32


STA

2255H

; [2255] ← (A)

25

2118

55





26

2119

22





27

211A

FF


RST 7


;Басқару бағдарламасына қайту

Бұл бағдарламада қосылатын бес сан тура сілтемелі LDA командасымен аккумулятор арқылы жадыдан әкелініп (1-, 5-, 9-, 13-, 17-жолдар), оның алғашқы төртеуі регистрлі сілтемелі MOV командасымен микропроцессордың ішкі регистрлеріне (B, C, D, E) көшірілді (4-, 8-, 12-, 16-жолдар). Аккумулятордағы бесінші санға регистрлі сілтемелі ADD командасымен алдыңғы төрт сан қосылып (20-, 22-, 23-, 24-жолдар), алынған нәтиже жадының қажетті ұяшығына шығарылды (24-жол).
Микропроцессордың жұмыс жиілігін 1 МГц деп алып, командалардың 2.5-кестеде берілген орындалу ұзақтығы (такт саны) арқылы бүкіл бағдарламаның орындалу ұзақтығын есептеуге болады:
T = 13*6 + 4*8 + 11 = 121 такт.
Сонымен, бес санды қосуға арналған 27 жолды бағдарламаның орындалу ұзақтығы 121 мкс болды, ал бұл іс жүзінде аз уақыт емес.
Бағдарламаның көлемі мен орындалу ұзақтығын кеміту үшін, оның кемшіліктеріне көңіл бөлейік. Бірінші көзге түсетіні, бағдарлама құрамында үшбайтты 13 тактіде орындалатын 6 команда (LDA, STA) бар, тап солар бағдарламаның орындалу ұзақтығына негізгі себеп болып тұр. Сондықтан, олардың алмастырылу жолдарын анықтау керек. Ол үшін жадыға байланысқа (одан операндтарды әкелуге немесе оған жіберуге) жанама сілтемелі командалар пайдаланған ыңғайлы болады. Осы жолмен өзгертілген бес санды қосу бағдарламасын мына түрде құруға болады:







; 2-бағдарлама

1

2120

21


LXI

2250H

; HL ← 2250

2

2121

50





3

2122

22





4

2123

3E


MVI

A, 00H

; A ← 00

5

2124

00





6

2125

86


ADD

M

; A ← (A) + [(HL)]

7

2126

23


INX

H

; HL ← (HL) + 1

8

2127

86


ADD

M

; A ← (A) + [(HL)]

9

2128

23


INX

H

; HL ← (HL) + 1

10

2129

86


ADD

M

; A ← (A) + [(HL)]

11

212A

23


INX

H

; HL ← (HL) + 1

12

212B

86


ADD

M

; A ← (A) + [(HL)]

13

212C

23


INX

H

; HL ← (HL) + 1

14

212D

86


ADD

M

; A ← (A) + [(HL)]

15

212E

23


INX

H

; HL ← (HL) + 1

16

212F

77


MOV

M, A

; [(HL)] ← (A)

17

2130

FF


RST 7


;Басқару бағдарламасына қайту

Бұл бағдарламада алдымен тіке сілтемелі LXI командасымен жанама сілтеу регистрлеріне (яғни, HL жұбына) бірінші операндтың адресі жазылды (1-жол), сосын тіке сілтемелі MVI командасымен аккумулятор тазартылды (4-жол). Бұдан кейін аккумуляторға бес сан жадыдағы ретімен қосылды (6-, 8-, 10-, 12-, 14-жолдар). Әрбір келесі санның қосылар алдында HL жұбындағы адрес коды INX командасымен бірге ұлғайтылып, онда жадының келесі ұяшығының адресі анықталды (7-, 9-, 11-, 13-жолдар). Ақырында MOV командасымен акккумуляторда қалыптасқан нәтиже жадының қажетті ұяшығына жіберілді (17-жол).
Бұл бағдарламаның орындалу ұзақтығы:
T = 10 + 7 + 7*5 + 6*5 + 11 = 93 такт.
Сонымен, бес санды қосуға арналған бағдарлама 17 жолға дейін қысқартылып, оның орындалу ұзақтығы 93 мкс болды.
2.3.2. Тарамдалымды бағдарламалар
Алдыңғы бағдарламалар арқылы жүргізілген қосу операцияларының нәтижесінің разряд саны сегізден демек, оның ондық мәні 255-тен аспайды деп саналды. Асып кетер жағдайын ескеру үшін бағдарламаны өзгерту қажет болады. Бұнымен қатар, бағдарламаның әмбебаптылығын қамтамасыз ету үшін есептің берілімін өзгертелік: қосылатын операндтардың саны жадының 2250 ұяшығында, ал одан кейінгі ұяшықтарда олардың мәндері орналастырылған; нәтиже деректерден кейінгі ұяшықтарға шығарылуы керек. Бұл есептің шешілім бағдарламасын келесі түрде құруға болады:







; 3-бағдарлама

1

2140

21


LXI

2250H

; HL ← 2250

2

2141

50





3

2142

22





4

2143

4E


MOV

C, M

; C ← [(HL)]

5

2144

97


SUB

A

; A ← 00

6

2145

47


MOV

B, A

; B ← 00

7

2146

23

K1:

INX

H

; HL ← (HL) + 1

8

2147

86


ADD

M

; A ← (A) + [(HL)]

9

2148

D2


JNC

K2

; TC   1: PC ← 214C

10

2149

4C





11

214A

80





12

214B

04


INR

B

; B ← (B) + 1

13

214C

23

K2:

INX

H

; HL ← (HL) + 1

14

214D

0D


DCR

C

; C ← (C) – 1

15

214E

C2


JNZ

K1

; TZ   1: PC ← 2146

16

214F

46





17

2150

21





18

2151

C9


RET


; PC ← [(SP)]

Бағдарламаны үш бөліктен (кезеңнен) тұрады деп қарастыруға болады, олар: дайындық кезеңі, қызмет кезеңі және нәтижені шығару кезеңі. Бағдарламаның дайындық кезеңінде LXI командасы арқылы жанама сілтеу регистрлеріне (яғни, HL жұбына) жадының жұмысқа қажетті бірінші ұяшығының адресі жазылды (1-жол), сосын ондағы операндтар саны микропроцессордың С регистріне әкелінді (4-жол), бұдан кейін аккумулятор бірбайтты SUB (алу) командасы арқылы (5-жол), B регистрі оған аккумуляторды көшіру арқылы тазартылды (6-жол).
Бағдарламаның негізгі өңдеу жұмысын атқару бөлігі (қызмет кезеңі) 7...16 жолдар арасында орналасқан. Бұнда алдымен жанама сілтеу регистріндегі (яғни, HL жұбындағы) адрес ұлғайтылып (7-жол), сосын осы адрес арқылы алынған операнд аккумуляторға қосылады (8-жол). Бұдан кейін нәтиженің сегіз разрядтан асып кетуі (яғни, тасымал шығуы) JNC командасымен тексеріледі де (9-жол), тасымал тууы кезінде B регистрі бірге ұлғайтылады (12-жол), ал оның тумаған кезінде бұл команда орындалмайды. 14-жолдағы DCR командасы арқылы операндтардың санауышы (C регистрі) бірге кемітіліп, операндтардың біткен-бітпегендігі тексеріліп (15-жол), олар бітпеген жағдайында бағдарламаның негізгі жұмысы (біздің жағдайда – қосу операциялары) әрі қарай жалғастырылады (бағдарламаның бұндай құрылымы айналымды құрылым деп аталады), ал олардың біткен жағдайында бағдарлама нәтижені шығару кезеңіне ауыстырылады.
Бұл бағдарламада нәтиже екібайтты сан түрінде екі регистрде қалыптасады: оның кіші байты аккумуляторда, ал үлкен байты В регистрінде болады. Бұл бағдарламаның болашақта қосалқы бағдарлама ретінде пайдаланылу мүмкіндігін қамтамасыз ету үшін ол RET командасымен аяқталды (18-жол).
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 жолдар).
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-жолдар).
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-жолдағы).
2.3.7. Көбейту бағдарламасы
Екі санды көбейту бағдарламасын құру үшін алдымен оның алгоритмін анықталық. Цифрлық жүйеде қолданылатын екілік санау жүйесі позициялық санау жүйесі болғандықтан, бұл жүйеде көбейту операциясының жүргізілу барысы өзімізге үйреншікті тәртіппен орындалады. Төменде ондық жүйедегі екі санның көбейтілу барысының үш түрлі жазылымы келтірілген:







Бірінші жазылымда көбейткіштің разряд мәндерін өзімізге үйреншіктікті оңнан солға қарай алып көбейту тәртібі келтірілген. Екінші жазылымда көбейткіштің разряд мәндерін солдан оңға қарай алып көбейту тәртібі келтірілген. Цифрлық құрылғыларда қосу операциясы екі санға ғана жүргізілетініне байланысты ондық сандардың жеке көбейтінділерінің солай қосылғаны үшінші жазылымда келтірілді. Бұнда төртразрядты сандардың көбейтіндісі сегізразрядты болатындығы ескеріліп, операция басында нәтиже нөл мәнінде алынды және ығыстыру операциясы (олар бағыттама арқылы көрсетілген) әрбір жеке көбейту операцияларының алдында жүргізіліп, жазылым қосу операцияларын орындауға ыңғайландырылды. Тап осы жазылым тәртібі екілік сандарды цифрлық құрылғыда көбейтуге ыңғайлы келеді. Сонымен, бірбайтты екілік сандарды көбейту алгоритмі келесі тәртіппен жүзеге асырылады:
 сегізразрядты сандардың көбейтілу нәтижесі оналтыразрядты сан болатындықтан және жеке қосылымдардың да оналтыразрядты сандарға жүргізілетіндігіне байланысты, оналтыразрядты аккумулятор ретінде HL регистрлік жұбы алынып, ол операция басында тазартылады;
 DE регистрлік жұбының E регистріне бірінші сан (көбейтілгіш), ал оның D регистріне нөл енгізіліп, көбейтілгіш қосуға ыңғайлы оналтыразрядты санға айналдырылады;
 екінші сан (көбейтілгіш) оның разрядтарын ығыстырып шығару үшін аккумуляторға (сөзімізді шатыстырмас үшін, оны бұдан әрі A регистрі деп атаймыз) енгізіледі;
 ығыстыру операциясының санын бақылап отыру үшін, көбейткіштің разряд саны микропроцессордың бір регистріне (мысалы, С регистріне) енгізіледі;
 әрбір жеке көбейту алдында осы мезетке дейін жиналған нәтиже (HL жұбындағы) солға ығыстырылады;
 ығыстыру арқылы А регистрінен шығарылған көбейткіштің кезекті разрядының мәні нөл болғанда, жеке көбейту осымен бітеді (яғни, алдыңғы ығыстырыммен);
 А регистрінен шығарылған көбейткіштің кезекті разрядының мәні бір болғанда, HL жұбына DE жұбы қосылады.
Сонымен, ығыстыру операциясы сегіз рет жүргізіледі, ал қосу операциясының саны көбейткіштің құрамындағы бірліктердің санымен анықталады.
Жадының 22E0- және 22E1-ұяшықтарындағы сандарды келтірілген алгоритм бойынша көбейту бағдарламасын келесі түрде құруға болады:







; 9-бағдарлама

1

2200

3A


LDA

22E0H

; A ← [22E0]

2

2201

E0





3

2202

22





4

2203

5F


MOV

E, A

; E ← (A)

5

2204

3A


LDA

22E1H

; A ← [22E1]

6

2205

E1





7

2206

22





8

2207

16


MVI

D, 00H

; D ← 00

9

2208

00





10

2209

21


LXI

H, 0000H

; HL ← 0000

11

220A

00





12

220B

00





13

220C

0E


MVI

C, 08H

; C ← 08

14

220D

08





15

220E

29

K5:

DAD

H

; HL ← (HL) + (HL)

16

220F

07


RLC


; TC←A7

17

2210

D2


JNC

K6

; TC = 0: PC ← 2214

18

2211

14





19

2212

22





20

2213

19


DAD

D

; HL ← (HL) + (DE)

21

2214

0D

K6:

DCR

C

; C ← (C) – 1

22

2215

C2


JNZ

K5

; TZ = 0: PC ← 220E

23

2216

0E





24

2217

22





25

2218

C9


RET


; PC ← [(SP)]

Бағдарлама арқылы анықталған екі санның көбейту нәтижесі HL регистрлік жұбында қалады. Суреттелген көбейту бағдарламасын келесі бағдарламаның құрамында (10-бағдарламада) қосалқы бағдарлама ретінде пайдалану мүмкіндігін қалдыру үшін, бұл бағдарлама RET командасымен аяқталды.
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-жол), ақырғы нәтиже алынады.
2.3.9. Шешім қабылдау бағдарламалары
Микропроцессорлық басқару жүйелері, негізінде, оның ішінде туған немесе оған сырттан түскен сигналдардың мәніне байланысты шешім қабылдап, сәйкесті құрылғыларды іске қосу немесе оларды жүйе желісінен ажырату арқылы жұмыс істейді. Бұндай жағдайларды суреттейтін бірнеше мысал келтірелік:
 алшақ орналасқан екі құрылғының арасында тізбелі түрде жіберілген информацияның дұрыс жеткендігі міндетті түрде жұптық белгісі арқылы тексеріледі;
 микропроцессордың RSTn кірістеріне сыртқы құрылғылардың біреуінен түскен үзіліс сұранысына байланысты қосалқы бағдарламаға ауысу туралы шешім үзілістерге жалпы рұқсаттың алдын ала берілгендігіне (EI (Enable Interrupt) командасымен қойылған) немесе оларға тиым салынғандығына (DI (Disable Interrupt) командасымен қойылған) байланысты қабылданады. Үзіліс сұранысының жұмысына рұқсат берілген жағдайда, сәйкесті қосалқы бағдарламаның бастапқы адресі кіріс нөмірінің мәніне (n = 5,5; 6,5; 7,5) байланысты (8n) анықталады (002СН, 0034Н немесе ООЗСН);
 параллель адаптердің қай портының (PA, PB, PCH, PCL) іске қосылатындығы, оның қай бағытта (енгізу немесе шығару) дерек жіберетіндігі және қандай режимде (0, 1, 2) істейтіндігі оған жіберілген режимдік басқару сөзінің (БС1) сәйкесті разрядтарының мәндеріне байланысты анықталады. Екінші басқару сөзімен (БС2, ол қою/тазарту сөзі деп аталады) С портының жолдары арқылы жіберілетін басқару сигналдарының деңгейлері (0 немесе 1) қойылады. Басқару сөздерінің қайсысы (БС1 немесе БС2) келгендігі оның екілік кодының жетінші разрядының мәніне байланысты анықталады. Және т.б.
Бағдарламалы шешімдер көптеген жағдайда логикалық командалар арқылы жүзеге асырылады. Олардың орындалу тәртібін суреттеу мақсатында жадының 2300-ұяшығынан бастап орналастырылған таңбалы жетіразрядты 50 санға келесі операциялардың орындалу керек:
a) жұп мәнді теріс сандардың үлкен тетрадасының разряд мәндерін нөлге айналдыру керек;
b) тақ мәнді теріс сандардың үлкен тетрадасының разряд мәндерін бірге айналдыру керек;
c) жұп мәнді оң сандардың кіші тетрадасының разряд мәндерін бірге айналдыру керек;
d) тақ мәнді оң сандардың барлық разряд мәнін терістеу керек.
Әртүрлі сілтемелі логикалық командаларды пайдалану арқылы қойылған мәселелердің орындалуын келесі бағдарламамен жүзеге асыруға болады:







; 11-бағдарлама

1

2260

31


LXI

SP, 2400H

; HL ← 2400

2

2261

00





3

2262

24





4

2263

21


LXI

H, 23A0

; HL ← 2300

5

2264

00





6

2265

23





7

2266

0E


MVI

C, 32H

; C← 3216 = 5010

8

2267

32





9

2268

16


MVI

D, 0FH

; D ← 0F16 = 000011112

10

2269

0F





11

226A

1D


MVI

E, F0H

; E ← F016 = 111100002

12

226B

F0





13

226C

7E

K7:

MOV

A, M

; A ← [(HL)]

14

226D

47


MOV

B, A

; B ← (A)

15

226E

07


RLC


; A7-1 ← (A6-0), A0 ← (A7),
; TC←A7

16

226F

0F


RRC


; A6-0 ← (A7-1), A7 ← (TC),
; TC←A0

17

2270

DC




2280H

; TC = 1: SP ← (PC),PC ← 2280

18

2271

80





19

2272

22





20

2273

DA


JC

K8

; TC = 1: PC ← 2279

21

2274

79





22

2275

22





23

2276

CD


CALL

2290H

; SP ← (PC), PC ← 2290

24

2277

90





25

2278

22





26

2279

77

K8:

MOV

M, A

; [(HL)] ← (A)

27

227A

0C


INR

C

; C ← (C) – 1

27

227B

C2


JNZ

K7

; TZ = 0: PC ← 226C

28

227C

6A





29

227D

22





30

227E

76


HLT


; Тоқтатылым

31

227F






32

2280

E6


ANI

01

; A ← (A) ۸ 01

33

2281

01





34

2282

CA


JZ

K9

; TZ = 1: PC ← 228A

35

2283

8A





36

2284

22





37

2285

78


MOV

A, B

; A ← (B)

38

2286

A2


ANA

D

; A ← (A) ۸ (D)

39

2287

CA


JMP

KA

; PC ← 228C

40

2288

8C





41

2289

22





42

228A

78

K9:

MOV

A, B

; A ← (B)

43

228B

B3


ORA

E

; A ← (A) ۷ (E)

44

228C

C9

KA:

RET


; PC ← [(SP)]

45

228D






46

228E






47

228F






48

2290

E6


ANI

01

; A ← (A) ۸ 01

49

2291

01





50

2292

CA


JZ

KC

; TZ = 1: PC ← 229B

51

2293

9B





52

2294

22





53

2295

78


MOV

A, B

; A ← (B)

54

2296

F6


ORI

0FH

; A ← (A) ۷ 0F

55

2297

0F





56

2298

C3


JMP

KD

; PC ← 229E

57

2299

9E





58

229A

22





59

229B

78

KC:

MOV

A, B

; A ← (B)

60

229C

EE


XRI

FF

; A ← (A)   FF

61

229D

FF





62

229E

C9

KD:

RET


; PC ← [(SP)]

Бұл бағдарлама қосалқы бағдарламалармен жұмыс істейтін болғандықтан, оларға ауысу кезінде негізгі бағдарламаға қайту мүмкіндігін қамтамасыз ету үшін негізгі бағдарламаның дайындық кезеңінің басында (1-жол) жадының нақтылы аймағы стекке бөлініп, оның түбі (SP) белгіленді.
Жанама сілтеу регистрлеріне (яғни, HL жұбына) бірінші операндтың адресі енгізіліп (4-жол), С регистріне жадыдан шығарылатын операндтардың саны жазылды (7-жол). Сосын D және E регистрлеріне болашақ операцияларға қажетті тұрақты операндтар енгізілді (9-, 11-жолдар).
Негізгі бағдарламаның қызмет кезеңінде кезекті сан аккумуляторға (13-жол) және В регистріне енгізілді (14-жол). Аккумулятор солға ығыстырылып (15-жол), оның ығысып шыққан 7-разрядының мәні (TC) арқылы бұл санның таңбасы анықталады да (TC = 0 – оң сан, TC = 1 – теріс сан), сәйкесті қосалқы бағдарлама шақырылады (17-, 23-жолдар).
Бірінші қосалқы бағдарламада (32…44-жолдар) теріс санға байланысты мәселелер шешіледі. Санның жұптығы (немесе тақтығы) оның кіші разрядының мәніне (0 – жұп сан, 1 – тақ сан) байланысты анықталады (32-жол).
D регистріндегі тұрақтымен (00001111) жүргізілген логикалық көбейту операциясы (38-жол) жұп санның үлкен тетрадасының разряд мәндерін нөлге айналдырады, ал E регистріндегі тұрақтымен (11110000) жүргізілген логикалық қосу операциясы (43-жол) жұп санның үлкен тетрадасының разряд мәндерін бірге айналдырады.
Екінші қосалқы бағдарламада (48…62-жолдар) оң санға байланысты мәселелер шешіледі. Санның жұптығы (немесе тақтығы) алдыңғы қосалқы бағдарламадағыдай анықталады (48-жол).
Тіке сілтемелі ORI командасы арқылы 0F (00001111) тұрақтысымен жүргізілген логикалық қосу операциясы (54-жол) тақ санның үлкен тетрадасының разряд мәндерін бірге айналдырады, ал XRI командасы арқылы FF (11111111) тұрақтысымен жүргізілген екілік қосу операциясы (60-жол) тақ санның барлық разряд мәнін терістейді.
Жоғарыда келтірілген бағдарламаларды (яғни, олардың екінші (жады ұяшығының адрестері) және үшінші (команда кодтары мен операндтар) бағаналарындағы мәліметтерді) оқу жүйесінде пайдаланылатын микропроцессорлық жүйелердің зертханалық құрылымдарының жадысына енгізіп, олардың жұмысын тексеруге болады. Тексерімді (яғни, микропроцессордың регистрлері мен жады ұяшықтарындағы өзгерістерді) бағдарлама жұмысы толықтай біткен кезде немесе әрбір команданың орындалғанынан кейін (ол қадамдық режим деп аталады) жүргізуге болады. Зертханалық құрылымның құрамында ассемблер тілінде құрылған бағдарламаларды машина тіліне аударушы Ассемблер бағдарламасы болған жағдайда, әрине, оларға бағдарлама мнемоникалық жазылым түрінде енгізіледі.


Әдебиеттер тізімі
1. Токхейм Р. Основы цифровой электроники: Пер. с. англ. – М.: Мир, 1988.
2. Токхейм Р. Микропроцессоры. Курс и упражнения: Пер. с. англ. – М.: Мир, 1988.
3. Уэйкерли Дж. Ф. Проектирование цифровых устройств: Пер. с. англ. – М.: Постмаркет, 2002.
4. Опадчий Ю. Ф., Глудкин О. П., Гуров А. И. Аналоговая и цифровая электроника / Под ред. О.П. Глудкина. – М.: Радио и связь, 2003.
5. Хамахер К. И др. Организация ЭВМ. Пер. с. англ. – СПб.: Питер, 2003.
6. Угрюмов Е. П. Цифровая схемотехника. – СПб.: БХВ-Петербург, 2004.
7. Бойко В.И. и др. Схемотехника электронных устройств. Цифровые устройства. – СПб.: БХВ-Петербург, 2004.
8. Бойко В.И. и др. Схемотехника электронных устройств. Микропроцессоры и микроконтроллеры. – СПб.: БХВ-Петербург, 2004.
9. Сугано Т. Дж., Уидмер Н. С. Цифровые системы. Теория и практика: Пер. с англ. – М.: Издательский дом “Вильямс”, 2004.
10. Бураханова З.М., Шанаев О.Т. Аналогты және цифрлы электрондық құрылғылар / Оқу құралы. – Алматы: АЭИ, 1992.
11. Бураханова З.М., Шанаев О.Т. Электрондық тізбектер / Оқу құралы. – Алматы: АЭИ, 1996.
12. Бураханова З.М. Дербес ЭЕМ арқылы схемақұралыстық моделдеу / Оқу құралы. – Алматы: АЭжБИ, 1999.
13. Шанаев У.Т. Основы цифровой техники / Учебное пособие. – Алматы: АГУ, 1999.
14. Шанаев О.Т. Цифрлық құрылғылар және микропроцессорлар. Зертханалық жұмыстарға арналған әдістемелік нұсқаулар. – Алматы: АИЭС, 2008.
15. Шанаев О.Т. Цифрлық құрылғылар және микропроцессорлар. Курстық жұмыстарды орындауға арналған әдістемелік нұсқаулар. – Алматы: АИЭС, 2008.
16. Шанаев О.Т. Микропроцессорлық жүйелердің құрылғылары. Зертханалық жұмыстарды орындауға арналған әдістемелік нұсқаулар. – Алматы: АИЭС, 2009.
17. Шанаев О.Т. Electronic Workbench моделдеу жүйесі / казақ және орыс тілдерінде. – Алматы, 2003.
Мазмұны 
Кіріспе
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.2.3 Теңдік және теңсіздік функциялары
1.1.3 Логика алгебрасының заңдары мен заңдылықтары
1.1.4 Күрделі функциялар
1.1.4.1 Логикалық функцияларды минимизизациялау
1.1.4.1.1 Тікелей түрлендіру тәсілі
1.1.4.1.2 Карно картасы арқылы түрлендіру
1.1.4.1.3 Арнайы түрлендіргішті пайдалану
1.2 Қиыстырма құрылғылар
1.2.1 Логикалық элементтер
1.2.1.1 Логикалық элементтердің тез әрекеттілігі
1.2.2 Қиыстырма құрылғыларды құру тәртібі
1.2.3 Қалыпты қиыстырма құрылғылар
1.2.3.1 Шифраторлар
1.2.3.1.1 Шифратордың өлшемін ұлғайту
1.2.3.2 Дешифраторлар
1.2.3.2.1 Дешифратор негізінде қиыстырма құрылғы құру
1.2.3.3 Мультиплексорлар
1.2.3.3.1 Мультиплексор негізінде қиыстырма құрылғы құру
1.2.3.4 Демультиплексорлар
1.2.3.5 Қосуыштар
1.2.3.5.1 Бірразрядты қосуыштар
1.2.3.5.2 Көпразрядты қосуыштар
1.3 Тізбектеме құрылғылар
1.3.1 Триггерлер
1.3.1.1 Асинхронды RS-триггерлер
1.3.1.1.1 Тура кірісті RS-триггер
1.3.1.1.2 Теріс кірісті RS-триггер
1.3.1.2 Синхронды триггерлер
1.3.1.2.1 Синхронды RS-триггер
1.3.1.2.2 Статикалы басқарылымды D-триггер
1.3.1.2.3 Динамикалы басқарылымды триггерлер
1.3.2 Регистрлер
1.3.3 Санауыштар
1.4 Жадылық құрылғылар
1.4.1 Жадылық құрылғылардың басқару сигналдары
1.4.2 Жадылық құрылғылардың басты параметрлері
1.4.3 Жадылық құрылғылардың негізгі түрлері
1.4.4 Жадылық құрылғылардың негізгі құрылымдары
1.4.4.1 2құрылымы
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.4.5.3 EPROM және EEPROM құрылғылары
2 Микропроцессорлар және микропроцессорлық жүйелер
2.1 Микропроцессорлық жүйелердің құрылым принциптері
2.2 Intel 8085 микропроцессоры
2.2.1. Микропроцессордың құрылымы
2.2.2. Микропроцессордың басқару сигналдары
2.2.3. Микропроцессордың жұмыс тәртібі
2.2.4. Микропроцессордың үзіліс жүйесі
2.2.5. Микропроцессордың тізбекті енгізу/шығару жүйесі
2.2.6. Микропроцессордың командалар жүйесі
2.2.7. Микропроцессорда қолданылатын сілтеу тәсілдері
2.3 Микропроцессорлық жүйенің жұмысын бағдарлау
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. Шешім қабылдау бағдарламалары
Әдебиеттер тізімі 

Достарыңызбен бөлісу:
1   ...   8   9   10   11   12   13   14   15   16




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет