Курсовой проект
(Организация ЭВМ)
тема
Разработка программы на Ассемблере.
СОДЕРЖАНИЕ
ВВЕДЕНИЕ…………………………………………………………………3
АССЕМБЛЕР. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММЫ………………...4
ФОРМАТ КОМАНД И ИХ КЛАССИФИКАЦИЯ ………………………….5 НЕКОТОРЫЕ ОПЕРАТОРЫ, ПРЕДОПРЕДЕЛЁННЫЕ ИМЕНА, ДИРЕКТИВЫ И КОМАНДЫ АССЕМБЛЕРА 80X86(8088) ……………..7 КОМАНДЫ ПЕРЕСЫЛКИ …………………………………………………11 АРИФМЕТИЧЕСКИЕ КОМАНДЫ ………………………………………..12 ЛОГИЧЕСКИЕ КОМАНДЫ И КОМАНДЫ СДВИГА …………………...14 КОМАНДЫ УПРАВЛЕНИЯ МИКРОПРОЦЕССОРОМ …………………18 ПРИМЕЧАНИЯ………………………………………………………………20
ОБЩИЙ РАЗДЕЛ…………………………………………………………21
1.1. Технико-математическое описание задачи……….………………….21
1.2. Требования к функциональным характеристикам…………………..23
1.3. Требования к техническим и программным средствам………….… 25
1.3.1. Обоснования выбора языка программирования……………………. 26
СПЕЦИАЛЬНЫЙ РАЗДЕЛ……………………………………………………………….... 28
2.1. Постановка задачи…………………………………………………….. 28
2.2. Описание структуры программы……………………………….…..… 30
2.3. Описание алгоритма решения задачи………………………….……….32
2.4. Отладка и тестирование……………………………………….………. 34
2.5. Инструкция к пользователю………………………………….……….. 35
2.6. Заключение о результатах проектируемой задачи………….……….. 36
ПРИЛОЖЕНИЕ 1 (Системы счисления)………………………………….. 37
ПРИЛОЖЕНИЕ 2 (Структурная схема микропроцессора)..…………….. 44
ПРИЛОЖЕНИЕ 3 (Основные положения алгебры логики)…….……….. 59
СПИСОК ЛИТЕРАТУРЫ…………………………………………….…. 30
ВВЕДЕНИЕ
В связи с появлением персональных компьютеров мгновенно вырос рынок аппаратных средств, как грибы росло число производителей, предлагающих свою продукцию. При этом, покупая то или иное аппаратное средство, производитель не может (а иногда и не хочет) дать 100% гарантию, что оно исправно.
В связи с этим также стремительно развивался и рынок программных тестирующих средств. На рынке существует огромное количество отличных диагностических программ, написанных большими корпорациями: такими как Symantec inc., APS (Advanced Personal Systems), Microsoft и т.д., но все существующие диагностирующие программы написаны на языках высокого уровня, а значит не достаточно быстры и надёжны.
Автор проекта не берётся конкурировать с огромными гигантами по количеству выполняемых этими программами тестов в силу того, что это бессмысленно. Была предпринята попытка написать более надежную, быструю диагностическую программу с использованием машинно-ориентированного языка программирования – Ассемблер.
АССЕМБЛЕР. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММЫ.
Язык программирования наиболее полно учитывающий особенности "родного" микропроцессора и содержащий мнемонические обозначения машинных команд называется Ассемблером. Программа, написанная на Ассемблере называется исходной программой. Далее остановимся на версии, называемой Турбо Ассемблер.
Разработка программы на Ассемблере состоит из следующих этапов:
1) Составление алгоритма в виде блок-схемы или структурного описания, 2) Ввод в ЭВМ текста исходной программы PROG.ASM с помощью редактора текстов. Имя PROG может быть произвольным, а расширение ASM - обязательно, 3) Перевод (трансляция или ассемблирование) исходной программы в машинные коды с помощью транслятора TASM.EXE. На этом этапе получается промежуточный продукт PROG.OBJ (объектный код). Выявленные при этом синтаксические и орфографические ошибки исправляются повтором пп.2 и 3, 4) Преобразование с помощью программы TLINK.EXE объектного кода PROG.OBJ в выполнимый код PROG.EXE или PROG.COM. 5) Выполнение программы и ее отладка начиная с п.1, если встретились логические ошибки.
Текст программы на Ассемблере содержит следующие операции:
а) команды или инструкции, б) директивы или псевдооператоры, в) операторы, г) предопределенные имена.
Действия обусловленные операциями перечисленными в пп.б,в,г выполняются на этапе трансляции, т.е. являются командами Ассемблеру. Операции, называемые командами или инструкциями выполняются во время выполнения программы, т.е. являются командами микропроцессору.
ФОРМАТ КОМАНД И ИХ КЛАССИФИКАЦИЯ
Инструкция записывается на отдельной строке и включает до четырех полей, необязательные из которых выделены [ ]:
[метка:]
мнемоника_команды
[операнд(ы)]
[;комментарий]
Метка или символический адрес содержит до 31 символа из букв цифр и знаков ? @ . _ $. Причем цифра не должна стоять первой, а точка, если есть должна быть первой.
Мнемоника - сокращенное обозначение кода операции (КОП) команды, например мнемоника ADD обозначает сложение (addition).
Операндами могут быть явно или неявно задава