
- •Робота з компілятором ср/м
- •Інструментальні засоби динамічного відлагодження програм
- •Програмні засоби організації програми
- •Текст програми
- •Результати виконання програми
- •Міністерство освіти та науки України Національний університет “Львівська політехніка” Інститут комп’ютерних наук та інформаційних технологій
- •Способи адресації операндів і команди пересилання даних однокристального мп кр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
- •Результати виконання програми
2.3. Стек і команди роботи зі стеком в однокристальному мп кр580
Стек - це область оперативної пам'яті, яка адресується за допомогою вказівника стека (SР)(І6-розрядного програмне доступного регістра). На початку роботи зі стеком ініціалізується нижня межа стека (рис.7).
При записуванні інформації в стек він зростає в бік молодших адрес. У МП КР580 стекові операції виконуються з 1б-бітними словами. У стек можна записувати тільки вміст регістрових пар і отримувати інформацію зі стека можна лише у регістрові пари. Розглянемо команди роботи зі стеком.
1. Занесення в стек вмісту пари регістрів :
PUSH RP ; RP: В- ВС, D- DE, Н- HL;
((SP)-1)<-(rh);
((SР)-2)<-(rl);
(SP)<-(SP)-2.
Послідовність дій МП при виконанні команди PUSH Н така :
• вміст вказівника стека зменшується на 1: (SP)<-(SP)-1;
в комірку пам'яті за адресою ((SP)-l) записується вміст регістра Н;
вміст вказівника стека зменшується на 1: (SP)<-(SP)-!;
комірку пам'яті за адресою ((SP)-2) записується вміст регістра L : ((SP)-2)<-(L).
2. Зчитування зі стека вмісту пари регістрів.
POP RP ; .
(rl)<-((SP));
(rh)<-((SP)+l);
(SP)<-((SP)+2).
Вміст комірки пам'яті, адреса якої визначається вмістом вказівника стека SP, пересилається в молодший регістр пари регістрів RP. Вміст наступної за зростанням адреси комірки пересилається в старший регістр пари. Вміст вказівника стека збільшується на 2.
3. Обмін вмісту верхівки стека і вмісту пари HL.
XTHL;(L)<->((SP)); (H)<->((SP)+l);
4. Пересилання вмісту регістрів Н і L у вказівник стека.
SPHL; (SP)<--J-- (H)(L).
Вміст регістрів Н і L (16 біт) пересилається у вказівник стека.
5. PCHL; (H)(L)-> (PC)
Карта пам'яті
Адреса
|
Коментар |
||||||||||||||
200h |
|
11 |
17 |
00010001 |
1-е дане |
||||||||||
201h |
|
13 |
19 |
00010011 |
2-е дане |
||||||||||
202h |
|
0F |
15 |
00001111 |
3-е дане |
||||||||||
203h |
|
0D |
13 |
00001101 |
4-е дане |
||||||||||
204h |
|
0C |
12 |
00001100 |
5-е дане |
||||||||||
205h |
|
0B |
11 |
00001011 |
6-е дане |