русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Домашние задания.


Дата добавления: 2014-11-27; просмотров: 760; Нарушение авторских прав


Задание 1

Вариант 7. Выполнить операцию инвертирования чисел FA и 21, хранящиеся по адресам 0F11 и 0C22. Над полученными результатами выполнить операцию логического сложения и конечный результат записать по адресу 0F22. Остановить программу.

Задание 2

Вариант 7. Изменить содержимое 3-го разряда данного, хранящегося в ячейке памяти 01A6. При получении результата с четным количеством единиц, записать его в ячейку памяти с адресом 0CC0, в противном случае результат записать в ячейку памяти 0CD0. Остановить программу.

Решение задания 1 с использованием прямой адресации.

 

При разработке программ все данные и адреса в командах записываются в шестнадцатеричной системе счисления.

Таблица 1. Программа, записанная в мнемокодах языка Ассемблера.

Мнемокод Комментарий
LXI H, 0F11 Занесение содержимого второго и третьего байта команды (11 и 0F) в регистровую пару HL
MVI C, FA Записать в регистр C целочисленную константу FA
MOV M, C Пересылка данных из регистра C в ячейку памяти, адрес которой указан в регистровой паре HL
LXI H, 0C22 Занесение содержимого второго и третьего байта команды (22 и 0C) в регистровую пару HL
MVI C, 21 Записать в регистр C целочисленную константу 21
MOV M, C Пересылка данных из регистра C в ячейку памяти, адрес которой указан в регистровой паре HL
LDA 0F11 Запись в аккумулятор содержимого ячейки памяти, адрес которой записан в b2, b3
CMA Инвертировать содержимое аккумулятора (логическая операция НЕ)
MOV B, A Пересылка данных из регистра Aв регистр B
LDA 0C22 Запись в аккумулятор содержимого ячейки памяти, адрес которой записан в b2, b3
CMA Инвертировать содержимое аккумулятора (логическая операция НЕ)
ORA B Поразрядное ИЛИ над содержимым аккумулятора и регистра B
STA 0F22 Записать содержимое аккумулятора в ячейку памяти 0F22
HLT Остановить программу

 



Для записи программы в память микроЭВМ необходимо перевести мнемокоды команд в машинные коды. Так как команды в программе могут быть одно-, двух- или трехбайтовые, следовательно, они должны занимать соответственно одну, две или три ячейки памяти. Пользуясь таблицей соответствия мнемокодов и машинных кодов, запишем программу в машинных кодах с указанием адресов ячеек памяти каждого байта программы (табл. 2).

 

Таблица 2. Программа, записанная в машинных кодах с размещением по адресам памяти.

 

Адрес Число Комментарий
Код команды LXI H, 0F11
Второй байт команды
0F Третий байт команды
0E Код команды MVI C, FA
FA Целочисленная константа FA
Код команды MOV M, C
Код команды LXI H, 0C22
Второй байт команды
0C Третий байт команды
0E Код команды MVI C, 21
000A Целочисленная константа 21
000B Код команды MOV M, C
000C 3A Код команды LDA 0F11
000D Второй байт команды
000E 0F Третий байт команды
000F 2F Код команды CMA
Код команды MOV B, A
3A Код команды LDA 0C22
Второй байт команды
0C Третий байт команды
2F Код команды CMA
B0 Код команды ORA B
Код команды STA 0F22
Младший байт адреса
0F Старший байт адреса
Код команды HLT

 

Предварительную запись программ удобно проводить в более компактной форме. В программе указывается начальный адрес каждой команды, при этом в зависимости от длины, команды в памяти будут занимать от одной до трех последовательных ячеек. При такой записи в левом столбце указываются адреса команд в программе (табл. 3).

 

 

Таблица 3. Программа, записанная в общем виде.

 

Адрес Машинный код Метка Мнемокод Комментарий
21 11 0F   LXI H, 0F11 Занесение содержимого второго и третьего байта команды (11и 0F) в регистровую пару HL
0E FA   MVI C, FA Записать в регистр C целочисленную константу FA
  MOV M, C Пересылка данных из регистра C в ячейку памяти, адрес которой указан в регистровой паре HL
21 22 0C   LXI H, 0C22 Занесение содержимого второго и третьего байта команды (22 и 0C) в регистровую пару HL
0E 21   MVI C, 21 Записать в регистр C целочисленную константу 21
000B   MOV M, C Пересылка данных из регистра C в ячейку памяти, адрес которой указан в регистровой паре HL
000C 3A 11 0F   LDA 0F11 Запись в аккумулятор содержимого ячейки памяти, адрес которой записан в b2 , b3 (11 и 0F)
000F 2F   CMA Инвертировать содержимое аккумулятора
  MOV B, A Пересылка данных из регистра A в регистр B
3A 22 0C   LDA 0C22 Запись в аккумулятор содержимого ячейки памяти, адрес которой записан в b2 , b3 (22 и 0C)
2F   CMA Инвертировать содержимое аккумулятора
B0   ORA B Поразрядное ИЛИ над содержимым аккумулятора и регистром B
32 22 0F * STA 0F22 Записать содержимое аккумулятора в ячейку памяти 0F22
* HLT Остановить программу

 

 



<== предыдущая лекция | следующая лекция ==>
Домашнее задание | Решение задания 1 с использованием косвенной адресации.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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