Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
pr_ak_RPZ_10.DOC
Скачиваний:
1
Добавлен:
20.11.2019
Размер:
260.1 Кб
Скачать
    1. Розминка

  • Встановіть всі біти регістра в стан логічної одиниці (1 бал – правильно; 0 балів - неправильно)

  • Встановіть всі біти регістра в стан логічного нуля (1 бал – правильно; 0 балів - неправильно)

  • Відобразіть код “бігуча одиниця”: за 8 тактів здійсніть почергове встановлення бітів в стан логічної одиниці від 0-го до 7-го. Встановлення здійснювати у момент переходу від стану логічного нуля до стану логічної одиниці, тобто за фронтом наростання. Зміну станів логічного нуля і одиниці здійснює викладач. (2 бали – правильно і вчасно; 1 бал – правильно та невчасно; 0 балів - неправильно)

  • Відобразіть код “бігучий нуль”: аналогічна процедура, але напрям зворотній – від старших бітів до молодших. (2 бали – правильно і вчасно; 1 бал – правильно та невчасно; 0 балів - неправильно)

3.2. Привітання

Вправа проводиться із урахуванням часу на відповідь. Тому журі фіксує час виконання завдання кожною командою.

Капітани команд почергово пишуть на дошці дві шістнадцяткові цифри, а команди відображають біти в регістрі відповідно до вказаного значення. (2 бали – правильно і швидше; 1 бал – правильно, але із запізненням; 0 балів - неправильно)

3.3. Виконання команд мовою асемблер Вправа проводиться для команд одночасно: а) викладач пише на дошці поточне значення у регістрах, які будуть використовуватись, та команду мовою асемблер:

- арифметичні операції: додавання;

  • логічні операції: “І”, “АБО”, “Виключне АБО”, “Інверсія”.

б) команди відображають результат дії операції, а капітани (після сформованого результату) записують та називають ім’я регістра, в якому знаходиться результат (2 бали – правильно і швидше; 1 бал – правильно, але із запізненням; 0 балів - неправильно).

3.4. Перевірка роботи прапорців регістра прапорців

3.4.1 Викладач дає кожній команді по два прапорці: cf і pf, af і zf, sf і of та завдання визначити назву, номер біта та призначення отриманих прапорців. Потім два учасники із кожної команди кажуть назву, номер біта, призначення і принцип роботи свого прапорця. (2 бали – правильно; 1 бал – не повністю правильно, тобто із допущеними помилками; 0 балів - неправильно).

3.4.2 Викладач почергово пише на дошці для окремих прапорців (cf, pf, sf, zf) команду мовою асемблер, а команди відображають вміст регістра результату та вказаного прапорця. (2 бали – правильно і швидше; 1 бал – правильно, але із запізненням; 0 балів - неправильно).

VII. Підрахунок балів та оцінювання Максимальна кількість балів – 30 Література:

1. Юров В. Assembler. - СПб.: Питер, 2001

2. Якименко Ю.І, Мікропроцесорна техніка: Підручник 2-е видання - К.: Кондор, 2004 -440с.

Практичне заняття №6

Тема: "Команди процесора мовою асемблер".

Мета: навчитись складати програми із переходами на мові асемблер

План

1. Ознайомлення з короткими теоретичними відомостями.

Короткі теоретичні відомості

Етапи складання програми при вирішенні задачі:

1) визначення елементів обробки та зберігання (регістри, комірки пам'яті) для змінних чи початкових даних, проміжних та кінцевих результатів;

2) складання алгоритму розв’язку (блок-схеми);

3) написання програмного коду;

При виконанні лінійної програми процесор виконує команди які розміщені одна за одною. Якщо у програмі є команда переходу, то вона змінює послідовність виконання команд, вказуючи процесору номер саме тієї команди яка має виконатись наступною.

Команди умовного переходу виконують зміну адреси команди, аналізуючи прапорці які встановились після виконання попередньої команди. Для реалізації умовного переходу перед командою умовного переходу виконують команду порівняння двох значень, яка виконавшись встановить прапорці.

Команда циклу автоматично виконує такі команди: зменшення регістра лічильника циклів, порівняння його в нулем, ставить у лічильнику команд номер команди початку циклу при виконанні умови циклу. При невиконанні умови у лічильнику команд встановиться номер наступної команди після команди циклу.

