3.Примеры арифметики с ДД - кодами на основе чисел из таблицы п.2 после их перевода в ДД, Практическая часть - Разработка программ преобразования форматов двоичных данных и сортировок
ДД-код |
Константа16 |
ДД-код |
Константа16 |
1111 1111 |
FF |
0000 0000 |
00 |
0011 0101 |
35 |
1111 0100 |
F4 |
0101 0111 |
57 |
1001 1010 |
9A |
1000 1101 |
8D |
0000 0111 |
07 |
1000 0000 |
80 |
0000 1010 |
0A |
Пример сложения:
80 (1000 0000) + 35 (0011 0101) = 115 (0001 0001 0101)
Пример вычитания:
80 (1000 0000) - 35 (0011 0101) = 45 (0100 0101)
Практическая часть
Блок-схема алгоритма
Листинг программы с комментариями.
Адрес |
Машин. код |
Метка |
Код Ассемблера |
Комментарий |
4000 |
31 00 80 |
LXI SP,8000H |
Создание стека программы | |
4003 |
06 0A |
MVI B,0AH |
Установка начальных значений счетчиков цикла | |
4005 |
0E 09 |
L1: |
MVI C,09H | |
4007 |
21 01 50 |
LXI H,5001H |
Указываем адреса первой пары элементов массива | |
400A |
11 00 50 |
LXI D,5000H | ||
400D |
1A |
L2: |
LDAX D |
Загрузка в аккумулятор элемента массива |
400E |
BE |
CMP M |
Сравниваем со следующим элементом массива | |
400F |
DA 18 40 |
JC L3 |
Если первый элемент меньше, переход по метке, иначе | |
4012 |
C5 |
PUSH B |
Сохраняем счетчики в стек | |
4013 |
4E |
MOV C, M |
Меняем элементы массива местами | |
4014 |
77 |
MOV M, A | ||
4015 |
79 |
MOV A, C | ||
4016 |
12 |
STAX D | ||
4017 |
C1 |
POP B |
Восстанавливаем счетчики из стека | |
4018 |
23 |
L3: |
INX H |
Переход к следующей паре элементов |
4019 |
13 |
INX D | ||
401A |
0D |
DCR C |
Уменьшаем счетчики и проверяем не закончилась ли сортировка | |
401B |
C2 0D 40 |
JNZ L2 | ||
401E |
05 |
DCR B | ||
401F |
C2 05 40 |
JNZ L1 | ||
4022 |
C3 25 40 |
JMP KOI |
Переход к процедуре формирования кодов КОИ-7 | |
4025 |
21 00 50 |
KOI: |
LXI H,5000H |
Адрес исходного массива |
4028 |
11 00 70 |
LXI D,7000H |
Адрес нового массива | |
402B |
01 0A 00 |
LXI B,000AH |
Инициализация счетчика | |
402E |
7E |
A1: |
MOV A, M |
Загружаем в аккумулятор число |
402F |
A7 |
ANA A |
Обнуляем флаг CY | |
4030 |
1F |
RAR |
Перемещаем старшую тетраду в правую часть байта | |
4031 |
1F |
RAR | ||
4032 |
1F |
RAR | ||
4033 |
1F |
RAR | ||
4034 |
E6 0F |
ANI 0FH |
Обнуляем старшую тетраду | |
4036 |
F6 30 |
ORI 30H |
Записываем в старшую тетраду "3" | |
4038 |
FE 39 |
CPI 39H |
Сравниваем полученное с 39H | |
403A |
DA 40 44 |
JC M1 |
Если меньше39H, переход по метке, иначе | |
403D |
FE 39 |
CPI 39H |
Сравниваем с 39H | |
403F |
CA 44 40 |
JZ M1 |
Если равно 39H, переход по метке, иначе | |
4042 |
C6 07 |
ADI 07H |
Добавляем 7, для выравнивая с кои-7 | |
4044 |
12 |
M1: |
STAX D |
Сохраняем полученное число |
4045 |
13 |
INX D | ||
4046 |
7E |
MOV A, M |
Загружаем в аккумулятор число | |
4047 |
E6 0F |
ANI 0FH |
Обнуляем старшую тетраду | |
4049 |
F6 30 |
ORI 30H |
Записываем в старшую тетраду "3" | |
404B |
FE 39 |
CPI 39H |
Сравниваем с 39H | |
404D |
DA 57 40 |
JC M2 |
Если меньше39H, переход по метке, иначе | |
4050 |
FE 39 |
CPI 39H |
Сравниваем с 39H | |
4052 |
CA 57 40 |
JZ M2 |
Если равно 39H, переход по метке, иначе | |
4055 |
C6 07 |
ADI 07H |
Добавляем 7, для выравнивая с кои-7 | |
4057 |
12 |
M2: |
STAX D |
Сохраняем полученное число |
4058 |
13 |
INX D | ||
4059 |
23 |
INX H |
Переход к следующему числу | |
405A |
0D |
DCR C |
Уменьшение счетчика | |
405D |
C2 2E 40 |
JNZ A1 |
Если обработаны не все числа, переход по метке | |
4060 |
C3 40 00 |
JMP 0040 H |
Выход в монитор |
Результаты работы программы
По адресу 5000 лежит массив исходных данных:
Адрес |
Константа16 |
5000 |
FF |
5001 |
35 |
5002 |
57 |
5003 |
8D |
5004 |
80 |
5005 |
00 |
5006 |
F4 |
5007 |
9A |
5008 |
07 |
5009 |
0A |
По адресу 7000 лежит массив результатов:
Адрес |
Константа16 |
7000 |
30 30 |
7002 |
30 37 |
7004 |
30 41 |
7006 |
33 35 |
7008 |
35 37 |
700A |
38 30 |
700C |
38 44 |
700E |
39 41 |
7010 |
46 34 |
7012 |
46 46 |
Исходному массиву соответствует:
Адрес |
Константа16 |
5000 |
00 |
5001 |
07 |
5002 |
0A |
5003 |
35 |
5004 |
57 |
5005 |
80 |
5006 |
8D |
5007 |
9A |
5008 |
F4 |
5009 |
FF |
Похожие статьи
-
Введение - Разработка программ преобразования форматов двоичных данных и сортировок
Программа юникод кодирование Основной задачей работы является разработать программу, преобразующую массив чисел в соответствующий формат. Перед тем, как...
-
Выполнение задания осуществлялось на эмуляторе микро ЭВМ СМ - 1800 (Эмулятор Смирнова), установленном на ПК на базе процессора AMD Atlon(tm) X2 240 2.79...
-
Компромиссная система, для удобства восприятия данных человеком и корректной работы компьютера, двоично-десятичная запись чисел. Принцип построения этой...
-
Аналитическая часть - Разработка программ преобразования форматов двоичных данных и сортировок
Язык - множество символов и совокупность правил, определяющих способы составления из этих символов осмысленных сообщений. Семантика - система правил и...
-
После обмена данными с АЦП происходит преобразование считанных данных в одно целое число, характеризующее уровень сигнала на входе АЦП. Т. к. АЦП имеет...
-
Программа StudyProgram предназначена для того, чтобы помочь в усвоении приемов составления программ для машины Поста. Работа с программой осуществляется...
-
Рисунок 10. Архитектура программы В структуре программы обработки сложноструктурированных данных для научного эксперимента в ИИС "Шлаковые расплавы"...
-
При запуске программы с входными параметрами {"-makexls" "filename. xls" "температурная_точка" "отклонение" "элемент"} происходит извлечение результатов...
-
МЕТОДОВ МЕТОД СОРТИРОВКИ Пирамидальная сортировка Пирамидальная сортировка основана на алгоритме построения пирамиды. Последовательность aI, aI+1,...,aK...
-
ОПИСАНИЕ ПРОГРАММЫ, ОСНОВНЫЕ ПЕРЕМЕННЫЕ И СТРУКТУРЫ - Структуры и алгоритмы обработки данных
ОСНОВНЫЕ ПЕРЕМЕННЫЕ И СТРУКТУРЫ Struct BD { char FIO[32]; // фоpмат <Фамилия>_<Имя>_<Отчество> int numberO; char dolzhnost[32]; char dateB[8]; }...
-
ТИПИЗИРОВАННЫЕ КОНСТАНТЫ - Типы данных в программе Турбо Паскаль
В Турбо Паскале допускается использование типизированных констант. Они задаются в разделе объявления констант следующим образом: <индификатор> :...
-
ДВОИЧНЫЙ ПОИСК, АВЛ-Дерево - Структуры и алгоритмы обработки данных
Алгоритм двоичного поиска в упорядоченном массиве сводится к следующему. Берем средний элемент отсортированного массива и сравниваем с ключом X. Возможны...
-
Общие данные "о программе" - Учет средств предпрятия
Данная программа представляет собой консольное приложение разработанное в среде Borland Pascal v 7.0. Главное окно программы (не титульный лист)...
-
Кодированием называется представление символов одного алфавита средствами другого алфавита. Алфавит содержащий два символа называется двоичным (часто их...
-
В реляционных базах данных существует несколько видов связей между таблицами: 1) "Один к одному". Одной записи таблицы соответствует одна запись другой...
-
Отличия цифрового представления сигналов от аналогового Традиционное аналоговое представление сигналов основано на подобии (аналогичности) электрических...
-
Для проведения тестов была написана программа задания единичного интервального графа. Входные параметры: число вершин, длина отрезка на котором задается...
-
Для разработки базы данных применим инструмент "Management Studio" входящий в состав СУБД "MS SQL Server". Этот инструмент позволяет создавать новые базы...
-
Самым традиционным и широко известным из структурированных типов данных является массив (иначе называемый регулярным типом) - однородная упорядоченная...
-
Рассмотрим два программных продукта наиболее схожих по функциям и назначению с программным обеспечением "Программа обработки сложноструктурированных...
-
Каждая СУБД имеет особенности в представлении структуры таблиц, связей, определении типов данных и т. д. которую необходимо учитывать при проектировании....
-
В ходе данного исследования была реализована "программа обработки сложноструктурированных данных для научного эксперимента в ИИС "MD_SLAGMELT"",...
-
Наиболее вероятные причины пожара от электроустановок короткое замыкание, большое переходное сопротивление, перегрузка, искрение, электрическая дуга. Для...
-
Для расчета эффективность программного продукта определим, какие задачи выполняет данный продукт, а также насколько снижаются трудозатраты персонала при...
-
В среде электронного ресурса ИИС "MD_SLAGMELT" (Рис. 6) для доступа к компоненту "моделирование" необходима учетная запись (пара логин/пароль) (Рис.7)....
-
Данная компания является ведущем производителем оборудования и выпуска квалифицированных специалистов в мире. Это одна из самых оцененных компаний в...
-
Пользовательский интерфейс должен позволять заводить в базе данных информацию о новых охранниках, обслуживаемых объектах, автоматизировать составление...
-
Для оценки возможности выполнения проекта имеющимся в распоряжении разработчика штатным составом исполнителей, нужно рассчитать их среднее количество,...
-
Для администратора проекта ИИС "MD_SLAGMELT" разработано средство логирования. После завершения выполнения программы, в случае возникновения...
-
Считывание сложноструктурированных данных При разработке программного обеспечения был выбрано построковое считывание данных, ввиду использования...
-
Дальнейшим развитием локальных средств разработки программ, являются интегрированные программные среды разработчиков. Основное назначение инструментария...
-
Арифметические операции в двоичной системе счисления Умножение в двоичной системе счисления = поразрядные сдвиги + суммирование Основные форматы хранения...
-
Функциональное назначение программы Основной функцией программы "AdressBook. exe" является ведение справочника. Имеется возможность добавлять и удалять...
-
Инструментарий технологии программирования - программные продукты поддержки (обеспечения) технологии программирования. В рамках этого направления...
-
Результаты проведенных экспериментов содержатся во внутреннем серверном файловом хранилище (Рис. 2). Представляют собой документы формата "*.DAT". В них...
-
Сравнение аналогов - Разработка программы для реализации редактора временных графов синхронизации
Поскольку конечной целью работы был редактор сетей Петри, интегрированный с внешней библиотекой алгебраических вычислений, было рациональным рассмотреть...
-
В данном разделе выпускной квалификационной работы описывается процесс разработки программы извлечения КП текста, а также производится оценка качества ее...
-
Известно, что любые элементы имеют разброс параметров. Поэтому, использование динамического диапазона АЦП может быть неполным или наоборот, может...
-
Основные типы данных языка Си - Основы программирования
Язык Си относится к языку с жестко определенными типами данных: каждое имя всегда обозначает объект некоторого типа, причем этот тип нельзя изменить до...
-
Формулировка задания: Составьте программу подсчета числа тех гласных букв в слове X, что не используются в написании слова Z. Описание входных/выходных и...
3.Примеры арифметики с ДД - кодами на основе чисел из таблицы п.2 после их перевода в ДД, Практическая часть - Разработка программ преобразования форматов двоичных данных и сортировок