
- •Введение
- •1. Архитектура ЭВМ
- •1.1. Структура МПС
- •1.2. Основные понятия в архитектуре МПС
- •1.3. Архитектура фон Неймана
- •1.4. Гарвардская архитектура
- •1.5. Параллельная архитектура
- •1.6. Конвейерная архитектура
- •1.7. Суперскалярная архитектура
- •1.8. Архитектура VLIW
- •1.9. Архитектуры CISC, RISC
- •1.10.2. Язык Ассемблер
- •1.10.4. API функции
- •1.11. Сообщения Windows
- •1.12. Версии ассемблеров
- •1.12.1. Microsoft Macro Assembler (MASM)
- •1.12.2. Flat assembler (FASM)
- •1.12.3. NASM (Netwide Assembler)
- •1.12.4. Turbo Assembler (TASM)
- •1.12.5. GoAsm
- •1.13. Среды разработки
- •1.13.1. RadASM
- •1.13.2. WinAsm Studio
- •1.13.3. Easy Code
- •2. Представление данных в ЭВМ
- •2.1. Системы счисления и преобразования между ними
- •2.2. Форматы представления чисел
- •2.2.1. Форматы представления двоичных чисел
- •2.2.2. Формат с плавающей точкой
- •2.3. Типы адресаций операндов
- •2.4. Интерфейсы
- •2.4.1. Последовательный интерфейс RS-232C
- •2.4.2. Интерфейс параллельного порта
- •2.4.3. Инфракрасный интерфейс
- •2.4.4. Интерфейс Bluetooth
- •2.4.5. Интерфейс USB
- •2.4.6. Интерфейс IEEE 1394 - FireWire
- •2.4.7. Сопроцессоры
- •2.4.8. Система прерываний и исключений
- •2.4.9. Интерфейс JTAG
- •3. Архитектура CISC от Intel
- •3.1. Введение
- •3.2. Микроархитектура Intel
- •3.2.1. Микроархитектура Р6
- •3.2.2. Микроархитектура NetBurst
- •3.2.3. Микроархитектура Pentium 4
- •3.2.4. Микроархитектура Intel Core
- •3.2.5. Микроархитектура Intel Core Duo
- •3.2.6. Микроархитектура Intel Nehalem
- •3.2.7. Микроархитектура Intel Sandy Bridge
- •3.2.8. Архитектура Haswell
- •3.2.9. Микроархитектура Intel Itanium
- •3.2.10. Микроархитектура Intel IA-64
- •3.3. Программная модель IA-32
- •3.3.1. Адресация памяти в IA_32
- •3.3.2. Наборы регистров
- •3.4. Целочисленный процессор
- •3.4.1. Регистры общего назначения (РОН)
- •3.4.2. Регистры флагов EFLAGS
- •3.4.3. Регистр указателя команд
- •3.4.4. Сегментные регистры
- •3.4.5. Управляющие регистры
- •3.4.6. Системные адресные регистры
- •3.4.7. Прямой и обратный порядок следования байтов
- •3.4.8. Виды адресации операндов в памяти
- •3.4.9. Цикл выполнения команды
- •3.4.10. Распределение адресного простраства
- •3.4.11. Образ программы в памяти.
- •3.4.12. Стек
- •3.5. Математический сопроцессор
- •3.6. MMX-технология
- •3.7. XMM технология
- •3.8.2. Классификация команд
- •3.8.3. Целочисленный процессор
- •3.8.4. Сопроцессор с плавающей точкой
- •3.8.5. Целочисленное MMX расширение
- •3.8.6. XMM расширение с плавающей точкой
- •3.9. Цикл трансляции, компоновки и выполнения
- •3.10. Ассемблер CISC
- •3.10.1. Введение
- •3.10.2. Средства программирования и отладки
- •3.11. Описание MASM
- •3.12. Структура программы на ассемблере
- •3.13. Типы данных
- •3.14. Макросредства
- •3.15. Директивы
- •4. Архитектура RISC
- •5. Архитектура VLIW
- •5.1. Архитектура вычислительных систем со сверхдлинными командами
- •5.2. Архитектура IA-64
- •5.3. Itanium
- •6. Многоядерные архитектуры
- •7.1.1. Основные параметры
- •7.1.2. Семейства
- •7.1.3. Описание выводов
- •7.1.4. Обзор архитектуры
- •7.1.5. Структура памяти
- •7.1.6. Режимы адресации
- •7.2. Ассемблер
- •7.2.1. Команды ассемблера
- •7.2.2. Директивы ассемблера
- •7.2.3. Выражения
- •7.3. ИСР AVR Studio
- •8.2. Архитектура F28x
- •8.3. Инструментальные средства разработки ПО
- •8.4. Ассемблер
- •8.5. Команды ассемблера
- •8.5.1. Операции с регистрами XAR0-XAR7
- •8.5.2. Операции загрузки регистра DP
- •8.5.3. Операции с регистром SP
- •8.5.4. Операции с регистрами AX (AH, AL)
- •8.5.5. Операции с регистрами ACC
- •8.5.6. Операции с регистрами P или XT
- •8.5.7. Операции прямого доступа к памяти
- •8.5.8. Операции ввода вывода
- •8.5.9. Операции с памятью программ
- •8.5.10. Операции ветвления, вызова, возврата
- •8.5.11. Математические
- •8.5.12. Ветвления
- •8.5.13. Основные инструкции для работы с регистрами
- •8.5.14. Основные команды для работы с вещественными числами
- •8.6. Листинги программ
- •8.7. Формат объектного файла
- •8.8. Директивы ассемблера
- •8.8.1. Разделы
- •8.8.2. Константы
- •8.8.3. Выравнивания
- •8.8.4. Листинг
- •8.8.5. Файлы
- •8.8.6. Условная трансляция
- •8.8.7. Структуры
- •8.8.8. Символы во время трансляции
- •8.8.9. Разные директивы
- •8.9. Макроязык и макрокоманды
- •8.10. Компоновщик
- •8.11. Архиватор
- •8.12. Абсолютный листер
- •8.13. Листер перекрестных ссылок
- •8.14. Утилита 16-ричного преобразования
- •8.15. Согласование заголовочных C/C++ файлов с ассемблером
- •8.16. ИСР Code Composer Studio (CCS)
- •9.1. Архитектура VelociTI
- •9.2. Структура и состав ЦСП С6x
- •9.3. Средства разработки ЦСП С6x
- •9.4. Ассемблер ЦСП С6x
- •9.5. Команды ассемблера
- •9.5.1. Основные команды для работы с целыми числами
- •9.5.2. Основные команды для работы с вещественными числами
- •9.6. Константы
- •9.7.2. Условные выражения
- •9.7.3. Законные выражения
- •9.8. Листинги
- •9.9. Листинги программ
- •9.9.1. Листинг перекрестных ссылок
- •9.10. Директивы ассемблера
- •9.10.1. Директивы, которые определяют разделы
- •9.10.2. Директивы, которые инициализируют константы (данные и память)
- •9.10.3. Директивы, которые выравнивают счетчик команд раздела (SPC)
- •9.10.4. Директивы, которые форматируют выходной листинг
- •9.10.5. Директивы, которые ссылаются на другие файлы
- •9.10.6. Директивы, которые допускают условную трансляцию
- •9.10.7. Директивы, которые определяют символы во время трансляции
- •9.11. Макроязык и макрокоманды
- •9.12. Компоновщик
- •9.13. Утилиты
- •9.13.1. Архиватор
- •9.13.2. Утилита 16-ричного преобразования
- •10.2. Встроенные платы для ЦСП ‘C6x
Поволжский государственный университет телекоммуникаций и информатики
Факультет ИСТ Кафедра ИВТ
Акчурин Э.А.
Машинно-зависимые языки программирования
Учебное пособие для студентов направлений
230100 «Информатика и вычислительная техника»
220400 «Управление в технических системах»
231000 «Программная инженерия»
Самара
2011

