/
Міністерство освіти і науки України
Центральна спілка споживчих товариств України
Кіровоградський кооперативний коледж
економіки і права імені М.П.Сая
Лабораторні роботи
Дисципліна: «Програмування мовою Ассемблер»
Виконав: ст.гр. РПЗ9/11-10-46
Резенко М.С.
Перевірила: Чумак К.А.
Кіровоград 2013
Практична робота №1
Тема: «Команди пересилання даних»
Мета: «Оволодіти навичками роботи з цілими значеннями за допомогою арифметичних команд»
Завдання: Обчислити вираз:
182-56 = z
Програма:
MVI A,18; A<=18
ADD A; A<=A+A
MOV B,A; B<=A
MVI A,56; A<=56
SUB B; A<=A-B
ADD A; A<=A+A
SUI 19; A<=A-19
STC
CMC
RAR
hlt
end
Практична робота №2
Тема: «Механізм роботи команд передачі керування мови Assembler»
Мета: «Оволодівання навичками роботи з командами передачі керування»
Завдання: Відлагодити програму за допомогою валідатора, у разі помилки виправити її.
Програма:
ORG 800H
LDA xxx; A(xxx)
ADD A; AA+A
ADI 25; AA+25
MOV B,A; BA
LDA yyy
ADD A
ADD A
MOV C,A; CA
MOV A,B
SUB C; AA-C
STC
CMC
RAR
ADI 12
STA zzz
HLT
xxx: DB 10
yyy: DB 16
zzz: DB 0
END
Практична робота №3
Тема: «Механізм роботи команд, обробки масивів даних, мови Assembler»
Мета: «Навчитися працювати з масивами даних»
Завдання: Відкомпілювати програму.
Програма:
ORG 800H
LDA xxx
CPI 8
JM RRR; A<=8
JZ RRR
MOV B,A
LDA yyy
SUB B
STC
CMC
RAR
JMP kon
RRR: ADD A
MVI B,18; 2x-18
SUB B
kon: STA zzz
HLT
xxx: DB 8
yyy: DB 9
zzz: DB 0
END
Практична робота №4
Тема: «Механізм роботи логічних команд, та команд зсуву даних.»
Мета: «Опрацювання логічних команд та зсуву.
Завдання: Відлагодити програму.
Програма:
ORG 800H
LDA kol
MOV B,A; к-сть елементів
MVI C,0; лічильник чисел
LXI H, MAS
NEXT: MOV A,M
ANI 80H; маска
; 10000000 B
JZ TTT
INR C
TTT: INX H
DCR B
JNZ NEXT
MOV A,C
STA REZ
HLT
KOL:DB 8
MAS: DB -2,2,-3,4,5,6,7,-12
REZ: DB 0
END
Практична робота №5
Тема: «Типи даних “FPU”. Система регістрів.»
Мета: «Оволодіти навичками роботи з типами даних “FPU”»
Завдання: Скласти підпрограму зсуву елементів масиву на певне число кроків вліво.
Практична робота №6
Тема: «Система команд FPU»
Мета: «Оволодіти навичками роботи з FPU»
Завдання: З двох масивів {x} і {y} сформувати масив {z} згідно з:
Z=(2x-18+4y)/2
Практична робота №7
Тема: «Програма та її структура на мові Assembler. Директиви.»
Мета: «Навчитися працювати з директивами мови Assembler.»
Завдання: Написати алгоритм і програму для підрахунку в однобайтному масиві чисел чисел, які мають в 7-біті одиницю, тобто кількість від'ємних чисел.
Практична робота №8
Тема: «Текстовий режим роботи відеоадаптера»
Мета: «Оволодіти навичками роботи з відеоадаптером»
Завдання: Написати алгоритм і програму для обчислення величини “z”.
z= 2x-18 якщо x<=8 x1=8 x2=10
(y-x)/2 якщо x>8 y1=9 y2=16
Практична робота №9
Тема: «Системні функції (переривання 21H). Доступ до файлів.»
Мета: «Оволодіти навичками роботи з перериваннями для роботи з файлами.»
Завдання: Необхідно підрахувати кількість букв `a' в масиві, якщо масив закінчується символом `%'.
assembler регістр директива арифметичний