
- •Раздел 1. Общие принципы построения эвм
- •Тема 1.1 История и тенденции развития вычислительной техники. Поколения эвм
- •Тема 1.2. Основные характеристики и классификация эвм
- •Тема 1.3. Архитектура эвм
- •Тема 1.4. Структурные схемы и взаимодействие устройств эвм
- •Тема 1.5. Структурная схема и устройства пк
- •Тема 1.6. Микросхемы системной логики Chipset
- •Тема 1.7. Представление информации в компьютере, единицы измерения информации
- •Раздел 2. Программное обеспечение эвм
- •Тема 2.1. Структура программного обеспечения пк
- •Тема 2.2. Операционные системы
- •Тема 2.3. Файл и файловая система
- •Тема 2.4. Функции и характеристики сетевых ос
- •Тема 2.5. Эволюция режимов работы эвм
- •Раздел 3. Структура базового микропроцессора эвм
- •Тема 3.1. Классификация микропроцессоров
- •1. По числу бис:
- •2. По назначению:
- •3. По виду обрабатываемых сигналов:
- •4. По количеству выполняемых программ:
- •5. По характеру временной организации работы:
- •6. По объему набора инструкций:
- •Тема 3.2. Основные характеристики микропроцессоров
- •1.Разрядность регистров микропроцессора;
- •2.Разрядность шины данных;
- •Тема 3.3. Архитектура микропроцессора
- •Тема 3.4. Структура базового микропроцессора
- •Тема 3.5. Блок внутренних регистров базового микропроцессора
- •Тема 3.6. Сегментные регистры, регистр указателя команд и регистры флагов
- •Тема 3.7. Назначение и классификация уу
- •Тема 3.8. Назначение и классификация алу
- •1. По способу представления чисел:
- •2. По способу действия над операндами:
- •3. По выполняемым функциям алу подразделяются на:
- •4. По структурной организации алу подразделяются на устройства, имеющие:
- •Тема 3.9. Исполнение программного кода
- •Тема 3.10. Сегментная структура программ
- •Раздел 4. Основы программирования на ассемблере
- •Тема 4.1. Этапы создания программы на ассемблере
- •Тема 4.2. Формат команд и их классификация
- •Тема 4.3. Классификация операндов
- •Тема 4.4. Виды команд ассемблера
- •Раздел 5. Защищенный режим работы микропроцессора
- •Тема 5.1. Режимы работы микропроцессора
- •Тема 5.2. Адресация памяти в защищенном режиме
- •Тема 5.3. Дескрипторы и таблицы
- •Тема 5.5. Архитектурные особенности современных микропроцессоров
- •Тема 5.4. Суперскалярная архитектура
- •Принципы построения устройств внутренней памяти
- •4.1. Структура памяти эвм
- •3.2 Представление данных в памяти
- •3.3 Типы данных
- •Тема 6.2. Режимы адресации данных памяти
- •8.1. Общие принципы организации вв
- •10.1. Локальная системная шина
- •10.2. Шина расширения
- •11.1. Способы организации доступа к системной магистрали
- •11.2. Возможные структуры систем пдп
- •6.1. Характеристики систем прерывания
- •6.2. Возможные структуры систем прерывания
- •6.3. Организация перехода к прерывающей программе
Тема 4.2. Формат команд и их классификация
Основными элементами ассемблера являются директивы ассемблера и команды МП.
Команды описывают действия МП в процессе выполнения программы и всегда порождают машинный код в памяти системы.
Директивы служат для сообщения информации, необходимой в процессе трансляции программы. Они обеспечивают резервирование ячеек памяти, назначение имен, распределение сегментных регистров и т.д. Особенностью директив является то, что они, как правило, не порождают машинный код в памяти системы и поэтому часто называются псевдокомандами.
Программа на ассемблере представляет собой совокупность строк. Каждая строка содержит лишь одну команду МП или директиву ассемблера.
Предложения ассемблера бывают четырех типов:
[метка:] |
мнемоника_команды |
[операнд(ы)] |
[;комментарий] |
Метка |
Код операции |
Операнды |
;Комментарий |
MET: |
MOVE |
AX, BX |
;Пересылка |
Рис. 30 Формат директив и машинных команд
команды или инструкции (имя), представляющие собой символические аналоги машинных команд.
В процессе трансляции инструкции ассемблера преобразуются в соответствующие команды системы команд микропроцессора;
макрокоманды (мнемокод)— оформляемые определенным образом предложения текста программы, замещаемые во время трансляции другими предложениями;
директивы (операнды), являющиеся указанием транслятору ассемблера на выполнение некоторых действий. У директив нет аналогов в машинном представлении;
строки комментариев, содержащие любые символы, в том числе и буквы русского алфавита. Комментарии игнорируются транслятором.
Когда мы пишим программу на ассемблере, вы просто пишете команды процессору. Команды процессору - это просто коды или коды операций или опкоды. Опкоды - фактически "читаемый текст"- версии шестнадцатеричных кодов. Из-за этого, ассемблер считается самым низкоуровневым языком программирования, все в ассемблере непосредственно преобразовывается в шестнадцатеричные коды.
Числа в ассемблере могут представляться в двоичной, десятеричной или шестнадцатеричной системе. Для того, чтобы показать в какой системе использовано число надо поставить после числа букву. Для бинарной системы пишется буква b (пример: 0000010b, 001011010b), для десятеричной системы можно ничего не указывать после числа или указать букву d (примеры: 4589, 2356d), для шестнадцатеричной системы надо указывать букву h, шестнадцатеричное число надо обязательно писать с нулём в начале (примеры: 00889h, 0AC45h, 056Fh, неправильно F145Ch, С123h).
По функциональному признаку команды можно разбить на пять больших групп:
1) команды пересылки данных,
2) арифметические команды,
3) логические команды,
4) команды переходов,
5) команды управления.
Существует пять основных способов адресации:
регистровая,
непосредственная,
прямая,
косвенная,
стековая.
В первом случае операнд(ы) располагаются в регистрах микропроцессора (МП), например по команде MOV AX,CX пересылается содержимое CX в AX.
При непосредственной адресации операнд располагается в памяти непосредственно за КОП, инструкция MOV AL,0f5h записывает число 245(f5) в регистр AL.
В случае прямой адресации за КОП следует не сам операнд, а адрес ячейки памяти или внешнего устройства, например команда IN AL,40h вводит байт данных из внешнего устройства с адресом 40h.
Косвенная адресация отличается от регистровой тем, что в регистре хранится адрес операнда, т.е. по команде MOV AL,[BX] в аккумулятор al будет записано число из ячейки памяти с адресом, хранящимся в регистре BX.
Стековая адресация производится к операндам расположенным в области памяти, называемой стек.