Разработка программы на языке Ассемблера

Анализ основных этапов развития вычислительной техники. Модульно-магистральный принцип построения ЭВМ. Разработка программы на языке ассемблера: постановка задачи и разработка алгоритма, его формализация, таблица использования памяти и регистров.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 25.02.2019
Размер файла 832,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

2

Размещено на http://www.allbest.ru/

Балаковский инженерно-технологический институт Балаково, Россия

Разработка программы на языке Ассемблера

Герасимов Е.М.

Содержание

Введение

1. Этапы развития вычислительной техники

2. Модульно-магистральный принцип построения ЭВМ

2.1 Внешние запоминающие устройства

2.2 Принцип работы внешних запоминающих устройств

3. Классическая архитектура ЭВМ

4. Классификация ЭВМ

5. Разработка программы на языке ассемблера

5.1 Постановка задачи и разработка алгоритма

5.2 Формализация алгоритма

5.3 Результат работы программы

5.4 Таблица использования памяти и регистров

6. Разработка программы на языке ассемблера для контроля параметров среды внутри самолета

6.1 Постановка задачи и разработка алгоритма

6.2 Формализация алгоритма

Заключение

Список использованных источников

Введение

вычислительный техника программа ассемблер

В наше время использование информационных систем - это важная составляющая всех предприятий, сложно представить работу предприятий без использования информационных систем.

Объёмы производства в наши дни очень велики, из чего следует, что необходимы средства для быстрой обработки информации и удобной работы с ней. Так же нужна и возможность быстрого обращения к информации, возможность быстрого поиска информации за ограниченное время; реализация математической и логической обработки данных.

Управление крупными предприятиями, управление экономикой на уровне страны требуют усилий крупных коллективов. Расположение этих коллективов может быть разбросано, от разных районов, до разных стран. В решении масштабных задач, например, реализация экономической стратегии, необходимы высокая скорость и удобство обмена информацией между всеми участниками процесса управления экономикой.

Так, как объёмы поступающей на обработку информации очень велики, в наше время используются Электро-Вычислительные Машины (ЭВМ) для обработки этой информации. В данной курсовой работе более подробно рассмотрим, что представляют собой ЭВМ. [1,2].

1. Этапы развития вычислительной техники

Появившись на свет, ЭВМ развивались без остановки. Каждое следующее поколение ЭВМ отличалось от предыдущего множеством свойств.

На данный момент выделяют 6 поколений (рисунок 1).

Размещено на http://www.allbest.ru/

2

Размещено на http://www.allbest.ru/

Рисунок 1 - Поколения ЭВМ

ЭВМ первого поколения в качестве элементной базы использовали электронные лампы; оперативная память выполнялась на триггерах, позднее на ферритовых сердечниках; быстродействие было, как правило, в пределах от пяти до тридцати тысяч арифметических операций в секунду; они отличались невысокой надежностью, требовали систем охлаждения и имели значительные габариты.

Процесс программирования требовал хорошего знания архитектуры ЭВМ и ее программных возможностей. По началу на данном этапе использовалось программирование в кодах ЭВМ (машинный код), позже появились ассемблеры и автокоды. Обычно, ЭВМ первого поколения использовались для научно-технических расчетов, а программированием занимался небольшой круг людей, состоящий в основном из физиков, математиков и инженеров-электриков.

Второе поколение ЭВМ началось с ЭВМ RCA-501, которая появилась в 1959 году в США. Она была создана на полупроводниковой базе. Между тем, еще в 1955 году была создана бортовая транзисторная ЭВМ для межконтинентальной баллистической ракеты ATLAS [4,5].

Новая элементная технология позволила резко повысить надежность, снизить габариты и потребляемую мощность, а также значительно повысить производительность. Это позволило создавать ЭВМ с большими логическими возможностями и производительностью, что способствовало распространению сферы применения ЭВМ на решение задач плановоэкономических, управления производственными процессами и многих других задач.

В рамках второго поколения все более ясно проявляется дифференциация ЭВМ на малые, средние и большие. Конец 50-х годов характеризуется началом этапа автоматизации программирования, которая привела к появлению языков программирования Fortran (1957 г.), Algol-60 [4,5].

Третье поколение связывается с появлением ЭВМ с элементной базой на интегральных схемах (ИС). Программное обеспечение, которое обеспечивает функционирование ЭВМ во всех режимах работы, стало мощнее. Появились развитые системы управления базами данных (СУБД), системы автоматизирования проектных работ (САПР); большое внимание уделялось созданию пакетов прикладных программ (ППП) различного назначения. Появились новые языки программирования и развивались уже существующие.

Конструктивно-технологической основой ЭВМ четвертого поколения стали большие и сверхбольшие интегральные схемы, которые были созданы в 70-80-х годах. Такие интегральные схемы содержат уже десятки, сотни тысяч и миллионы транзисторов на одном кристалле (чипе).

Самой известной серией ЭВМ четвертого поколения считается IВМ/370, которая в отличие от не менее известной серии IВМ/360 3-го поколения, имеет более развитую систему команд и более широкое использование микропрограммирования. [4,5].

Феномен персонального компьютера (ПК) восходит к созданию в 1965 году, первой мини-ЭВМ PDP-8, появившейся в результате универсализации специализированного микропроцессора для управления ядерным реактором. Машина быстро обрела популярность и стала первым массовым компьютером этого класса. Следующим важным шагом стал переход от мини- к микро-ЭВМ; этот новый структурный уровень Вычислительной Техники формировался на рубеже 70-х годов, после появления возможности создать универсальный процессор на одном кристалле, благодаря большим интегральным схемам. [5].

