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

5. Содержание отчета

  • Задание по лабораторной работе;

  • Текст программы с комментариями;

  • Контрольный просчет задания;

  • Краткое описание сегмента BSEG;

  • Краткое описание битовых команд.

6. Пример выполнения задания.

Рассмотрим 29 вариант.

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

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

Вариант 29. Из таблицы определение параметра ОР выберем 9 столбец:

Z

9

OP1

\/

OP2

\/

OP3

/\

OP4

\/

OP5

OP6

/\

OP7

\/

Из таблицы значения переменных выберем 2 столбец:

X

2

X0

П

X1

П

X2

И

X3

И

X4

И

X5

И

X6

П

X7

П

В результате получим функцию .

Пример программы на ассемблере для решения поставленной задачи:

org 0

jmp start

org 04D4h

start:

mov 20h,78h ; переносим CODE в битовое пространство

mov c,7 ; c=x7

orl c,6 ; c=x7 or x6

orl c,/5 ; c=x7 or x6 or not(x5)

anl c,/4 ; c=x7 or x6 or not(x5) and not(x4)

orl c,/3 ; c=x7 or x6 or not(x5) and not(x4) or not(x3)

; вычисление (x7 or x6 or not(x5) and not(x4) or not(x3)) xor not(x2)

mov 8,c

cpl c

anl c,/2

mov 9,c

mov c,2

anl c,8

orl c,9

; c=(x7 or x6 or not(x5) and not(x4) or not(x3)) xor not(x2) and x1

anl c,1

; c=(x7 or x6 or not(x5) and not(x4) or not(x3)) xor not(x2) and x1 or x0

orl c,0

mov 3Eh,c ; сохранить F в 3Eh

jmp $ ; конец программы

end

Результат программы: F=0

Контрольный просчет: 48h=01001000b

5

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