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

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

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

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