В соответствии с идеологией развития компьютерных технологий, после четвёртого поколения, которое было построено на сверхбольших интегральных схемах, ожидалось создание следующего поколения, ориентированного на распределенные вычисления, одновременно считалось, что пятое поколение станет базой для создания устройств, способных к имитации мышления

ЭВМ пятого поколения - ЭВМ с многими десятками параллельно работающих микропроцессоров, которые позволяют строить эффективные системы обработки знаний [3,9].

Предполагалось, что ЭВМ пятого поколения будут основаны на принципиально новой элементной базе. Основным их качеством должен быть высокий интеллектуальный уровень, в частности, распознавание речи, образов. Это требует перехода от традиционной фон-неймановской архитектуры компьютера к архитектурам, учитывающим требования задач создания искусственного интеллекта [6].

Шестое поколение ЭВМ - последующие поколения: оптоэлектронных ЭВМ с массовым параллелизмом и нейронной структурой -- с распределенной сетью большого числа (десятки тысяч) несложных микропроцессоров, которые моделируют архитектуру нейронных биологических систем [9].

2. Модульно-магистральный принцип построения ЭВМ

В основу архитектуры современных персональных компьютеров положен магистрально-модульный принцип, позволяющий потребителю самому комплектовать нужную ему конфигурацию компьютера и производить ее модернизацию. Модульная организация компьютера опирается на магистральный (шинный) принцип обмена информацией между устройствами (рисунок 2).

Размещено на http://www.allbest.ru/

2

Размещено на http://www.allbest.ru/

Рисунок 2 - Модульная организация компьютера

Магистраль (системная шина) состоит из трёх многоразрядных шин: шины данных, шины адреса и шины управления, представляющих собой многопроводные линии. К магистрали подключаются процессор и оперативная память, а также периферийные устройства ввода, вывода и хранения информации, которые обмениваются информацией на машинном языке (последовательностями нулей и единиц в форме электрических импульсов).

По шине данных данные передаются между различными устройствами. К примеру, данные, которые считаны из оперативной памяти могут быть переданы процессору для обработки, а после полученные данные могут быть отправлены обратно в оперативную память для хранения. Так данные по шине данных могут передаваться от устройства к устройству в любом направлении [7].

Преимуществом модульно-магистрального принципа построения ЭВМ является то, что потребитель может сам комплектовать компьютер, заменяя какую-либо аппаратную составляющую (например, с появлением новой карты оперативной памяти потребитель может заменить ту, которая у него была установлена на более новую, улучшив свою ЭВМ). Также потребитель может не заменить аппаратную составляющую, а добавить к уже имеющейся ещё одну, например, использовать внешние запоминающие устройства для увеличения компьютерной памяти, подключить к ЭВМ дополнительный жесткий диск, что возможно только при модульно-магистральном принципе построения ЭВМ. Рассмотрим внешние запоминающие устройства в рамках модульно-магистрального принципа построения ЭВМ.

2.1 Внешние запоминающие устройства

Внешнее запоминающее устройство (ВЗУ) - устройство которое взаимодействует с компьютером по модульно-магистральному принципу, посредством подключения присоединения к ЭВМ через USB порт.

Внешнее запоминающее устройство-- устройство, которое реализует компьютерную память и которое предназначено для записи и хранения данных. Основа работы запоминающего устройства - это любой физический эффект, который сможет обеспечить приведение системы к двум или более устойчивым состояниям [5].

Примерами ВЗУ в рамках модульно-магистрального принципа взаимодействия с ЭВМ, могут служить флеш-накопители и жесткие диски. Их преимущество в том, что их можно легко отсоединять от ЭВМ и присоединять к другому ЭВМ, что позволяет пользоватсья информацией, которая хранится на них, с любого ЭВМ.

USB-флеш-накопитель - это запоминающее устройство, которое использует флеш-память в качестве носителя и подключается к компьютеру или другому считывающему устройству через USB.

Внешний жёсткий диск -- портативное запоминающее устройство. Название унаследовано от накопителей на жёстких магнитных дисках и не подразумевает обязательного наличия каких-либо дисков в устройстве [5, 9].

2.2 Принцип работы внешних запоминающих устройств

Компьютерная память состоит из двоичных запоминающих элементов, являющихся группами битов (по 8 бит или байты), являющиеся единицами измерения памяти и единицами измерения информации. Байты имеют нумерацию. Номера байтов - это их адресами. Байты могут объединяться в ячейки, которые называются также словами. Каждый компьютер имеет определённую длину слова (2, 4 или 8 байтов). Но возможность использования ячеек памяти другой длины не является исключённой и имеет место быть.

Ячейки компьютерной памяти фиксируют разные физические воздействия. Они функционально аналогичны обычному электромеханическому переключателю. Информация в них записывается в виде двух состояний (0 - выключено, 1 - включено). Процесс доступа к памяти разбит на разделённые во времени процессы: операцию записи информации и операцию чтения информации, проходящие, чаще всего, находясь под управлением специального устройства (контроллера памяти). Также различают операцию стирания памяти, что является занесением в ячейки памяти одинаковых значений, обычно это FF16или 0016 [5].

3. Классическая архитектура ЭВМ

Архитектура ЭВМ включает в себя как структуру, отражающую состав персонального компьютера (ПК), так и программно-математическое обеспечение. Структура ЭВМ является совокупностью элементов и связей между этими элементами. Основной принцип построения современных ЭВМ - это программное управление. Основы учения об архитектуре вычислительных машин были заложены Джон фон Нейманом. Совокупность этих принципов породила классическую архитектуру ЭВМ.

