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

Лабораторна робота №5

Тема: Робота з масивами

Мета: навчитися користуватися командами для організації масивів

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

Приклад. З двох масивiв {x } i {y } сформувати масив {z } згiдно з формулою z = (2x – 18 + 4y) /2

org 0800h

lxi h,xxx

lxi d,yyy

lxi b,zzz

next: push b

mov a,m

add a

sui 18

mov b,a

ldax d

add a

add a

add b

stc

cmc

rar

pop b

stax b

inx h

inx b

inx d

lda kil

dcr a

sta kil

jnz next

hlt

kil: db 5

xxx: db 5,4,8,19,2

yyy: db 7,12,8,9,4

zzz: db 0

end

Блок – схема Програма

HL  XXX

DE  YYY

BC  ZZZ

стек  BC

A {(HL)}

A  A + A

A  A - 18

B  A

A {(DE)}

A  A + A

A  A + A

A  A + B

A /2

BC  стек

{(BC)} A

HL  HL + 1

BC  BC + 1

DE  DE + 1

A  (KIL)

A  A - 1

(KIL)  A

Завдання: Написати алгоритм і програму у відповідності з вказаним варіантом. Програму розпочати з адреси 800H+N, N - номер варіанту. Програму відлагодити за допомогою емулятору, перевірити результати.

Варiант 1

Знайти max число в масивi однобайтних чисел

Варiант 2

Знайти середнє арифметичне 8-ми однобайтних чисел, сума - двохбайтна.

Варiант 3

Сформувати масив В з додатних елементiв масиву А.

Варiант 4

З двох масивiв {x } i {y } сформувати масив {z } згiдно з формулою

z = x V y

Варiант 5

Подiлити на 4 двохбайтне число методом зсуву.

Варiант 6

З двох масивiв {x } i {y } сформувати масив {z } згiдно з формулою

z = x V y

Варiант 7

В масивi двохбайтних чисел обнулити вiд'ємнi.

Варiант 8

З двох масивiв {x } i {y } сформувати масив {z } згiдно з формулою

__

z = x V y

Варiант 9

З двох масивiв {x } i {y } сформувати масив {z } згiдно з формулою

__

z = x ^ y

Варiант 10

Представити старшу тетpаду заданого коду у виглядi двійково - десяткового коду.

Варiант 11

Збiльшити елементи масиву на 10

Варiант 12

З двох масивiв {x} i {y} сформувати масив {z } згiдно з формулою

_____

z = x ^ y

Варiант 13

Елементам масиву, коди яких мають непарне число одиниць, присвоїти код 0ААН.

Варiант 14

Сформувати масив А з масивiв А i В за формулою:

aі = bі ,якщо i=2*k+1, k=0,1,2...

aі = 0 ,якщо i=4*k, k=0,1,2...

aі = aі в останнiх випадках.

Варiант 15

З двох масивiв {x } i {y } сформувати масив {z } згiдно з формулою

__

z = x V y

Варiант 16

В масивi однобайтних кодiв елементам, що мають "1" в 6-му розрядi

присвоїти код 0FFH.

Варiант 17

Помножити на 4 елементи масиву методом зсуву.

Варiант 18

З двох масивiв {а } i {в } сформувати масив {z } згiдно з формулою

_

z = а + в

Варiант 19

В масивi однобайтних кодiв елементам, що мають "1" в 2-му розрядi

присвоїти код 55H.

Варiант 20

Сформувати масив В з вiд'ємних елементiв масиву А.

Варiант 21

В масивi однобайтних кодiв елементам, що мають парне число одиниць

присвоїти код 40H.

Варiант 22

З масиву А {aі } i=0,1,2,...,10 сформувати масив В за формулою:

bі = a10-і

Варiант 23

Зменшити елементи масиву на 10

Варiант 24

Подiлити на 4 елементи масиву методом зсуву.

Варiант 25

З масиву А утворити масив В за алгоритмом:

якщо iндекс елемента масиву А кратний 4, то bі = 0, в iнших випадках bі = аі .

Варiант 26

Сформувати масив В з масиву А за формулою:

i

bі = ∑ aк ( k=0,1,...,i )

k=0

Варiант 27

Представити молодшу тетpаду заданого коду в двійково - десятковому виглядi.

Варiант 28

Сформувати масив А за формулою:

aі = 2*i

Варiант 29

З двох масивiв А i В зробити масив А за наступним алгоритмом:

aі = max{aі,bі }

Варiант 30

Сформувати з двохбайтного масиву кодiв А={aі }, масив В за формулою:

_

bі = aі

Контрольні питання:

  1. Які команди використовують для роботи із стеком ?

  2. Яким чином можна організувати лічильник, якщо вільний лише регістр А ?

  3. Яку адресацію мають команди LDAX B i STAX B ?

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