Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Приклад 5. Поділення слова на частини з використанням масок

Приклад 4.

Команди управління

Команди введення – виведення

5. IN port пряма адресація

A ß (port) Команда введення в акумулятор байту даних із порту. Команда двобайтна.

6. OUT port пряма адресація

(port) ß A Команда виведення байту даних із акумулятору. Команда двобайтна.

 

7. EI дозвіл переривання неявна адресація

enable interrupt

(ДПР) ß 1 В тригер дозволу переривання записується 1.

8. DI заборона переривання неявна адресація

disable interrupt

(ДПР) ß 0 В тригер дозволу переривання записується 0.

9. NOP відсутня операція

no operation адресація відсутня

10. HLT зупинка МП

halt адресація відсутня

 

Під час використання будь-якої ЕОМ виникає проблема обробки даних, довжина яких не співпадає з розміром комірки пам’яті. Тому програмно видаляють біти комірки пам’яті, що не використовуються з метою їх не дії на результат виконання операцій. Таке виділення може бути виконано за допомогою логічної операції “І” і позначається “^” – логічне множення.

Завдання: Нехай число знаходиться в комірці пам’яті за адресою ADDR1. Виділимо 4-ри молодших біта і завантажимо їх в комірку за адресою ADDR2.

(ADDR1) = 4DH – початкове число.

Результат роботи програми повинен бути наступним:

(ADDR2) = 0DH – молодша тетрада початкового числа.

 

Програма

Адреса Асемблерний код Мітка Команда Коментарі
      ORG 800H  
  21 09 08   LXI H,ADDR1 ;завантажити в HL вказівник;на комірку, що містить;початкове число
  7E   MOV A,M ;завантажуємо саме число в A
  E6 0F   ANI 00001111B ; накладемо на число маску, ; що виділяє молодші 4 біта ; A ßА ^ 0FH
      INX H ; обчислюємо значення ; вказівника на комірку;результату HLß HL + 1
      MOV M,A ; запис результату в комірку ; пам’яті за міткою ADDR2
  C9   RET ; повернення
  4D ADDR1: DB 4DH ;початкове число
080A   ADDR2: DB 0 ;
      END  

 

Тут адресу результату отримано командою INX (інкрементування).

За допомогою даної програми можна розрізняти стан тумблерів, пускача електродвигуна, перемикача і т.і.

 

Виділимо із слова дві 4 - бітні цифри і розташуємо їх в окремі комірки пам’яті.

Нехай в комірці пам’яті за адресою ADDR1 знаходиться початкове число. Результат роботи програми розмістити за адресами ADDR2 – молодші розряди, ADDR3 – старші розряди.

 

 

Алгоритм Програма

       
   
      ORG 800H  
  21 13 08   LXI H,ADDR1 ;HLßADDR1
  7E   MOV A,M ;Aß{(HL)}
      MOV B,A ;B ß A
  E6 0F   ANI 00001111B ;AßA^0FH
      INX H ;HLßHL+1
      MOV M,A ;{(HL)}ßA
      MOV A,B ;A ß B
080A 0F   RRC ;зсув вправо
080B 0F   RRC ;на 4 біти
080C 0F   RRC  
080D 0F   RRC  
080E E6 0F   ANI 00001111B AßA^0FH
      INX H HLßHL+1
      MOV M,A {(HL)}ßA
      HLT  
  4A ADDR1: DB 4AH  
    ADDR2: DB 0  
    ADDR3: DB 0  
      END  

 

 
 

 

 


Така задача виникає при аналізі станів сукупності тумблерів, пускачів, перемикачів або індикаторів.

 

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


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


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



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




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