Компьютер состоит из нескольких основных устройств (арифметико-логическое устройство, управляющее устройство, память, внешняя память, устройства ввода и вывода). Арифметико-логическое устройство нужно для совершения арифметических и логических действий, которые нужны для обработки информации, которая хранится в памяти компьютера. Управляющее устройство обеспечивает контроль и управление всех компьютерных устройств.

Данные, хранящиеся в запоминающем устройстве, представлены в виде двоичного кода. Программа, задающая работу компьютера, и данные хранятся в одном и том же запоминающем устройстве. Для ввода и вывода информации используются устройства ввода и вывода [8].

Один из важнейших принципов - принцип хранимой программы, который требует, чтобы программа закладывалась в память машины так же, как в нее закладывается исходная информация.

Арифметико-логическое устройство и устройство управления в современных компьютерах образуют процессор ЭВМ. Процессор, состоящий из одной или нескольких больших интегральных схем, называется микропроцессором или микропроцессорным комплектом.

Процессор - это функциональная составляющая ЭВМ, которая выполняет основные операции по обработке данных и управлению работой других блоков. Процессор является преобразователем информации, которая поступает из памяти и внешних устройств.

Запоминающие устройства обеспечивают хранение исходных и промежуточных данных, результатов вычислений, а также программ. Они включают в себя: постоянные (ПЗУ), внешние (ВЗУ), оперативные (ОЗУ), сверхоперативные (СОЗУ) запоминающие устройства [5,8].

Оперативные записывающие устройства хранят информацию, с которой компьютер работает в данное время. В сверхоперативных записывающих устройствах хранятся данные, которые процессор использует чаще всего. Только информация, хранящаяся в сверхоперативном записывающем устройстве и оперативном записывающем устройстве, непосредственно доступна для процессора.

Внешние запоминающие устройства, (накопители на магнитных дисках, например, жесткий диск или винчестер) имеющие ёмкость гораздо большую, чем оперативные записывающие устройства, но так же имеющие более медленный доступ к данным. Они используются для длительного хранения информации большого объёма. К примеру, операционная система (ОС) хранится на жестком диске, но при запуске компьютера резидентная часть операционной системы загружается в оперативное записывающее устройство и находится в нём до тех пор, пока сеанс работы компьютера не завершится.

ПЗУ (постоянные запоминающие устройства) и ППЗУ (перепрограммируемые постоянные запоминающие устройства) предназначены для постоянного хранения информации, записывающейся туда при ее изготовлении, например, ППЗУ для BIOS.

В качестве устройства ввода информации может служить, к примеру, клавиатура. В качестве устройства вывода информации может служить, например, дисплей или принтер [8].

4. Классификация ЭВМ

Компьютеры могут быть классифицированы по ряду различных признаков, например по принципу действия, по назначению, по способам организации вычислительного процесса, по размерам и по вычислительной мощности, также по функциональным возможностям, по способности к параллельному выполнению программ и многим другим признакам.

Учитывая вышеперечисленные признаки, можно по разному классифицировать ЭВМ, рассмотрим следующую классификацию:

- Классификация ЭВМ по принципу действия;

- Классификация ЭВМ по назначению;

- Классификация ЭВМ по размерам и функциональным возможностям.

Классификация ЭВМ по принципу действия. Электронная вычислительная машина, компьютер - комплекс технических средств, которые предназначены для автоматической обработки информации в процессе решения вычислительных и информационных задач.

По принципу действия вычислительные машины принято делить на три больших класса:

- Аналоговые (АВМ);

- Цифровые (ЦВМ);

- Гибридные (ГВМ).

Критерием деления вычислительных машин на эти три класса является форма, в которой представляется информация, с которой работают вычислительные машины.

Цифровые вычислительные машины (ЦВМ) - вычислительные машины дискретного действия, работают с информацией, которая представлена в цифровой форме, или говоря иначе, в дискретной форме [3,9, 10].

Аналоговые вычислительные машины (АВМ) - вычислительные машины непрерывного действия, которые работают с информацией, которая представлена в непрерывной (аналоговой) форме, иначе говоря, в виде непрерывного ряда значений какой-либо физической величины.

Гибридные вычислительные машины (ГВМ) - вычислительные машины комбинированного действия, работают с информацией, представленной как в цифровой форме, так и в аналоговой форме; они совмещают достоинства аналоговых вычислительных машин и цифровых вычислительных машин. Гибридные вычислительные машины используются для решения задач управления сложными быстродействующими техническими комплексами.

Более широкое применение, по сравнению с другими вычислительными машинами, получили цифровые вычислительные машины с электрическим представлением дискретной информации - электронные цифровые вычислительные машины, которые называют электронными вычислительными машинами (ЭВМ), не упоминая об их цифровом характере.

Классифицируя ЭВМ по назначению, можно выделить три группы:

– Универсальные (общего назначения);

– Проблемно-ориентированные; - Специализированные.

Универсальные ЭВМ решают самые различные технические задачи: информационные, математические, и другие задачи, которые отличаются сложностью алгоритмов и объёмом обрабатываемых данных. Они широко используются в вычислительных центрах коллективного пользования и в других мощных вычислительных комплексах.

Проблемно-ориентированные ЭВМ нужны для решения более узкого круга задач, которые связаны с управлением технологическими объектами; регистрацией, накоплением и обработкой относительно небольших объемов данных; выполнением расчетов по относительно несложным алгоритмам; они обладают ограниченными по сравнению с универсальными ЭВМ аппаратными и программными ресурсами. К проблемно-ориентированным ЭВМ можно отнести, всевозможные управляющие вычислительные комплексы.

