Студопедия — Алгоритми виконання команд
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Алгоритми виконання команд






Для написання програм використовуються спеціальні команди, які записують у скоро­ченому мнемонічному вигляді.

Всі команди поділяють на п’ять груп:

– команди пересилки даних – використовують для передачі даних із регістра у регістр або із пам’яті у регістр і навпаки;

– арифметичні команди – використовуються для додавання, віднімання, порівняння;

– логічні команди НІ, І, АБО і комплексні;

– команди переходів – використовуються для умовних і безумовних переходів, виклику підпрограм і повернення із них;

– команди управління, вводу-виводу і роботи із стеком – використовуються для уп­рав­ління перериваннями, вводом-виводом інформації і виконання команд переходів.

Команди пересилки даних:

Пересилка із регістру в регістр

MOV R 1, R 2 – переслати дані із регістра R 2 в регістр R 1. Довжина команди – 1 байт.

Наприклад, MOV А, С – переслати дані із регістру А в регістр С. Вміст регістру С при цьому не змінюється.

Безпосередня пересилка числа

MVI R, < байт >;– вміст другого байту команди переслати в регістр R. Довжина ко­ман­ди – 2 байти.

Наприклад, MVI А, 56 – переслати число 56 в регістр А.

Завантаження регістра А із пам’яті

LDA < байт > < байт >;– вміст комірки пам’яті, адреса якої знаходиться у другому і тре­тьому байті команди завантажити в регістр А. Довжина команди – 3 байти.

Наприклад, LDA 0950 – завантажити в регістр А вміст комірки пам’яті за номером 0950.

Увага! У трибайтних командах при запису команди в кодах завантажується спочатку молодший байт, а да­лі старший

Вивантаження вмісту регістру А у пам’ять

STA < байт > < байт >;– вивантажити вміст регістру А в комірку пам’яті, номер якої позначено у другому і третьому байті команди. Довжина команди – 3 байти.

Наприклад, STA 0850 – вивантажити вміст регістру А в комірку пам’яті з номером 0850.

Арифметичні команди:

Команда додавання вмісту регістра

ADD R – вміст регістру R додати до вмісту регістру А. Результат

залишається в ре­гістрі А. Вміст регістру R при цьому не змінюється. Довжина команди – 1 байт.

Наприклад, ADD С – вміст регістру С додати до вмісту регістру А.

Команда безпосереднього додавання

ADI < байт>;– вміст другого байту команди додати до вмісту регістру А. Довжина ко­манди – 2 байти.

Наприклад, ADI 24 – число 24 додати до вмісту регістру А.

Команда віднімання вмісту регістра

SUB R – вміст регістру R відняти від вмісту регістру А. Результат залишається в ре­гіс­т­рі А. Вміст регістру R при цьому не змінюється. Довжина команди – 1 байт.

Наприклад, SUB С – вміст регістру С відняти від вмісту регістру А.

Команда безпосереднього віднімання

SUІ < байт>;– вміст другого байту команди відняти від вмісту регістру А. Довжина ко­манди – 2 байти.

Наприклад, SUІ 32– число 32 відняти від вмісту регістру А.

Команда збільшення вмісту регістра на одиницю

INR R – додати одиницю до вмісту регістру R. Довжина команди – 1 байт.

Наприклад, INR А – додати одиницю до вмісту регістру А.

Команда зменшення вмісту регістру на одиницю

DCR R – відняти одиницю від вмісту регістру R. Довжина команди – 1 байт.

Наприклад, DCR C – додати одиницю до вмісту регістру C.

Команда порівняння із вмістом регістру

СМР R – порівняти вміст регістру R з вмістом регістру А. При виконанні команди вміст регістру R віднімається від вмісту регістру А. Вміст регістру R при цьому не зміню­ється. За результати віднімання установлюються стани при виконанні таких умов: стан знаку S, якщо знаковий біт результату операції дорівнює одиниці (число від’ємне),стан ну­ля Z, якщо результат операції дорівнює нулю, стан додаткового переносу AC, якщо є пере­ніс із третього розряду, стан парності P, якщо результат вміщує парне число одиниць, стан переносу CY, якщо є переніс (при складанні) або займання (при відніманні) із старшого роз­ряду. Довжина команди – 1 байт

