Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TsUiMP_lektsia.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
246.44 Кб
Скачать

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-жолдар).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]