Специализированные ЭВМ используются для решения узкого крута задач или реализации определённых функций. Узко-ориентированные ЭВМ дают возможность ясно специализировать их структуру, упростить их и уменьшить цену на ЭВМ, сохранив высокую производительность и надёжность ЭВМ. Специализированными ЭВМ можно считать, к напримеру, программируемые микропроцессоры специального назначения; адаптеры и контроллеры, которые выполняют логические функции управления отдельными техническими устройствами [3,5,9].

По размерам и функциональным возможностям ЭВМ можно разделить на:

? сверхбольшие (суперЭВМ);

? большие (Mainframe);

? малые;

? сверхмалые (микроЭВМ).

Персональные компьютеры можно классифицировать по типоразмерам: 1) настольные 2) портативные, 3) карманные.

Настольные модели являются более распространёнными и отличаются тем, что можно легко изменять конфигурации, благодаря подключению дополнительных внешних приборов и установки дополнительных внутренних компонентов.

Портативные модели удобно транспортировать, в связи с чем, их часто используют бизнесмены и руководители предприятий, которым часто приходится быть в командировках. С портативным компьютером можно работать не имея рабочего места. Портативные компьютеры также можно использовать, в качестве средства связи. Подключив портативный компьютер к телефонной сети, можно установить обмен данными между своим портативным компьютером и центральным компьютером своей организации из любой географической точки.

Карманные модели компьютеров выполняют функции «интеллектуальных записных книжек». Они дают возможность хранить оперативные данные, а также получать быстрый доступ к ним. Существуют корманные модели компьютеров, у которых жестко встроенное программное обеспечение, что снижает возможность выбора прикладных программ, но облегчает непосредственную работу.

Многопользовательские микроЭВМ - являются мощными микроЭВМ, которые оборудованы несколькими видеотерминалами и функционируют в режиме разделения времени, благодаря чему, на них могут эффективно выполнять работу несколько пользователей одновременно.

Персональные компьютеры (ПК) - являются однопользовательскими микроЭВМ, имеющие универсальность применения и общедоступность.

Рабочие станции - это однопользовательские мощные микроЭВМ, которые специализированы на выполнение определенного вида задач.

Серверы - являются многопользовательскими мощными микроЭВМ в вычислительных сетях, которые выделены для обработки запросов от всех станций сети [9, 10].

По уровню специализации компьютеры принято делить на универсальные и специализированные.

На базе универсальных компьютеров собираются вычислительные системы произвольной конфигурации. Таким образом, один и тот же персональный компьютер используется для работы и с текстами, и с музыкой, и с графикой и так далее.

Специализированные компьютеры используются для решения конкретных задач. Специализированными компьютерами считаются бортовые компьютеры автомобилей, самолётов, космических кораблей.

Классификация по совместимости. Существует много различных видов компьютеров, выпускающихся разными производителями, которые собираются из разных деталей, которые имеют разное программное обеспечение. В связи с этим, совместимость разных компьютеров между собой является очень важной проблемой. Совместимость тесно связана с взаимозаменяемостью приборов и узлов, которые предназначены для разных компьютеров. Также от совместимости зависит возможность переноса программ с разных компьютеров друг на друга и возможность совместной работы различных типов компьютеров с одними и теми же данными.

По аппаратной совместимости различают аппаратные платформы. У персональных компьютеров более популярны аппаратные платформы: 1ВМ РС и Аррlе Macintosh. Помимо этих двух аппаратных платформ есть и другие аппаратные платформы, распространёнными в отдельных регионах или отдельных отраслях. Если компьютеры принадлежат к одной и той же аппаратной платформе, то совместимость между ними повысится, а если компьютеры принадлежат разным аппаратным платформам, то будут иметь между собой более плохую.

Классификация по типу используемого процессора. Процессор является основной составляющей любого компьютера. В электронно-вычислительных машинах им является специальный блок, а в персональных компьютерах им является специальная микросхема, выполняющая вычисления. Даже при принадлежности компьютеров к одной аппаратной платформе, компьютеры могут иметь разный тип процессора, который они используют. Тип используемого компьютером процессора влияет на большинство технических свойств и характеристик компьютера [3,9].

Классификация компьютеров по назначению является одной из ранних классификаций компьютеров. Метод классификации компьютеров по назначению связан с применением компьютера. По этому методу компьютеры делят на большие ЭВМ (электронно-вычислительные машины), мини-ЭВМ, микро-ЭВМ, и персональные компьютеры, подразделяющиеся на массовые, деловые, портативные, развлекательные и рабочие станции.

Большие ЭВМ высокую стоимость обслуживания и оборудования, в связи с чем, работа больших ЭВМ (суперкомпьютеров) организована по непрерывному циклу. Самые трудоемкие и продолжительные вычисления производят в ночное время, когда количество обслуживающего персонала является минимальным. В дневные часы ЭВМ производит не трудные, но многочисленные задачи. Для того, чтобы повысить эффективность, компьютер выполняет несколько задач, работая с несколькими пользователями одновременно. Он поочередно переключается с задачи на задачу настолько быстро, что у каждый пользовател думает, что компьютер обрабатывает только его запросы. Распределение ресурсов таким образом называется принципом разделения времени.

Мини-ЭВМ отличаются от больших ЭВМ соответственно меньшими размерами, меньшей стоимостью и меньшей производительностью. Мини-

ЭВМ применяются крупными предприятиями, банками, научными учреждениями и высшими учебными заведениями, которые сочетают в себе учебную деятельность и научную.

На промышленных предприятиях мини-ЭВМ используются для управления промышленными процессами, производством и для выполнения других задач, таких как осуществлять контроль себестоимости продукции, помогать в оптимизации времени, затрачиваемого на технические операции, также помогает автоматизировать проектирование станочных приспособлений, вести учёт документов, подготавливать экономические отчёты для налоговой. Для организации работы с мини-ЭВМ необходим специальный вычислительный центр, хоть и менее многочисленный по сравнению с требованиями к большим ЭВМ.