Наприклад, СМР С (в регістрі С записано число 24, в регістрі А – число В 3). Виконан­ня: В 3 – 24 = 8 F. Записуємо результат у двійковому коді 10001111. S = 0 (знаковий біт ре­зультату операції дорівнює нулю, так як результат операції додатний), Z = 0 (так як ре­зультат операції не дорівнює нулю), АС = 0 (так як переніс із третього розряду відсутній), Р = 0 (так як результат операції непарний), CY = 1 (так як є займання із старшого розряду).

Команда порівняння із числом

СРІ <байт>;– порівняти вміст регістру А із числом, що знаходиться у другому байті. Довжина команди – 2 байти.

Наприклад, СРІ АВ (в регістрі А записано число С 9). Виконан­ня: C 9 – AB = 1 E. Запи­суємо результат у двійковому коді 00011110. S = 0 (знаковий біт ре­зультату операції дорів­нює нулю, так як результат операції додатний), Z = 0 (так як ре­зультат операції не до­рівнює нулю), АС = 0 (так як немає переносу із третього розряду), Р = 1 (так як ре­зуль­тат операції парний), CY = 1 (так як є займання із старшого розряду).

Логічні команди:

Команда НІ (інверсія)

СМА <байт>;– виконати операцію НІ з числом, що знаходиться у другому байті. Опе­ра­ція виконується із кожним розрядом окремо. Довжина команди – 2 байти.

Наприклад, СМА 43. Виконання: записуємо число у двійковому коді 01000011. Вико­нуємо інверсне перетворення 10111100. Переводимо у шістнадцятковий код. Відповідь – ВС.

Команда І (логічне множення)

ANA R – виконати операцію І між числами, що знаходяться у регістрі А і в регістрі R. Опе­ра­ція виконується із кожним розрядом окремо. Довжина команди – 1 байт

Наприклад, ANA Е (в регістрі А записано число 53, в регістрі Е число 9 А). Виконання: записуємо числа у двійковому коді 53 – 01010011, 9 А – 10011010. Вико­нуємо логічне мно­ження за матрицею таблиці 4.1

Таблиця 4.1

Матриця виконання команди ANA R.

 

Дані   Знач ення  
Перше число        
Друге число        
Результат        

 

Результат: 00010010. Переводимо у шістнадцятковий код. Відповідь – 12.

Команда АБО (логічне додавання)

ОRA R – виконати операцію АБО між числами, що знаходяться у

регістрі А і в регістрі R. Опе­ра­ція виконується із кожним розрядом окремо. Довжина команди – 1 байт

Наприклад, ОRA С (в регістрі А записано число В 9, в регістрі С число 39). Виконання: записуємо числа у двійковому коді В 9 – 10111001, 37– 00110111. Вико­нуємо логічне мно­ження за матрицею таблиці 4.2.

Таблиця 4.2

Матриця виконання команди ОRA R.

 

Дані   Знач ення  
Перше число        
Друге число        
Результат        

 

Результат: 10111111. Переводимо у шістнадцятковий код. Відповідь – ВF.

Команда АБО – НІ

ХRA R – виконати операцію АБО – НІ між числами, що знаходяться у регістрі А і в регістрі R. Опе­ра­ція виконується із кожним розрядом окремо. Довжина команди – 1 байт.

Наприклад, ХRA В (в регістрі А записано число 74, в регістрі С число 93). Виконання: записуємо числа у двійковому коді 74 – 01110100, 93– 10010011. Вико­нуємо логічне множення за матрицею таблиці 4.3.

Таблиця 4.3. Матриця виконання команди ХRA R.

 

Дані   Знач ення  
Перше число        
Друге число        
Результат        

 

Результат: 11100111. Переводимо у шістнадцятковий код. Відповідь – Е 7.

 

Команди переходів:

Безумовний перехід до виконання команди

JMP <байт> <байт>;– перейти до виконання команди, адреса якої знаходиться у дру­гому і третьому байті. Довжина команди – 3 байти.

Наприклад, JMP 080 А – перейти до виконання команди, яка знаходиться за адресою 080 А.

Умовний перехід до виконання команди