2. Виконання тестів.

Тест 1. Написати будь-яких 5 команд передачі управління

Тест 2. Описати команду переходу, згідно із варіантом у таблиці (32 варіанти).

№ вар.

Команда

№ вар.

Команда

№ вар.

Команда

№ вар.

Команда

1

Jmp

9

Jbe

17

Jna

25

Jne

2

Je

10

Ja

18

Jnbe

26

Jnp

3

Jne

11

Jae

19

Jnb

27

Jnz

4

Jl

12

Jnge

20

Jc

28

Jns

5

Jle

13

Jng

21

Jp

29

Jno

6

Jg

14

Jnle

22

Jz

30

Jcxz

7

Jge

15

Jnl

23

Js

31

Jncxz

8

Jb

16

Jnae

24

Jo

32

Loop

3. Виконання завдання 1.

Завдання 1. Знайти значення функції при заданих умовах. (30 варіантів)

з/п

Функція і умова

з/п

Функція і умова

1

(2-В)^(C+D) A<C

A^(D-C) A=C

(5+C)\/D A>C

16

(C-D)^(6+B) A<D

(A+7) D A=D

(8+C)\/A A>D

2

(3+В)^(C-D) B<C

A (С-В) B=C

(6-C)\/A B>C

17

(4-C)^(D+A) D<C

(A+C)\/(D-6) D>C

3

(4-В)^(C+D) D<C

A\/D-C D=C

(7+C) D D>C

18

(B+4)^(C-D) A<D

(B+C)\/(5-A) A>D

4

(5-В)^(C+D) A<B

A^(D-C) A=B

(8+C)\/D A>B

19

C\/(D-A)+4 D≤C

(7+C)^(B-D) D>C

5

(6-В) (C+A) A<C

B^(D-C) A=C

(8+C)\/A A>C

20

(5+D)^(A-B) A<B

(A-C)\/(D+7) A>B

6

(7+A) (B+D) A<D

D^(A-C) A=D

(9+C)\/D A>D

21

D^(B-C)+5 A≥B

(8+C) (B-A) A<B

7

(7+A) (B+D) A<D

D^(A-C) A=D

(9+C)\/D A>D

22

(6+A) (C-D) C<D

(A+C)\/(D-8) C>D

8

(9-В) (C+D) D>C

C^(A-D) D<C

(5+C)\/D D=C

23

(D+A)\/(7-C) D<B

(A+8) D D=B

(9+C)^A D>B

9

2-В (C+D) A<C

A^(D-C) A=C

(5+C)\/D A>C

24

(4+C)^A-B D>B

(D+A)\/(6-C) D<B

10

(A-В)\/(4+D) A<B

(A+5)^D A=B

(6+C) A A>B

25

B (A-C)+6 A≥C

(7+D)\/(B-A) A<C

11

(2-В)^(C+D) A<C

(A+C)\/(D-4) A>C

26

(5+C)^A-B D<B

(B-A)\/(7+D) D>B

12

A^(D-C)+2 A≤C

(5+C)\/(D-B) A>C

27

(B+3)^(C-D) C=D

(A+C) (4-D) C>D

13

B^(A-C)+3 B≤C

(6+C)\/(D-A) B>C

28

A (D-C)+7 B≥C

(8+D)\/(B-A) B<C

14

(3+A)^(B-C) B<C

(A-C)\/(D+5) B>C

29

(6+C)^A-B A>B

(C+A) (8-B) A<B

15

(B+C) (5-A) A<C

(A+6)\/D A=C

(7+C)^A A>C

30

(7+C)^A-B C>B

(D+B)\/(9-A) C<B

Числа A, B, C, D знаходяться відповідно регістрах AL=24, BL=23, CL=21, DL=22. Результат занести в стек, порт 33 і комірку 3313.

3. Виконання завдання 2

Завдання 2. Занести у стек номера варіантів, починаючи із свого порядкового номера у журналі групи.

Рекомендація: завдання виконати за допомогою циклічної програми із умовним переходом (тут використати одну із команд аналізу прапорців);

Додаткова інформація для самостійного опрацювання та виконання завдань міститься у файлі PR_EKZ.zip.

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