Микро-ЭВМ являются компьютерами, класс которых доступен для предприятий. Организации, которые используют микро-ЭВМ, как правило не создают вычислительные центры. Для обслуживания мини-ЭВМ им хватает и маленькой вычислительной лаборатории и несколько человек, среди которых обязательно должен быть программист, хоть они и не будут разрабатывать программы напрямую. Системные программы, которые необходими для миниЭВМ, покупаются вместе с компьютером, а создание прикладных программ поручается крупным вычислительным центрам.

Персональные компьютеры (ПК) - эта категория компьютеров получила особо бурное развитие в течение последних двадцати лет. Из названия видно, что такой компьютер предназначен для обслуживания одного рабочего места. Как правило, с персональным компьютером работает один человек. Несмотря на свои небольшие размеры и относительно невысокую стоимость, современные персональные компьютеры обладают немалой производительностью. Многие современные персональные модели превосходят большие ЭВМ 70-х годов, мини-ЭВМ 80-х годов и микро-ЭВМ первой половины 90-х годов. Персональный компьютер (Personal Computer, РС) вполне способен удовлетворить большинство потребностей малых предприятий и отдельных лиц [3,9].

Персональные компьютеры можно классифицировать по ряду признаков.

По поколениям персональные компьютеры делятся следующим образом:

? ПК 1-го поколения - используют 8-битные микропроцессоры;

? ПК 2-го поколения - используют 16-битные микропроцессоры;

? ПК 3-го поколения - используют 32-битные микропроцессоры;

? ПК 4-го поколения - используют 64-битные микропроцессоры;

? ПК 5-го поколения - используют 128-битные микропроцессоры.

Согласно спецификации РС99 большинство персональных компьютеров, присутствующих в настоящее время на рынке, попадают в категорию массовых ПК. Для деловых ПК минимизированы требования к средствам воспроизведения графики, а к средствам работы со звуковыми данными требования вообще не предъявляются. Для портативных ПК обязательным является наличие средств для создания соединений удаленного доступа, то есть средств компьютерной связи. В категории рабочих станций повышены требования к устройствам хранения данных, а в категории развлекательных ПК - к средствам воспроизведения графики и звука.

Таким образом, в заключение можно сказать следующее. На настоящий момент существует множество систем и методов, принципов и оснований классификации ЭВМ. В данной работе были приведены наиболее распространенные классификации ЭВМ [9].

Таким образом, ЭВМ классифицируются по назначению (большие ЭВМ, мини-ЭВМ, микро-ЭВМ, персональные компьютеры), по уровню специализации (универсальные и специализированные), по типоразмерам (настольные, портативные, карманные, мобильные), по совместимости, по типу используемого процессора и многим другим своим признакам.

5. Разработка программы на языке ассемблера

5.1 Постановка задачи и разработка алгоритма

Даны два одномерных массива одинаковой размерности. Массивы заполнить случайными числами. Сформировать третий массив следующим образом: первый элемент берётся из первого массива, второй элемент из второго массива и так далее. Полученный массив отсортировать по возрастанию и найти произведение всех элементов полученного массива.

1. Создать массив «a» размерностью 5;

2. Создать массив «b» размерностью 5;

3. Создать массив «c» размерностью 10;

4. Заполнить массив «a случайными числами;

5. Заполнить массив «b» случайными числами;

6. Сформировать массив «c»;

7. Вывести массивы «a», «b», «c»;

8. Отсортировать массив «с» в порядке возрастания значения элементов; 9. Найти произведение элементов массива «c».

5.2 Формализация алгоритма

Ниже представлен код программы:

#include "iostream"

#include <time.h>

#include <conio.h> #include <stdio.h> void main() { setlocale(0, "rus"); int a[5]; int b[5]; int c[10]; int summ=0; srand(time(NULL));

for(int i=0; i<5; i++) { a[i] = 1 + rand()%10; b[i] = 1 + rand()%10; } _asm { lea EBX, a lea EDI, b lea ESI, c

mov ECX, 5 metka: mov EAX, [EBX] mov [ESI], EAX add ESI, 6 mov EDX, [EDI] mov [ESI], EDX add ESI, 6 add EBX, 6 add EDI, 6 loop lab } printf("Массив a: "); for(int i=0; i<5; а++) { printf("%i\t", a[i]); } printf("\n\nМассив b: "); for(int i=0; i<5; i++) { printf("%i\t", b[i]); } printf("\n\nМассив с: "); for(int i=0; i<10; i++) { printf("%i\t", c[i]); }

_asm { lea ebx, c mov ecx, 10 for1: push ecx mov esi, 0 mov edx, 4 mov ecx, 9 for2:

mov ah, [ebx+edx] mov al, [ebx+esi] cmp ah, al jc lable jmp fnl lable:

mov [ebx+edx], al mov [ebx+esi], ah fnl: add esi, 4 add edx, 4 loop for2 pop ecx loop for1 }

printf("\n\nМассив 3 отсортированный: "); for(int i=0; i<10; i++) {

printf("%i\t", c[i]); }

_asm { lea ebx, c mov eax, [ebx] mov ecx, 5 lab2:

add ebx, 4 mov edx, [ebx] mul edx loop lab2 mov summ, eax }

printf("\n\nПроизведение элементов 3 массива: %i", summ); printf("\n\n"); system("pause");\ }

5.3 Результат работы программы

Результат работы программы представлен на рисунке 1. Результат работы программы - это вывод на экран массива «a», массива «b», массива «c» и массива «c» после сортировки.

