Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Приклад 3. Додавання 8-бітних чисел без переносу

Команда повернення із підпрограми

Умовний виклик підпрограм

11. CC Addr змішана адресація

call on carry якщо Cy=1, то 1,2,3,4

якщо Cy=0, то PC ß PC + 3

 

12. CNC Addr змішана адресація

call on not carry якщо Cy=0, то 1,2,3,4

якщо Cy=1, то PC ß PC + 3

 

13. CZ Addr змішана адресація

call on zero якщо Z=1, то 1,2,3,4

якщо Z=0, то PC ß PC + 3

 

14. CZ Addr змішана адресація

call on not zero якщо Z=0, то 1,2,3,4

якщо Z=1, то PC ß PC + 3

 

15. CP Addr змішана адресація

call on plus якщо S=0, то 1,2,3,4

якщо S=1, то PC ß PC + 3

 

16. CM Addr змішана адресація

call on minus якщо Z=1, то 1,2,3,4

якщо Z=0, то PC ß PC + 3

 

17. CPE Addr змішана адресація

call on parity якщо P=1, то 1,2,3,4

якщо P=0, то PC ß PC + 3

 

18. CPO Addr змішана адресація

call on not parity якщо P=0, то 1,2,3,4

якщо P=1, то PC ß PC + 3

 

 

19. RET змішана адресація

return PCL ß {(SP)}

PCH ß {(SP) + 1}

SP ß SP + 2

стек

   
   
   
   

PCL=01H PCH=20H PC=2001H SP=2205H

 

Повернення за умовою (Conditional return)

20. RC, якщо Сy=1, то PCL ß {(SP)}

PCH ß {(SP) + 1}

SP ß SP + 2

якщо Cy=0, то PC ß PC +1, тобто наступна команда.

21. RNC Cy=0 (то PCL ß {(SP)} PCH ß {(SP) + 1} SP ß SP + 2 якщо навпаки, то PC ß PC +1)

22. RZ Z=1 (то PCL ß {(SP)} PCH ß {(SP) + 1} SP ß SP + 2 якщо навпаки, то PC ß PC +1)

23. RNZ Z=0 (то PCL ß {(SP)} PCH ß {(SP) + 1} SP ß SP + 2 якщо навпаки, то PC ß PC +1)

24. RP S=0 (то PCL ß {(SP)} PCH ß {(SP) + 1} SP ß SP + 2 якщо навпаки, то PC ß PC +1)

25. RM S=1 (то PCL ß {(SP)} PCH ß {(SP) + 1} SP ß SP + 2 якщо навпаки, то PC ß PC +1)

26. RPE P=1 (то PCL ß {(SP)} PCH ß {(SP) + 1} SP ß SP + 2 якщо навпаки, то PC ß PC +1)

27. RPO P=0 (то PCL ß {(SP)} PCH ß {(SP) + 1} SP ß SP + 2 якщо навпаки, то PC ß PC +1)

 

28. RST N (Re-start) повторний пуск 0 <= N <= 7 N – вектор переривання

{(SP) - 1} ß PCH

{(SP) - 2} ß PCL

SP ß SP - 2 0 7

PC ß 8 * NNN NNN – 000…111

29. PCHL неявна адресація

move H and L to PC

PCH ß H

PCL ß L

30. SPHL неявна адресація

move H and L to SP

SP ß HL

 

Завдання: необхідно додати зміст комірки пам’яті за адресами ADDR1 і ADDR2, і помістити результат в комірку пам’яті з адресою ADDR3.

В цьому прикладі для простоти не будемо враховувати можливість виникнення переносу.

(ADDR1) = 23H – перший доданок

(ADDR2) = 43H – другий доданок

Результатом додавання буде:

(ADDR3) = 23H + 43H = 66H

 

Алгоритм

Крок 1. Завантаження в акумулятор змісту комірки пам’яті з адресою ADDR1

Крок 2. Зберегти зміст акумулятора в регістрі В

Крок 3. Завантаження в акумулятор змісту комірки пам’яті з адресою ADDR2

Крок 4. Додати зміст акумулятора і регістра В

Крок 5. Переслати зміст акумулятора в комірку пам’яті з адресою ADDR3

 

Програма

Адреса Асемблерний код Мітка Команда Коментарі
      ORG 800H  
  3A 0C 08   LDA ADDR1 ; Крок 1. A ß (ADDR1)
      MOV B,A ; Крок 2. B ß A
  3A 0D 08   LDA ADDR2 ; Крок 3. A ß (ADDR2)
      ADD B ; Крок 4. A ß A + B
  32 0E 08   STA ADDR3 ; Крок 5. (ADDR3) ß A
080B     HLT ; зупинка МП
080C   ADDR1: DB 23H ;1-ий доданок
080D   ADDR2: DB 43H ;2-ий доданок
080E   ADDR3: DB 0 ;для результату
      END  

 

Склад команд управління

Група команд управління складається із набору команд роботи із стеком, введення – виведення інформації, управління МП.

<== предыдущая лекция | следующая лекция ==>
Команда виклику підпрограми | Читання даних із стеку
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 305; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.