Составление программ линейной структуры на языке Ассемблер (решение индивидуальной задачи)
Проведение исследования основных принципов составления программ линейной структуры на языке Ассемблер. Характеристика нахождения количества ненулевых элементов. Особенность замены одного регистра на нулевое значение. Определение результата кода.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | отчет по практике |
Язык | русский |
Дата добавления | 09.12.2023 |
Размер файла | 197,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Некоммерческое акционерное общество
«алматинский университет энергетики и связи имени Гумарбека Даукеева»
Кафедра Автоматизации и управления
Отчет по лабораторной работе № 2
По дисциплине: Программирование цифровой техники и микроконтроллеров управления
Тема: Составление программ линейной структуры на языке Ассемблер(решение индивидуальной задачи)
Специальность: Автоматизация и управление
Выполнил: Шустов Н. Р.
Группа: АУу - 23
Принял(-а): Рудакова Л. Н.
Алматы 2023
Лабораторная работа №1. Составление программ линейной структуры на языке Ассемблер.
Цель работы: изучить основные принципы составления программ линейной структуры на языке Ассемблер.
Вариант - 8.
Задания к лабораторной работе:
1. Даны 4 двоичных числа. Найти количество ненулевых элементов.
Выполнение работы.
Код: линейный язык код нулевой
#include p16f877.inc / Назначаем тип микроконтроллера
RST code 0x0
goto Start
R1 EQU 0x20
R2 EQU 0x21
R3 EQU 0x22
R4 EQU 0x23
R5 EQU 0x24
KOL EQU 0x25
PGM code
Start
CLRF STATUS
BSF STATUS, RP0
CLRF TRISC
CLRF STATUS
CLRF PORTC /Настройка порта на вывод
CLRF KOL
MOVLW B'00000011'
MOVWF R1 /Назначение переменных регистров
MOVLW B'00000100'
MOVWF R2
MOVLW B'00000010'
MOVWF R3
MOVLW B'00000100'
MOVWF R4
MOVLW B'00000000'
MOVWF R5
SUBWF R1, 0 / Вычитание аккумулятора (R5) и R1.
BTFSC STATUS, Z / Сравниваем нулевой флаг
goto M
INCF KOL, 1 / Если в значении статуса значение ненулевое, соответственно +1 в регистр KOL
M /Далее действия просто повторяется через метки
MOVF R5, 0
SUBWF R2,0
BTFSC STATUS, Z
goto M1
INCF KOL, 1
M1
MOVF R5, 0
SUBWF R3,0
BTFSC STATUS, Z
goto M2
INCF KOL, 1
M2
MOVF R5, 0
SUBWF R4,0
BTFSC STATUS, Z
goto M3
INCF KOL, 1
M3
MOVF KOL, 0
MOVWF PORTC /Выводим переменную KOL
goto $
END
Итог указан на рисунке 1.
Рисунок 1 - Результат кода
Что мы в итоге получили? А то, что в коде у нас не было ни одного нулевого элемента. Соответственно количество ненулевых элементов равняется четырем. «4» в двоичной системе - 00000100.
Если мы назначим в качестве регистра нулевой элемент, допустим поменяем значение R2 на 00000000 то в индикаторе загорятся две лампочки, так как цифра «3» в двоичной системе - 00000011. Результат указан на рисунке 2.
Рисунок 2 - Результат одного нулевого элемента
Вывод
Получили навыки сравнения нулевого флага с 0 или 1.В коде у нас не было ни одного нулевого элемента. Соответственно количество ненулевых элементов равняется четырем. «4» в двоичной системе - 00000100.
Заменили один регистр на нулевое значение в итоге получили соответствующий результат.
Размещено на Allbest.ru
...Подобные документы
Изучение некоторых аспектов языка Ассемблера и ЭВМ в целом. Построение алгоритмов решения поставленной задачи на языках программирования Си, Ассемблер УМ и IBM PC. Составление блок-схем решений и написание программ на каждом из перечисленных языков.
курсовая работа [691,5 K], добавлен 20.10.2014Принципы и алгоритмы обработки прерываний. Набор действий по реализации этапов обработки прерываний микропроцессора. Разработка структуры и алгоритма резидентной программы. Реализация программы на языке Ассемблер, методы её отладки и тестирования.
курсовая работа [348,7 K], добавлен 22.12.2014Разработка линейной программы на языке С++. Разработка программ с разветвленной структурой. Составление по заданному варианту схемы алгоритма и программы вычисления тригонометрической функции с абсолютной погрешностью с использованием разложения в ряд.
лабораторная работа [1,2 M], добавлен 12.01.2011Изучение основных конструкций и способов написания программ на языке Паскаль. Обзор принципов работы и интерфейса написанной программы. Обработка и модификация двумерных массивов. Файловые структуры данных. Текстовые файлы. Элементы машинной графики.
курсовая работа [761,7 K], добавлен 11.03.2015Построение базовой линейной структуры и организация ввода с формы переменной. Определение значения функции и построение блок-схемы базовой структуры "ветвление". Использование цикла со счетчиком. Рассмотрение особенностей работы с одномерными массивами.
контрольная работа [1,4 M], добавлен 10.12.2021Процесс трансляции программы на языке ассемблера в объектный код. Разработка интерфейса для взаимодействия и связи программ. Понятие компиляции. Структура модели микропроцессора. Пример структуры двухбайтной команды. Арифметическо-логичесткие операции.
дипломная работа [3,3 M], добавлен 26.11.2012Написание модуля на языке Ассемблер для вычисления значения выражения. Составление программы корректного ввода исходных данных в таблицу и вывода результата в виде таблицы. Создание модуля для обработки строк и программы корректного ввода исходных данных.
курсовая работа [36,8 K], добавлен 18.09.2010Разработка на языке ассемблера алгоритма контроля, на циклический CRC-код, массива данных хранящегося в некоторой области памяти. Сохранение кода для последующей периодической проверки массива данных. Сообщение об искажении данных. Описание алгоритма.
курсовая работа [453,0 K], добавлен 27.02.2009Изучение особенностей операционной системы, набора программ, контролирующих работу прикладных программ и системных приложений. Описания архитектуры и программного обеспечения современных операционных систем. Достоинства языка программирования Ассемблер.
презентация [1,3 M], добавлен 22.04.2014Типовые структуры блок-схем алгоритмов обработки данных на языке "Ассемблер" для простых микропроцессорных систем управления различными процессами. Реализация типовых функций управления, ее принципы и закономерности, правила графического оформления.
методичка [572,8 K], добавлен 02.10.2010Программная модель МП с регистр-аккумуляторной архитектурой. Особенности программирования в машинных кодах, мнемокодах и на языке ассемблера. Правила составления схем алгоритмов. Порядок ввода, редактирования, трансляции и отладки прикладных программ.
контрольная работа [266,1 K], добавлен 21.08.2010Ввод и вывод чисел при помощи подключаемого модуля IO. Особенности работы с одномерными и двухмерными массивами. Тестирование состояние флагов. Рринципы и навыки работы с компилятором и отладчиком. Разработка схемы алгоритма программы на языке ассемблер.
курсовая работа [1,3 M], добавлен 02.12.2009Изучение языка низкого уровня ассемблер для написания примера программы для 16 битного приложения. Разработка и реализация алгоритма поднесения чисел к степени чисел над полем за основанием 2 (mod 2). Иллюстрация техники создания DOS приложения.
курсовая работа [33,3 K], добавлен 08.11.2011Приобретение навыков структурных блок-схем и листингов программ на языке "Ассемблер" для простых микропроцессорных систем управления процессами. Типовые структуры блок-схем алгоритмов обработки данных. Программная реализация типовых функций управления.
методичка [1007,8 K], добавлен 01.10.2010Описание функциональных блоков микрокомпьютера. Основы построения программных средств. Принципы соединения аппаратных средств микропроцессорных систем. Разработка электрической принципиальной схемы и программы функционирования на языке Ассемблер.
курсовая работа [176,8 K], добавлен 12.01.2015Изучение команд для обработки строк, приемов, используемых в работе со строками, приемы их использования. Команды префикса повторения. Приемы программирования на языке Ассемблера с использованием подпрограмм, работа с командами вызова подпрограмм.
методичка [121,0 K], добавлен 18.12.2011Характеристика предприятия ТОО "Com Sales Group". Составление программ на языке программирования. Составление алгоритмов, разработка численных методов решения задач. Методы откладки программ. Анализ технологии машинной обработки экономической информации.
отчет по практике [1,3 M], добавлен 19.04.2016Составление алгоритмов и написание программ циклической структуры с использованием векторов, указателей и векторов указателей на вектор на языке C++. Статическое и динамическое распределение памяти. Функция ввода и обработки элементов вектора или матрицы.
контрольная работа [210,5 K], добавлен 25.03.2015Схема разбора арифметического и логического выражения. Внешняя спецификация конвертора и алгоритм перевода программ на языке Паскаль в текст на языке Си. Назначение подпрограмм, особенности констант и переменных. Код программы и ее тестирование.
курсовая работа [567,5 K], добавлен 03.07.2011Выбор режимов адресации, посредством которых будет осуществлен доступ к данным. Этапы создания программы. Характеристика таблицы символов и полученного файла листинга. Анализ изменения состояния регистра IP при выполнении команд JMP, Jcc, LOOPx.
курсовая работа [4,9 M], добавлен 25.03.2012