Рисунок 1 - Результат работы программы

5.4 Таблица использования памяти и регистров

Рассмотрим модуль сравнения массивов «a» и «b», необходимый для нахождения больших значений, которые будут занесены в массив «с». В данном модуле мы использовали регистры общего назначения:

ECX - регистр общего назначения, использовали для указания количества итераций.

ESI - Регистр общего назначения, использовали для хранения количества бит, добавляемых к адресу, необходимого для перехода с одного значения массива на следующий, в каждой итерации.

EDX - регистр общего назначения, использовали для указания на данные из массива «а». И также указывает на массив «с» для занесения в него большего значения.

EBX - регистр общего назначения, использовали для указания на данные из массива «б».

EAX - регистр общего назначения, использовали для хранения значения из массива «а», для конкретно этой итерации, чтобы сравнить значение.

EDI - регистр общего назначения, использовали для хранения значения из массива «б», для конкретно этой итерации, чтобы сравнить значение.

В данных таблицах представлены значения регистров на разных этапах выполнения кода, в которых использовались операции связанные с изменением значения регистров, и на разных итерациях (первая, вторая и третья итерации).

Таблица 1 - Первая итерация

Регистр

Операция

Значение

«до»

Значение

«после»

1

2

3

4

5

1

ECX

mov ecx, 10

100

10

2

ESI

mov esi, 0

14219776

0

3

EDX

Lea edx, a

36

14220140

4

EBX

Lea ebx, b

2132996096

14220092

5

EAX

Mov eax, [edx+esi]

10

41

6

EDI

Mov edi, [ebx+esi]

14220184

67

7

EAX

Cmp eax, edi

41

41

8

EDI

Cmp eax, edi

67

67

9

EDX

Lea edx, c

14220140

14220044

10

ESI

Add esi, 4

0

4

Таблица 2 - Вторая итерация

Регистр

Операция

Значение

«до»

Значение

«после»

1

2

3

4

5

1

EDX

Lea edx, a

14220044

14220140

2

EBX

Lea ebx, b

14220092

14220092

3

EAX

Mov eax, [edx+esi]

41

34

4

EDI

Mov edi, [ebx+esi]

67

0

5

EAX

Cmp eax, edi

34

34

6

EDI

Cmp eax, edi

0

0

7

EDX

Lea edx, c

14220140

14220044

8

ESI

Add esi, 4

4

8

Таблица 3 - Третья итерация

Регистр

Операция

Значение

«до»

Значение

«после»

1

2

3

4

5

1

EDX

Lea edx, a

14220044

14220140

2

EBX

Lea ebx, b

14220092

14220092

3

EAX

Mov eax, [edx+esi]

34

69

4

EDI

Mov edi, [ebx+esi]

0

24

5

EAX

Cmp eax, edi

69

69

6

EDI

Cmp eax, edi

24

24

7

EDX

Lea edx, c

14220140

14220044

8

ESI

Add esi, 4

8

12

6. Разработка программы на языке ассемблера для контроля параметров среды внутри самолета

В качестве второго практического задания к курсовой работе по дисциплине «Архитектура информационных систем» необходимо реализовать программу, отслеживающую параметры среды внутри самолета с аппаратными датчиками и микроконтроллером.

6.1 Постановка задачи и разработка алгоритма

Целью задания является считывание исходных данных (в виде дискретных сигналов) и дальнейшая их обработка для определения состояния, управления и контроля работы системы. Предполагается, что работа автоматизированной системы в заданной предметной области обеспечена некоторым микроконтроллером (без операционной системы и оболочек), следовательно, написание программного обеспечения для микроконтроллера возможно только на языке Ассемблера.

Автоматизированная система должна контролировать не менее трёх параметров (три датчика), значение которых будет генерироваться случайным образом в диапазоне соответствующего датчика.

Датчики -- это группа автономных, законченных изделий, предназначенных для преобразования измеряемой информации в дискретные данные для последующей передачи в измерительные, или исполнительные устройства (микроконтроллеры). В соответствии с задачей, для проведения контроля среды внутри борта воздушного судна были выбраны три датчика: датчик температуры, датчик влажности и датчик давления.

Датчик температуры необходим для контроля температуры внутри салона самолета для обеспечения комфортной температурной среды внутри салона при полете, поскольку температура окружающей среды за бортом составляет порядка -600С.

Датчик влажности предоставляет контроллеру информацию о влажности окружающей среды. Это необходимо для того, чтобы у пассажиров не возникало чувства «сухости» из-за пониженного давления в салоне и постоянной работы системы кондиционирования.

Датчик давления необходим для стабилизации давления внутри салона воздушного судна во время набора высоты и снижения.

По условию задачи, датчики подключены к микроконтроллеру по однопроводной последовательной шине данных, соответственно в один момент времени можно работать только с один параметром. Исходя из этого условия, необходимо предусмотреть программное прерывание.

6.2 Формализация алгоритма

Ниже приведен код программы:

#include "iostream"

#include "time.h" #include "windows.h" void interrupt () { Sleep(1000); } int temp()

{

printf("Считывание данных с датчика температуры\n"); interrupt ();

srand(time(NULL)); return rand()%30;

}

int humidity ()

{

printf("Считывание данных с датчика влажности\n"); interrupt ();

srand(time(NULL)); return rand()%30;

} int pressure () {

printf("Считывание данных с датчика давления\n"); interrupt ();

srand(time(NULL)); return rand()%780;

}

