Составление программ линейной структуры на языке Ассемблер (решение индивидуальной задачи)

Проведение исследования основных принципов составления программ линейной структуры на языке Ассемблер. Характеристика нахождения количества ненулевых элементов. Особенность замены одного регистра на нулевое значение. Определение результата кода.

Рубрика Программирование, компьютеры и кибернетика
Вид отчет по практике
Язык русский
Дата добавления 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.