J <умова> <байт> <байт>;– перейти до виконання команди, адреса якої знаходиться у дру­гому і третьому байті, якщо умова виконується. Довжина команди – 3 байти. В залеж­но­сті від умов команди мають вигляд:

– перехід, якщо є переніс;

JNС – перехід, якщо переносу немає;

JZ – перехід, якщо результат дорівнює нулю;

JNZ – перехід, якщо результат не дорівнює нулю;

JP – перехід, якщо результат додатний;

JM – перехід, якщо результат від’ємний;

JPE – перехід при парності;

JPO – перехід при непарності.

Наприклад, JNZ 0908– перейти до виконання команди, яка знаходиться за адресою 0908, якщо результатне дорівнює нулю.

Команди безумовного переходу до підпрограм

CALL <байт> <байт>;– перейти до виконання підпрограми, яка починається з адреси, що знаходиться у дру­гому і третьому байті. Довжина команди – 3 байти.

Наприклад, CALL 0850– перейти до виконання підпрограми, яка починається з адреси 0850.

Команди умовного переходу до підпрограм

C <умова> <байт> <байт>;– перейти до виконання підпрограми, яка починається з адреси, що знаходиться у дру­гому і третьому байті, якщо умова виконується. Використо­вуються також умови, як і при переході до команд. Довжина ко­манди – 3 байти.

Наприклад, CP 0950– перейти до виконання підпрограми, яка починається з адреси 0950, якщо результат додатний.

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

RET – повернутися до виконання основної програми. Адреса повернення знаходиться в регістрі стеку. Довжина команди – 1 байт.

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

R <умова>;– повернутися до виконання основної програми, якщо умова виконується. Адреса повернення знаходиться в регістрі стеку. Довжина команди – 1 байт.

Наприклад, RZ – повернутися до виконання основної програми, якщо результат дорів­нює нулю.

Команди управління, вводу-виводу і роботи із стеком:

Команда зупинки

HLT – зупинити виконання програми. Довжина команди – 1 байт.

Команда відсутності операції

NOP – відсутність операції. Довжина команди – 1 байт

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

IN <байт>;– ввести інформацію з порту введення, адреса якого наведена у другому байті. Довжина команди – 2 байти.

Наприклад, IN F 8– ввести інформацію з порту введення за адресою F 8.

OUT <байт>; – вивести інформацію у порт виведення, адреса якого наведена у другому байті команди. Довжина команди – 2 байти.

Наприклад, IN FВ – вивести інформацію у порт введення за адресою .

 

4.1. Виконати команду XRA В (в регістрі А записано число АА, в регістрі В – число 67)

Таблиця 4.4

Виконання команди XRA В

 

Біти Дані                 шістнад­цят­ковий код
Регістр А                 АА
Регістр В                  
Результат                 СD

 

 







Дата добавления: 2015-10-02; просмотров: 429. Нарушение авторских прав; Мы поможем в написании вашей работы!



Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

ОЧАГОВЫЕ ТЕНИ В ЛЕГКОМ Очаговыми легочными инфильтратами проявляют себя различные по этиологии заболевания, в основе которых лежит бронхо-нодулярный процесс, который при рентгенологическом исследовании дает очагового характера тень, размерами не более 1 см в диаметре...

Примеры решения типовых задач. Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2   Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2. Найдите константу диссоциации кислоты и значение рК. Решение. Подставим данные задачи в уравнение закона разбавления К = a2См/(1 –a) =...

Экспертная оценка как метод психологического исследования Экспертная оценка – диагностический метод измерения, с помощью которого качественные особенности психических явлений получают свое числовое выражение в форме количественных оценок...

Классификация и основные элементы конструкций теплового оборудования Многообразие способов тепловой обработки продуктов предопределяет широкую номенклатуру тепловых аппаратов...

Именные части речи, их общие и отличительные признаки Именные части речи в русском языке — это имя существительное, имя прилагательное, имя числительное, местоимение...

Интуитивное мышление Мышление — это пси­хический процесс, обеспечивающий познание сущности предме­тов и явлений и самого субъекта...

Studopedia.info - Студопедия - 2014-2024 год . (0.013 сек.) русская версия | украинская версия