void main() { setlocale(LC_ALL,"Rus"); int arr1 = temp(); int arr2 = 0;

int arr[3] = {temp(), humidity(), pressure()}; int arr2[3] ={0,0,0}; _asm { lea EBX, arr1 lea EDX, arr2 mov EDI, [EBX] cmp EDI, 0d jz lab1

cmp EDI, 24d \\ Верхний порог температуры

jc lable:

mov [EDX], 3d jmp lab1 lable:

cmp EDI, 18d \\ Нижний порог температуры jc labl

mov [EDX], 2d jmp lab1 labl:

mov [EDX], 1d lab1:

mov EDI, [EBX+4] cmp EDI, 0d jz lab2

cmp EDI, 16d \\ Верхний порог влажности jc lable1 end:

cmp EDI, 13d \\ Нижний порог влажности jc labl1

mov [EDX+4], 2d jmp lab2 labl1:

mov [EDX+4], 1d lab2:

mov EDI, [EBX+8] cmp EDI, 0d jz end

cmp EDI, 550d \\ Нормальное давление внутри салона при полете jc lable2

mov [EDX+8], 2d jmp end lable2:

mov [EDX+8], 1d end: }}

printf("Показания датчика температуры: %i°C", arr[0]); switch (arr2[0]) { case 0:

printf("Возникла ошибка\n"); break;

case 1: printf(" - ниже допустимого!\n"); break;

case 2: printf(" - в пределах нормы.\n"); break;

case 3: printf(" - выше допустимого!\n"); break; default: break; }

printf("Показания датчика влажности: %i%", arr[1]); switch (arr2[1]) { case 0:

printf("Возникла ошибка\n"); break;

case 1: printf(" - ниже допустимого!\n"); break;

case 2: printf(" - в пределах нормы.\n"); break;

case 3: printf(" - выше среднего!\n"); break; default: break; }

printf("Показания датчика давления: %i мм.рт.ст.", arr[2]); switch (arr2[2]) { case 0:

printf("Возникла ошибка\n"); break;

case 1: printf(" - ниже допустимого!\n"); break;

case 2: printf(" - в пределах нормы.\n"); break;

case 3: printf(" - выше нормы!\n"); break; default: break; }

Рисунок 4 - Результат работы программы

На рисунке выше видно, что для трех датчиков сгенерированы значения температуры, влажности и давления. На основании этих данных программа выдала краткий отчет по каждому показателю.

Заключение

На данный момент использование информационных систем является важной составляющей любого предприятия, трудно представить работу предприятий без информационных систем.

ЭВМ являются отличным решением, для удобной и быстрой обработки информации, обращения к информации, управления предприятиями, связи различных сотруднических коллективов из различных районов, городов, стран.

ЭВМ имеют различные классификации, благодаря которым можно подобрать наиболее подходящий вариант. Для решения определённой задачи, многозадачные, подобрать необходимый размер ЭВМ, его аппаратную совместимость и назначение.

ЭВМ, основанные на модульно-магистральном принципе построения хороши тем, что позволяют потребителю самому комплектовать нужную ему конфигурацию ЭВМ и производить его модернизацию по мере появления новых улучшенных модулей для ЭВМ.

Так же потребитель может подключить к ЭВМ необходимый конкретно ему модуль, например, дополнительную память, устройство вывода или дополнительный источник питания.

Кроме различного аппаратного обеспечения, которое пользователь может подбирать под себя сам, существует большой выбор программного обеспечения. В данной курсовой работе была разработана программа в среде Microsoft Visual Studio на языке С++ с использованием блоков, написанных на языке ассемблера. Были приобретены навыки работы регистрами на языке ассемблера.

Список использованных источников

1) Аблязов Р.З. Программирование на ассемблере на платформе x8664 [Электронный ресурс] / Р.З. Аблязов - Москва: ДМК Пресс, 2011. - 304с.

2) Архитектурные особенности проектирования и разработки Вебприложений. Учебный курс НОУ ИНТУИТ [Электронный ресурс] - www.intuit.ru.- (дата обращения 22.12.2017)

3) Максимов Н.В. Архитектура ЭВМ и вычислительных систем: Учебник [Электронный ресурс] / Н.В. Максимов, Т.Л. Партыка, И.И. Попов. - 5-e изд., перераб. и доп. - М.: Форум: НИЦ ИНФРА-М, 2015 - 512 с. (Электронно-библиотечная система Znanium) Дополнительные издания

4) Чекмарев Ю.В. Вычислительные системы, сети и телекоммуникации [Электронный ресурс] / Ю.В. Чекмарев - Москва: ДМК Пресс, 2009. - 184с.

5) Буквы.Ру [Электронный ресурс]. - bukvi.ru. - (дата обращения 06.12.2017)

6) Википедия - Свободная энциклопедия [Электронный ресурс]. - ru.wikipedia.org. - (дата обращения 06.12.2017)

7) Компьютерная грамотность [Электронный ресурс]. - www.compgramotnost.ru. - (дата обращения 06.12.2017).

8) Орлов С.А. Организация ЭВМ и систем [Электронный ресурс]: Учебник для вузов. 3-е изд. Стандарт третьего поколения / С.А. Орлов, Б.Я.

Цилькер. - Санкт-Петербург: Питер, 2014 (Электронно-библиотечная система

Ibooks.ru)

9) Преподаватель [Электронный ресурс]. - prepod2000.kulichki.net. - (дата обращения 06.12.2017)

10) СИМИКОН [Электронный ресурс]. - www.simicon.ru. - (дата обращения 06.12.2017)

Размещено на Allbest.ru

...

