Составление программ линейной структуры на языке Ассемблер (решение индивидуальной задачи)
Проведение исследования основных принципов составления программ линейной структуры на языке Ассемблер. Характеристика нахождения количества ненулевых элементов. Особенность замены одного регистра на нулевое значение. Определение результата кода.
| Рубрика | Программирование, компьютеры и кибернетика |
| Вид | отчет по практике |
| Язык | русский |
| Дата добавления | 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


