Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задание N 4.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
199.17 Кб
Скачать

2. Задание для домашней подготовки.

  1. Повторить основные узлы МК51;

  2. Повторить форматы данных и команд МК51;

  3. Повторить способы адресации данных МК51;

  4. Повторить организацию пространства BSEG;

  5. Повторить битовые операции.

3. Порядок выполнения работы.

  1. Ознакомиться с заданием и проанализировать его.

  2. Составить программу согласно заданию в кодах МК51.

  3. Набрать текст составленной программы в текстовом редакторе отладчика.

  4. Выполнить трансляцию программы (в случае возникновения ошибок исправить их).

  5. Выполнить пошаговое выполнение программы и убедиться в правильности ее работы (в случае неправильности внести исправления в текст программы и повторить п.4-5)

4. Задание по лабораторной работе.

Пусть в DSEG в ячейке ADR2 расположен код CODE.

Записать на языке ассемблера МК51 программу, которая выполняет вычисление заданной булевой функции F над этими кодами. Результат вычисления должен быть записан по адресу ADR3. Программа должна начинаться с ячейки ADR1. Варианты заданий приведены в таблице 3.

Таблица 3. Таблица вариантов заданий

Номер

ADR1

ADR2

CODE

ADR3

01

333

43

FE

7A

02

A45

54

3F

4B

03

563

62

5D

6C

04

234

71

7C

7D

05

D41

12

8B

1E

06

872

23

7A

2F

07

45F

34

1E

4F

08

32E

45

F2

5A

09

695

56

E3

6B

10

5A2

67

FA

3C

11

4B3

78

A5

4D

12

3C4

23

56

5E

13

2DF

3A

F7

6F

14

1E3

4B

A8

7A

15

7FE

5C

48

5B

16

6E2

6D

29

6C

17

5A2

7E

F3

3D

18

4D4

1F

E2

5E

19

3C3

2E

D3

6F

20

261

3D

A4

5A

21

38F

5D

B5

3D

22

2CC

53

3D

2E

23

3D3

6A

4F

3E

24

7E3

7B

8F

48

25

2F4

5E

6D

5B

26

4E4

45

D9

6C

27

6E2

56

F7

3D

28

5A2

67

A8

2E

29

4D4

78

48

3E

30

3C3

23

29

48

31

261

3A

F3

5B

Вид функции F для вычисления определяется следующим образом: пусть YZ номер студента в списке группы (для номеров меньше 10 первая цифра 0).

Код CODE имеет формат (поразрядно)

Х7

Х6

Х5

Х4

Х3

Х2

Х1

Х0

F=(X7)OP1(X6)OP2(X5)OP3(X4)OP4(X3)OP5(X2)OP6(X1)OP7(X0),

где ОР – булева операция, находится из таблицы 4, а каждая переменная Х может входить в выражение прямо или инверсно (определяется по таблице 5).

Таблица 4. Определение параметра ОР.

Z

0

1

2

3

4

5

6

7

8

9

OP1

/\

/\

/\

/\

/\

\/

\/

\/

\/

\/

OP2

/\

/\

/\

\/

\/

\/

\/

OP3

\/

\/

\/

\/

/\

OP4

\/

/\

\/

/\

/\

/\

\/

\/

OP5

/\

/\

\/

\/

\/

OP6

\/

/\

\/

/\

/\

/\

/\

OP7

\/

\/

/\

\/

/\ - операция И (AND)

\/ - операция ИЛИ (OR)

 - операция исключающее ИЛИ (XOR)

Таблица 5. Значения переменных.

X

0

1

2

3

4

5

6

7

8

9

X0

П

И

П

И

П

И

П

И

П

И

X1

П

П

П

П

И

И

И

И

И

И

X2

П

П

И

И

И

П

П

И

И

П

X3

И

И

И

П

П

П

И

И

И

И

X4

И

И

И

П

И

П

П

И

П

П

X5

П

И

И

П

И

П

П

П

И

И

X6

И

П

П

П

И

И

П

П

П

П

X7

П

П

П

П

П

П

П

П

П

П

П – переменная в функцию входит прямо (без инверсии)

И – переменная в функцию входит инверсно

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