Подобные документы

  • Процесс трансляции программы на языке ассемблера в объектный код. Разработка интерфейса для взаимодействия и связи программ. Понятие компиляции. Структура модели микропроцессора. Пример структуры двухбайтной команды. Арифметическо-логичесткие операции.

    дипломная работа [3,3 M], добавлен 26.11.2012

  • Исследование арифметических, логических и вспомогательных операций, выполняемых микропроцессором. Построение блок-схемы инициализации резидентной программы и тела резидента. Характеристика основных особенностей написания программы на языке ассемблера.

    лабораторная работа [67,8 K], добавлен 20.11.2012

  • Исследование арифметических выражений и разработка простых программ. Таблица переменных для алгоритма и программы. Алгоритм решения, текст программы на языке С. Разработка программы вычисления значений выражений, сравнение результатов с ручным подсчетом.

    лабораторная работа [282,7 K], добавлен 30.01.2015

  • Формальная постановка задачи и спецификация программы. Сценарий диалога с пользователем. Разработка структур данных и алгоритмов. Таблица параметров и текст программы на языке C++. Тестирование программы с целью определения корректности ее работы.

    контрольная работа [27,5 K], добавлен 07.07.2012

  • Программный комплекс для разработки программы транслирующей программу с языка Pascal на язык С++. Построение логической и арифметической модели решения. Разработка компилятора для программы. Методы отладки программы и создание для нее документации.

    курсовая работа [742,6 K], добавлен 03.07.2011

  • Изучение основных этапов программирования на ассемблере, который является символическим представлением машинного языка, то есть каждой машинной команде соответствует команда ассемблера. Реализация алгоритма выполнения программы для просмотра bmp файлов.

    курсовая работа [248,0 K], добавлен 25.12.2012

  • Выбор режимов адресации, посредством которых будет осуществлен доступ к данным. Этапы создания программы. Характеристика таблицы символов и полученного файла листинга. Анализ изменения состояния регистра IP при выполнении команд JMP, Jcc, LOOPx.

    курсовая работа [4,9 M], добавлен 25.03.2012

  • Разработка модели лифта, алгоритма и программы на языке JavaScript. Возможность использования модели при проектировании промышленных лифтов и отладки управляющих программ. Основные принципы построения модели лифта, выполнение вычислительного эксперимента.

    курсовая работа [495,8 K], добавлен 09.06.2013

  • Формулы расчета емкости плоскопараллельного датчика и его чувствительности. Таблица символических имен: макроопределения, абстрактные классы и функции. Текст программы на языке Си. Результаты в виде таблиц и графиков. Анализ работоспособности программы.

    курсовая работа [988,5 K], добавлен 03.11.2012

  • Этапы процедуры принятия решений. Разработка математического алгоритма. Блок-схема алгоритма работы программы. Разработка программы на языке программирования С++ в среде разработки MFC. Текст программы определения технического состояния станка с ЧПУ.

    курсовая работа [823,0 K], добавлен 18.12.2011

  • Формальная схема и закон функционирования моделируемой вычислительной системы для обработки программ. Составление алгоритма моделирующей программы на языке GPSS и листинга программы для стохастической модели. Верификация программы и анализ результатов.

    курсовая работа [347,3 K], добавлен 21.01.2013

  • Графическая схема алгоритма выполнения программы определения запасов сырья. Решение задачи с помощью программы MS Excel. Разработка макроса для построения диаграммы. Использование интерфейса программы для работы с таблицей. Разработка базы данных.

    курсовая работа [1,2 M], добавлен 24.04.2014

  • Разработка на языке ассемблера алгоритма контроля, на циклический CRC-код, массива данных хранящегося в некоторой области памяти. Сохранение кода для последующей периодической проверки массива данных. Сообщение об искажении данных. Описание алгоритма.

    курсовая работа [453,0 K], добавлен 27.02.2009

  • Выбор метода проектирования транслятора с языка Паскаль на язык Си, разработка и кодирование алгоритма программы. Использование допустимых операторов в исходном тексте, определение типов переменных и синтаксиса логических и арифметических выражений.

    курсовая работа [1,0 M], добавлен 03.07.2011

  • Разработка и тестирование программы класса Точка. Спецификация программы. Сценарий диалога с пользователем. Разработка структур данных и алгоритмов. Таблица параметров функций программы. Текст программы на языке C++. Особенности тестирования программы.

    лабораторная работа [43,1 K], добавлен 21.07.2012

  • Разработка программы тестирования студентов по MS PowerPoint с кодом на языке Delphi. Создание алгоритма для решения функциональных требований задачи. Описание переменных, вспомогательных процедур, входных и выходных данных для реализации программы.

    курсовая работа [1,5 M], добавлен 21.09.2010

  • Введение в объектно-ориентированное программирование. Постановка задачи. Описание алгоритма решения в псевдокоде (команды в виде текста на русском языке). Исходный текст программы на С. Тестирование программы. Модификация программы. Полиморфизм.

    курсовая работа [294,0 K], добавлен 08.09.2008

  • Использование класса статических массивов структур и базы данных "ODER" при создании программы на языке С++. Основные формы выдачи результатов. Технические и программные средства. Тесты для проверки работоспособности алгоритма создания программы.

    курсовая работа [1,1 M], добавлен 17.03.2015

  • Разработка гипотетической машины при помощи макросредств ассемблера. Разработка алгоритма для реализации обязательных команд: сравнения двух символьных строк; их обмена; определения длины слова. Основные функции обработки строки, листинг программы.

    курсовая работа [59,6 K], добавлен 14.07.2012

  • Постановка задачи и алгоритм решения. Листинг программы, иллюстрирующей работу с символами, строками и блоками. Описание возможностей языка С, используемых для реализации алгоритма. Тестирование итоговой программы, анализ полученных результатов расчета.

    курсовая работа [63,0 K], добавлен 27.12.2012

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