русс | укр

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

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

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

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


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

Преобразование результата в различные системы счисления.


Дата добавления: 2015-08-14; просмотров: 687; Нарушение авторских прав


Методика преобразования из двоичной системы счисления была описана в примере выполнения задания №1. Поэтому приведем только результаты преобразований.

 

В шестнадцатеричной системе:

123H XOR 321O OR 25D AND 1001110100B = 0470H

В восьмеричной:

123H XOR 321O OR 25D AND 1001110100B = 2160O

В десятичной:

123H XOR 321O OR 25D AND 1001110100B = 1136D

 

 

3. Формирование устанавливающей маски.

Требуется установить следующие биты ­– 1, 6, 7, 12, 14, 15. Сформируем устанавливающую маску. Для этого запишем двоичное число, в котором эти биты равны 1, а все остальные 0.

Номера битов
                    Биты для установки
Маска

 

Итак, устанавливающая маска для указанных битов следующая:

1101 0000 1100 0010B = D0C2H = 160302O

 

Произведем наложение устанавливающей маски на результат, полученный в п. 1. Для этого требуется выполнить логическую операцию ИЛИ (OR) числа с маской.

OR Число
Маска
  результат

В результате наложения маски биты с номерами 1, 7, 12, 14, 15 установлены, остальные биты не изменили своего состояния.

 

4. Формирование сбрасывающей маски.

Требуется сбросить следующие биты ­– 2, 4, 6, 10, 12, 13. Сформируем сбрасывающую маску. Для этого запишем двоичное число, в котором эти биты равны 0, а все остальные 1.



Номера битов
                      Биты для сброса
Маска

 

Итак, устанавливающая маска для указанных битов следующая:

1100 1111 1010 1011B = CFABH = 147653O

 

Произведем наложение устанавливающей маски на результат, полученный в п. 1. Для этого требуется выполнить логическую операцию И (AND) числа с маской.

AND Число
Маска
  результат

В результате наложения маски были сброшены биты с номерами 4, 6, остальные не изменили состояние

 

5. Формирование инвертирущей маски.

Требуется инвертировать следующие биты ­– 0, 4, 8, 9, 12, 15. Сформируем инвертирующую маску. Для этого запишем двоичное число, в котором эти биты равны 1, а все остальные 0.

Номера битов
                    Биты для сброса
Маска

 

Итак, устанавливающая маска для указанных битов следующая:

1001 0011 0001 0001B = 4311H = 111421O

 

Произведем наложение инвертирующей маски на результат, полученный в п. 1. Для этого требуется выполнить логическую операцию Исключающее ИЛИ (XOR) числа с маской.

XOR Число
Маска
  результат

В результате наложения маски биты с номерами 0, 4, 8, 9, 12, 15 инвертированы, остальные биты не изменили своего состояния.


Задание №3.
Программирование микроконтроллеров. Работа с массивами.

 

Разработать программы, выполняющие следующие задачи (для каждой задачи, разрабатывается отдельная программа):

1. Имеется массив элементов размером байт. Массив начинается с адреса ADDR1. Количество элементов массива N. Требуется заполнить элементы массива в соответствии со способом, указанным в варианте задания.

2. Имеется два массива элементов размером байт. Количество элементов для обоих массивов N. Первый массив находится с адреса ADDR1, второй – с адреса ADDR2. Требуется переслать элементы первого массива во второй массив.

3. Требуется произвести сложение всех элементов массива, начинающегося с адреса ADDR2. Сложение производит с удвоенной точностью (два байта).

 

Значения ADDR1, ADDR2, N и способ заполнения массива выбирается из таблицы 3.1 для требуемого варианта.

Требования по оформлению программ

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

- текст программы с подробными комментариями.

 

 

Таблица 3.1. Варианты для задания №3

Номер варианта ADDR1 Адрес первого массива ADDR2 Адрес второго массива N количество элементов массива Действие при заполнении массива
20H 30H Начать с числа 000H, увеличивать число на 1 для каждой новой ячейки
28H 30H
30H 40H
38H 40H
40H 50H
20H 30H Начать с числа 0FFH, уменьшать число на 1 для каждой новой ячейки
28H 30H
30H 40H
38H 40H
40H 50H
20H 30H Начать с числа 000H, увеличивать число на 2 для каждой новой ячейки
28H 30H
30H 40H
38H 40H
40H 50H
20H 30H Начать с числа 0FFH, уменьшать число на 2 для каждой новой ячейки
28H 30H
30H 40H
38H 40H
40H 50H

 

 

Пример выполнения задания №3

 

1. Программа, заполняющая массив из 8 элементов, начиная с адреса 50H, числа в ячейках начинаются с 000H, и для каждой новой ячейки увеличиваются на 1.

 

Блок-схема алгоритма.

 

 

Текст программы.

 

; начальная настройка



<== предыдущая лекция | следующая лекция ==>
N1 O1 N2 O2 N3 O3 N4, | M1: SJMP M1 ; окончание программы – бесконечный цикл


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


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

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

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


 


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

 
 

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

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