Факультет информационных систем и технологий Кафедра «Информатика и вычислительная техника»
Автор - д.т.н., профессор Акчурин Э.А.
Другие материалы по дисциплине Вы найдете на сайте www.ivt.psati.ru
2
Оглавление |
|
Введение ..................................................................................................................... |
6 |
1. Архитектура ЭВМ ................................................................................................... |
8 |
1.1.Структура МПС
1.2.Основные понятия в архитектуре МПС
1.3.Архитектура фон Неймана
1.4.Гарвардская архитектура
1.5.Параллельная архитектура
1.6.Конвейерная архитектура
1.7.Суперскалярная архитектура
1.8.Архитектура VLIW
1.9.Архитектуры CISC, RISC
1.10.Ассемблеры
1.11.Сообщения Windows
1.12.Версии ассемблеров
1.13.Среды разработки
2. Представление данных в ЭВМ ............................................................................ |
50 |
2.1.Системы счисления и преобразования между ними
2.2.Форматы представления чисел
2.3.Типы адресаций операндов
2.4.Интерфейсы
3. Архитектура CISC от Intel ..................................................................................... |
75 |
3.1.Введение
3.2.Микроархитектура Intel
3.3.Программная модель IA-32
3.4.Целочисленный процессор
3.5.Математический сопроцессор
3.6.MMX-технология
3.7.XMM технология
3.8.Система команд
3.9.Цикл трансляции, компоновки и выполнения
3.10.Ассемблер CISC
3.11.Описание MASM
3.12.Структура программы на ассемблере
3.13.Типы данных
3.14.Макросредства
3.15.Директивы
4. Архитектура RISC ............................................................................................... |
314 |
3
5. Архитектура VLIW ............................................................................................... |
316 |
5.1.Архитектура вычислительных систем со сверхдлинными командами
5.2.Архитектура IA-64
5.3.Itanium
6. |
Многоядерные архитектуры............................................................................... |
326 |
7. |
Микроконтроллер AVR от Atmel......................................................................... |
329 |
7.1.Архитектура AVR от Atmel
7.2.Ассемблер
7.3.ИСР AVR Studio
8. Микроконтроллеры C28x.................................................................................... |
367 |
8.1.Архитектура C28x
8.2.Архитектура F28x
8.3.Инструментальные средства разработки ПО
8.4.Ассемблер
8.5.Команды ассемблера
8.6.Листинги программ
8.7.Формат объектного файла
8.8.Директивы ассемблера
8.9.Макроязык и макрокоманды
8.10.Компоновщик
8.11.Архиватор
8.12.Абсолютный листер
8.13.Листер перекрестных ссылок
8.14.Утилита 16-ричного преобразования
8.15.Согласование заголовочных C/C++ файлов с ассемблером
8.16.ИСР Code Composer Studio (CCS)
9. TMS320С6000...................................................................................................... |
446 |
9.1.Архитектура VelociTI
9.2.Структура и состав ЦСП С6x
9.3.Средства разработки ЦСП С6x
9.4.Ассемблер ЦСП С6x
9.5.Команды ассемблера
9.6.Константы
9.7.Выражения
9.8.Листинги
9.9.Листинги программ
9.10.Директивы ассемблера
9.11.Макроязык и макрокоманды
9.12.Компоновщик
4
9.13. Утилиты |
|
10. Поддержка в MATLAB....................................................................................... |
491 |
10.1.Введение
10.2.Встроенные платы для ЦСП ‘C6x
5
Введение
Целью преподавания дисциплины является изучение машинно-зависимых языков программирования (Ассемблеров). В курсе изучаются:
Архитектуры процессоров.
Принципы построения языка Ассемблера.
Ассемблеры разного типа.
Интегрированные среды разработки, поддерживающие работу на Ассемблере.
Дисциплина относится к циклу профессиональных компонент основной образовательной программы (ООП).
Изучение данной дисциплины базируется на следующих дисциплинах:
ЭВМ и периферийные устройства.
Математическая логика и теория алгоритмов.
Основные положения дисциплины должны быть использованы в дальнейшем при изучении следующих дисциплин:
Теория автоматов и формальных языков.
Управление сложными техническими системами.
Студенты, успешно выполнившие учебный план, должны знать:
Основы построения и архитектуры ЭВМ.
Знать основы современных языков Ассемблера.
Знать Ассемблер микроконтроллеров Atmel.
Знать Ассемблер микроконтроллеров C2x от Texas Instruments.
Знать Ассемблер цифрового сигнального процессора C6x от Texas Instruments.
Студенты, успешно выполнившие учебный план, должны уметь:
Выбирать, создавать и отлаживать программно-аппаратные средства
Программировать на зыке Ассемблера Atmel в интегрированной среде разработки (ИСР).
Программировать на зыке Ассемблера C2x в ИСР.
Программировать на зыке Ассемблера C6x в симуляторе C6xTools.
Рекомендуемая литература
6
1.Юров В.И. Assembler. Практикум. 2-е изд. – СПб. – Питер, 2006. – 399с.
2.Трамперт В. AVR-RISC микроконтроллеры. Пер. с нем. – К.: “МК-Пресс”,
2006. – 464с.
3.Хартов В.Я. Микроконтроллеры AVR. Практикум для начинающих. - М.: Изд-во МГТУ им. Н.Э. Баумана, 2007. – 240с.
4.Солонина А.И. и др. Алгоритмы и процессоры цифровой обработки сигналов.– СПб.: БХВ-Петербург, 2001, 464 с.
5.Корнеев В.В., Киселев А.В. Современные микропроцессоры. СпБ.:БХВПетербург, 2003, 448с.
6.Магда Ю. Ассемблер для процессоров Intel Pentium. – СПб. – Питер,
2006. – 410с.
7.Калашников О.А. Ассемблер? Это просто! Учимся программировать. – Спб.: БХВ=Петербург, 2006. – 384с.
8.Иванова В.Г., Тяжев А.И. Цифровая обработка сигналов и сигнальные процессоры. Самара: ООО Офорт, 2008, 262 с.
Программное обеспечение для выполнения лабораторных работ:
ИСР AVR Studio.
ИСР CCS для C2x.
Инструментарий C6xTools.
7