
- •Робота з компілятором ср/м
- •Інструментальні засоби динамічного відлагодження програм
- •Програмні засоби організації програми
- •Текст програми
- •Результати виконання програми
- •Міністерство освіти та науки України Національний університет “Львівська політехніка” Інститут комп’ютерних наук та інформаційних технологій
- •Способи адресації операндів і команди пересилання даних однокристального мп кр580
- •Теоретичні відомості Способи адресації в мп кр580
- •2.2. Команди пересилання даних мп кр580
- •Наприклад :
- •2.3. Стек і команди роботи зі стеком в однокристальному мп кр580
- •Карта пам'яті
- •Текст програми
- •Результати виконання програми
- •Теоретичні відомості
- •2. Короткі теоретичні відомості
- •Карта пам'яті
- •Текст програми
- •Результати виконання програми
- •Теоретичні відомості
- •2. 6. С умова адреси - умовний виклик підпрограми.
- •2. 8. R умова - умовне повернення з підпрограми.
- •2. 10. Організація підпрограм.
- •Карта пам’яті Текст програми
- •Результати виконання програми:
- •Теоретичні відомості
- •Арифметична операція множення
- •Арифметична операція ділення
- •Словесний опис алгоритму
- •Приклад множення чисел
- •Запис початкових даних
- •Додання
- •Другого множника
- •Зсув першого множника
- •Результати виконання програми
- •Міністерство освіти та науки України Національний університет “Львівська політехніка” Інститут комп’ютерних наук та інформаційних технологій
- •Теоретичні відомості
- •Арифметична операція додавання чисел в bcd кодах
- •2.2 Арифметична операція віднімання чисел в bcd кодах
- •2.3 Арифметична операція додавання/віднімання знакових чисел в bcd кодах
- •Перетворення чисел двійково-десяткового формату в двійковий формат і з двійкового формату в bcd-коди.
- •Карта пам'яті
- •Код програми
- •Зміст файлу lr6.Prn
- •Результати виконання програми
- •Теоретичні відомості
- •Додавання та віднімання багаторозрядних чисел цілого типу
- •Множення та ділення багаторозрядних чисел цілого типу
- •Арифметичні операції над дійсними числами
- •3.1 Арифметичні операції над числами в форматі з фіксованою комою
- •Арифметичні операції над числами в форматі з плаваючою комою
- •Код програми
- •Зміст файлу lr7.Prn
- •Результати виконання програми
Карта пам’яті Текст програми
org 100h ; перехід на початкову адресу 100h
mvi A,137
mvi B,5
lxi H,200h ;встановлення активної комірки пам'яті в 200h
dataSet: ; мітка
mov M,A ;з акумулятора в пам'ять
inr L ; інкремент L
dcr A ; декремент А
dcr B ; декремент В
jnz dataSet ;повернутись до мітки dataSet, якщо вміст B не дорівнює нулю
lxi SP,300h ; встановлення верхівки стеку
lxi H,200h ;встановлення активної комірки пам'яті в 200h
lxi D,201h ;встановлення активної комірки пам'яті в 201h
mvi B,2
lda 201h ;завантажити в акумулятор безпосередньо вміст комірки пам'яті
jpe parnist ; перехід, якщо Р=1 (парність)
dataAbo ; мітка
ldax D ; дане –> аккумулятор, яке знаходиться в комірці, адреса якої в DE
ora M ; логічне додавання вмісту комірки пам'яті і акумулятора
push A ;занесення в верхівку стеку числа з А
inr L ; інкремент L
inr L ; інкремент L
inr E ; інкремент E
inr E ; інкремент E
dcr B ; декремент В
jnz dataAbo ;повернутись до мітки dataAbo, якщо вміст B не дорівнює нулю
jmp kinec ;безумовний перехід до кінця програми якщо B=0
parnist ; мітка, яка виконується при виконанні умови парності
dataAnd ; мітка
ldax D ; дане –> аккумулятор, яке знаходиться в комірці, адреса якої в DE
ana M ;логічне множення вмісту комірки пам'яті і акумулятора
push A;занесення в верхівку стеку числа з А
inr L ; інкремент L
inr L ; інкремент L
inr E ; інкремент E
inr E ; інкремент E
dcr B ; декремент В
jnz dataAnd ;повернутись до мітки dataAnd, якщо вміст B не дорівнює нулю
kinec ; мітка виходу з програми
nop
hlt
Результати виконання програми:
E:[cpm] d lr4.com
DDT VERS 1.0
NEXT PC
0180 0100
-t10
C0Z0M0E0I0 A=00 B=0000 D=0000 H=0000 S=0100 P=0100 MVI A,89
C0Z0M0E0I0 A=89 B=0000 D=0000 H=0000 S=0100 P=0102 MVI B,05
C0Z0M0E0I0 A=89 B=0500 D=0000 H=0000 S=0100 P=0104 LXI H,0200
C0Z0M0E0I0 A=89 B=0500 D=0000 H=0200 S=0100 P=0107 MOV M,A
C0Z0M0E0I0 A=89 B=0500 D=0000 H=0200 S=0100 P=0108 INR L
C0Z0M0E0I0 A=89 B=0500 D=0000 H=0201 S=0100 P=0109 DCR A
C0Z0M1E1I0 A=88 B=0500 D=0000 H=0201 S=0100 P=010A DCR B
C0Z0M0E0I0 A=88 B=0400 D=0000 H=0201 S=0100 P=010B JNZ 0107
C0Z0M0E0I0 A=88 B=0400 D=0000 H=0201 S=0100 P=0107 MOV M,A
C0Z0M0E0I0 A=88 B=0400 D=0000 H=0201 S=0100 P=0108 INR L
C0Z0M0E0I0 A=88 B=0400 D=0000 H=0202 S=0100 P=0109 DCR A
C0Z0M1E1I0 A=87 B=0400 D=0000 H=0202 S=0100 P=010A DCR B
C0Z0M0E1I0 A=87 B=0300 D=0000 H=0202 S=0100 P=010B JNZ 0107
C0Z0M0E1I0 A=87 B=0300 D=0000 H=0202 S=0100 P=0107 MOV M,A
C0Z0M0E1I0 A=87 B=0300 D=0000 H=0202 S=0100 P=0108 INR L
C0Z0M0E1I0 A=87 B=0300 D=0000 H=0203 S=0100 P=0109 DCR A*010A
-t10
C0Z0M1E0I0 A=86 B=0300 D=0000 H=0203 S=0100 P=010A DCR B
C0Z0M0E0I0 A=86 B=0200 D=0000 H=0203 S=0100 P=010B JNZ 0107
C0Z0M0E0I0 A=86 B=0200 D=0000 H=0203 S=0100 P=0107 MOV M,A
C0Z0M0E0I0 A=86 B=0200 D=0000 H=0203 S=0100 P=0108 INR L
C0Z0M0E0I0 A=86 B=0200 D=0000 H=0204 S=0100 P=0109 DCR A
C0Z0M1E0I0 A=85 B=0200 D=0000 H=0204 S=0100 P=010A DCR B
C0Z0M0E0I0 A=85 B=0100 D=0000 H=0204 S=0100 P=010B JNZ 0107
C0Z0M0E0I0 A=85 B=0100 D=0000 H=0204 S=0100 P=0107 MOV M,A
C0Z0M0E0I0 A=85 B=0100 D=0000 H=0204 S=0100 P=0108 INR L
C0Z0M0E1I0 A=85 B=0100 D=0000 H=0205 S=0100 P=0109 DCR A
C0Z0M1E1I0 A=84 B=0100 D=0000 H=0205 S=0100 P=010A DCR B
C0Z1M0E1I0 A=84 B=0000 D=0000 H=0205 S=0100 P=010B JNZ 0107
C0Z1M0E1I0 A=84 B=0000 D=0000 H=0205 S=0100 P=010E LXI SP,0300
C0Z1M0E1I0 A=84 B=0000 D=0000 H=0205 S=0300 P=0111 LXI H,0200
C0Z1M0E1I0 A=84 B=0000 D=0000 H=0200 S=0300 P=0114 LXI D,0201
C0Z1M0E1I0 A=84 B=0000 D=0201 H=0200 S=0300 P=0117 MVI B,02*0119
-t10
C0Z1M0E1I0 A=84 B=0200 D=0201 H=0200 S=0300 P=0119 LDA 0201
C0Z1M0E1I0 A=88 B=0200 D=0201 H=0200 S=0300 P=011C JPE 012D
C0Z1M0E1I0 A=88 B=0200 D=0201 H=0200 S=0300 P=012D LDAX D
C0Z1M0E1I0 A=88 B=0200 D=0201 H=0200 S=0300 P=012E ANA M
C0Z0M1E1I1 A=88 B=0200 D=0201 H=0200 S=0300 P=012F PUSH PSW
C0Z0M1E1I1 A=88 B=0200 D=0201 H=0200 S=02FE P=0130 INR L
C0Z0M0E0I0 A=88 B=0200 D=0201 H=0201 S=02FE P=0131 INR L
C0Z0M0E0I0 A=88 B=0200 D=0201 H=0202 S=02FE P=0132 INR E
C0Z0M0E0I0 A=88 B=0200 D=0202 H=0202 S=02FE P=0133 INR E
C0Z0M0E1I0 A=88 B=0200 D=0203 H=0202 S=02FE P=0134 DCR B
C0Z0M0E0I0 A=88 B=0100 D=0203 H=0202 S=02FE P=0135 JNZ 012D
C0Z0M0E0I0 A=88 B=0100 D=0203 H=0202 S=02FE P=012D LDAX D
C0Z0M0E0I0 A=86 B=0100 D=0203 H=0202 S=02FE P=012E ANA M
C0Z0M1E0I0 A=86 B=0100 D=0203 H=0202 S=02FE P=012F PUSH PSW
C0Z0M1E0I0 A=86 B=0100 D=0203 H=0202 S=02FC P=0130 INR L
C0Z0M0E1I0 A=86 B=0100 D=0203 H=0203 S=02FC P=0131 INR L*0132
C0Z0M0E0I0 A=86 B=0100 D=0203 H=0204 S=02FC P=0132 INR E
C0Z0M0E0I0 A=86 B=0100 D=0204 H=0204 S=02FC P=0133 INR E
C0Z0M0E1I0 A=86 B=0100 D=0205 H=0204 S=02FC P=0134 DCR B
C0Z1M0E1I0 A=86 B=0000 D=0205 H=0204 S=02FC P=0135 JNZ 012D
C0Z1M0E1I0 A=86 B=0000 D=0205 H=0204 S=02FC P=0138 NOP
C0Z1M0E1I0 A=86 B=0000 D=0205 H=0204 S=02FC P=0139 HLT
ВИСНОВОК: Виконуючи дане практичне завдання я ознайомився та вивчив основні команди переходів, виклику і повернення із підпрограми, способи передачі параметрів і отримати практичні навики програмування з використанням підпрограм.
Міністерство освіти та науки України
Національний університет “Львівська політехніка”
Інститут комп’ютерних наук та інформаційних технологій
Кафедра САПР
Звіт
Лабораторна робота №5
з дисципліни
“Архітектура комп'ютера”
на тему:
ОПЕРАЦІЇ МНОЖЕННЯ ТА ДІЛЕННЯ ЦІЛИХ БЕЗЗНАКОВИХ ТА ЗНАКОВИХ ЧИСЕЛ ОДНОКРИСТАЛЬНОГО МП 8080 (КР580ВМ80А)
Виконав:
Ст. гр. КН-317
Мураль М.М.
Прийняв:
Головацький Р. І.
Львів 2008
ТЕМА: Операції множення та ділення цілих беззнакових та знакових чисел однокристального МП 8080 (кр580вм80а).
МЕТА: Вивчити алгоритми виконання операцій множення та ділення цілих беззнакових і цілих знакових чисел для однокристального мікропроцесора Intel 8080 (КР580ВМ80А), набути практичних навиків складання та налагоджування програм з використанням цих алгоритмів.
ЗАВДАННЯ: Виконати множення цілих знакових чисел -14*14. Результат записати в пам'ять.