- •Горшков ю.Е.
- •Основы электронновычислительных машин Конспект лекций и лабораторные работы
- •Физические основы вычислительных процессов
- •1. Роль физики в развитии вычислительных систем и сетей
- •2. Информация и ее физические носители
- •5. Производство полупроводниковых микросхем
- •6. Современное состояние и перспективы развития вычислительных средств
- •7. Технические средства человеко-машинного интерфейса
- •8. Магнитные и оптические носители информации
- •9. Твердотельные носители информации – Flash-карты
- •Функционально-структурная организация и программное обеспечение персонального компьютера
- •Работа 6. Устройство и модернизация системного блока персонального компьютера.
- •Виртуальные вычислительные машины и устройства
- •Регистры и команды микропроцессора, основы языка ассемблер
- •Представление данных в пэвм
- •III. Вычислительные системы
- •1. Архитектура вычислительных систем
- •2. Основы программирования параллельных вычислений
- •3. Примеры вычислительных систем
- •V. Особенности архитектуры и программирования микропроцессоров Intel 80x86
- •V.1 Язык программирования asm-51
- •2. Директивы языка программирования asm-51
- •2. Структурное программирование на языке Assembler
- •3.Использование сегментов в ассемблере
- •4. Программы и подпрограммы. Связь по управлению и по данным
- •5. Прерывания и их обработка.
- •Контроллер прерываний и микропроцессоры 80х86.
- •6. Сопроцессор и его программирование
- •7. Виртуальная память
- •Лабораторная работа № 2. Программирование циклов и условий. Работа с массивами.
- •Лабораторная работа № 3. Программы и подпрограммы. Связь по управлению и по данным
- •Лабораторная работа № 4. Сопроцессор и его программирование
- •Лабораторная работа 5 Использование средств bios на языке Ассемблер
- •Краткие сведения о прерываниях bios
- •ПриложениЕ Государственный стандарт дисциплины “Вычислительные системы, сети и телекоммуникации”
- •Литература
- •Учебное издание Самарин Вячеслав Владимирович Серолапкин Александр Владимирович
V. Особенности архитектуры и программирования микропроцессоров Intel 80x86
V.1 Язык программирования asm-51
Язык программирования АSМ51 поддерживает модульное написание программ. Графическое изображение процесса написания программы на языке программирования ASM-51 приведено на рисунке 1.
Рисунок V.1.1. Процесс написания программы на языке программирования ASM-51.
Файл, в котором хранится программа, написанная на языке АSМ51 (исходный текст программы), называется исходным модулем. Для исходного текста программы принято использовать расширения файла: asm, a51, srs, s51. Исходный текст программы можно написать, используя любой текстовый редактор.
Получить объектный модуль можно, указав имя исходного модуля программы в качестве параметра программы-транслятора в DOS строке или строке командного файла:
asm51.exe modul.asm
Получить исполняемый модуль программы можно, указав все имена объектных модулей программы в качестве параметров программы редактора связей в DOS строке или строке командного файла:
rl51.exe main.obj, modul1.obj, modul2.obj
Имя исполняемого модуля программы по умолчанию совпадает с именем первого объектного файла в списке параметров строки запуска редактора связей. Исполняемый модуль программы записывается в файл без расширения.
Большинство программаторов не может работать с объектным форматом исполняемого модуля программы, поэтому для загрузки машинного кода в процессор необходимо преобразовать объектный формат исполняемого модуля в общепринятый для программаторов гексадецимальный формат. При преобразовании форматов вся отладочная информация теряется. Машинный код процессора в гексадецимальном формате называется загрузочным модулем.
Загрузочный модуль программы можно получить при помощи программы-преобразователя программы oh.exe, передав ей в качестве параметра имя файла исполняемого модуля программы:
oh.exe main
Отладка программ
После того, как программные модули были успешно оттранслированы, размещены по конкретным адресам и связаны между собой, для отладки программы можно воспользоваться внутрисхемным эмулятором. Внутрисхемный эмулятор с отображением переменных языка программирования на дисплее компьютера оказывает значительную помощь при отладке программ непосредственно на разрабатываемой аппаратуре.
Запись исходного текста программы на языке программирования ASM-51
Исходный текст программы представляет собой последовательность операторов языка, сгруппированных в сегменты и оформленных в виде файла.
Оператор - это базовая конструкция языка программирования, определяющая действия в программе. В языке программирования ASM-51 в одной строке может быть записан только один оператор! Максимальный размер строки - 255 символов. Признаком конца оператора является символ "возврат каретки".
Оператор состоит из трех полей:
<поле метки> <поле операции> <поле комментария>,
Любое из полей, в том числе и все поля, могут отсутствовать. Оператор, в котором все поля отсутствуют, называется пустым оператором. Он используется для увеличения наглядности программы.
Пример оператора, записанного на языке программирования ASM-51:
Поле метки используется для записи меток. Метки используются для организации условных и безусловных переходов, а также для объявления переменных и констант. Признаком конца поля метки является символ "двоеточие" (:). Однако язык программирования ASM-51, в виде исключения, допускает использовать символы интервала как признак конца поля метки.
Если в операторе присутствует только метка, то она помечает ближайший следующий оператор, в котором присутствует инструкция процессора или директива ассемблера. Использование оператора, содержащего только метку может быть вызвано либо слишком большой длиной самой метки, либо необходимостью присвоить одному непустому оператору нескольких меток.
Пример использования оператора, содержащего только метку:
Поле операции используется для записи директивы языка или инструкции микроконтроллера, которые состоят из мнемонического обозначения команды микроконтроллера и одного или нескольких операндов. В качестве операндов могут использоваться адреса ячеек памяти, обозначения регистров или метки операторов. Операнды отделяются друг от друга запятыми. Вместе с запятыми для увеличения читаемости программы допускается использование символов интервала.
Поле комментария начинается с символа "точка с запятой" (;). Это поле используется для записи пояснений к программе. Оператор, в котором присутствует только поле комментария, используется для увеличения наглядности программы.
Комментарий начинается с символа (;) и может содержать любые ASCII символы. Примеры комментариев:
;----------------------------------------------------------------------------------------
; ПОДПРОГРАММА ВЫЧИСЛЕНИЯ ФУНКЦИИ
;----------------------------------------------------------------------------------------
; X + Y * Z
