- •1.Архитектура эвм
- •1.1.Структура мпс
- •1.2.Основные понятия в архитектуре мпс
- •1.3.Архитектура фон Неймана
- •1.4.Гарвардская архитектура
- •1.5.Параллельная архитектура
- •1.6.Конвейерная архитектура
- •1.7.Суперскалярная архитектура
- •1.8.Архитектура vliw
- •1.9.Архитектуры cisc, risc
- •2.Ассемблеры
- •2.1.1.Программа Ассемблер
- •2.1.2.Язык Ассемблер
- •2.1.3.Основы 32-битного программирования в Windows
- •2.1.4.Api функции
- •2.2.Сообщения Windows
- •2.3.Версии ассемблеров
- •2.4.Среды разработки
- •3.Представление данных в эвм
- •3.1.Системы счисления и преобразования между ними
- •3.2.Форматы представления чисел
- •3.2.1.Форматы представления двоичных чисел
- •3.2.2.Формат с плавающей точкой
- •3.3.Типы адресаций операндов
- •3.4.Интерфейсы
- •3.4.1.Последовательный интерфейс rs-232c
- •3.4.2.Интерфейс параллельного порта
- •3.4.3.Инфракрасный интерфейс
- •3.4.4.Интерфейс Bluetooth
- •3.4.5.Интерфейс usb
- •3.4.6.Интерфейс ieee 1394 - FireWire
- •3.4.7.Сопроцессоры
- •3.4.8.Система прерываний и исключений
- •3.4.9.Интерфейс jtag
1.9.Архитектуры cisc, risc
Архитектура CISC – это классическая архитектура. В ней использована полная система команд (около 300 команд), из которых практически используется третья часть. В настоящее время применяется для совместимости с созданными ранее программами.
Пример использования - иямикроконтроллер MCS-51 (Intel 8051) . Для него существует кросс-ассемблер ASM51, выпущенный корпорацией MetaLink. Кроме того, многие фирмы — разработчики программного обеспечения, такие как IAR или Keil, представили свои варианты ассемблеров. В ряде случаев применение этих ассемблеров оказывается более эффективным благодаря удобному набору директив и наличию среды программирования, объединяющей в себе профессиональный ассемблер и язык программирования Си, отладчик и менеджер программных проектов.
Архитектура RISC – это современная архитектура. В ней использована сокращенная система команд, из которых практически все используются. Наиболее употребим реализация AVR. На данный момент существуют 2 компилятора производства Atmel (AVRStudio 3 и AVRStudio4). Вторая версия — попытка исправить не очень удачную первую.
2.Ассемблеры
2.1.1.Программа Ассемблер
Ассемблер (assembler — сборщик) — компьютерная программа, компилятор исходного текста программы, написанной на языке ассемблера, в программу на машинном языке.
Как и сам язык ассемблера, ассемблеры, как правило, специфичны конкретной архитектуре, операционной системе и варианту синтаксиса языка. Вместе с тем существуют мультиплатформенные или вовсе универсальные (точнее, ограниченно-универсальные, потому что на языке низкого уровня нельзя написать аппаратно-независимые программы) ассемблеры, которые могут работать на разных платформах и операционных системах. Среди последних можно также выделить группу кросс-ассемблеров, способных собирать машинный код и исполняемые модули (файлы) для других архитектур и ОС.
Ассемблирование может быть не первым и не последним этапом на пути получения исполнимого модуля программы. Так, многие компиляторы с языков программирования высокого уровня выдают результат в виде программы на языке ассемблера, которую в дальнейшем обрабатывает ассемблер. Также результатом ассемблирования может быть не исполнимый, а объектный модуль, содержащий разрозненные и непривязанные друг к другу части машинного кода и данных программы, из которого (или из нескольких объектных модулей) в дальнейшем с помощью программы-компоновщика («линкера») может быть скомпонован исполнимый файл.
Ассемблеры для DOS. Наиболее известными ассемблерами для операционной системы DOS являлись Borland Turbo Assembler (TASM), Microsoft Macro Assembler (MASM) и Watcom Assembler (WASM). Также в своё время был популярен простой ассемблер A86.
Ассемблеры для Windows. При появлении операционной системы Windows появилось расширение TASM, именуемое TASM 5+ (неофициальный пакет, созданный человеком с ником !tE), позволившее создавать программы для выполнения в среде Windows. Последняя известная версия TASM — 5.3, поддерживающая инструкции MMX, на данный момент включена в Turbo C++ Explorer. Но официально развитие программы полностью остановлено.
Microsoft поддерживает свой продукт под названием Microsoft Macro Assembler (MASM). Она продолжает развиваться и по сей день.. Но версия программы, направленная на создание программ для DOS, не развивается. Кроме того, Стивен Хатчессон создал пакет для программирования на MASM под названием «MASM32».
Ассемблеры для GNU и GNU/Linux. В состав операционной системы GNU входит пакет binutils, включающий в себя ассемблер gas (GNU Assembler), использующий AT&T-синтаксис, в отличие от большинства других популярных ассемблеров, которые используют Intel-синтаксис (поддерживается с версии 2.10).
Переносимые ассемблеры.
Также существует открытый проект ассемблера, версии которого доступны под различные операционные системы, и который позволяет получать объектные файлы для этих систем. Это:
NASM (Netwide Assembler).
YASM — это переписанная с нуля версия NASM под лицензией BSD (с некоторыми исключениями).
FASM (flat assembler) — молодой ассемблер под модифицированной для запрета перелицензирования BSD-лицензией. Есть версии для Linux, DOS и Windows; использует Intel-синтаксис .