
- •Содержание
- •1. Введение
- •2. Представление информации в эвм
- •2.1. Системы счисления
- •2.1.1. Основные понятия
- •2.1.2. Системы счисления, используемые в вычислительной технике
- •2.1.3. Перевод чисел из одной системы счисления в другую
- •2.2. Типы данных
- •2.2.1. Типы данных, используемых в эвм
- •2.2.2. Константы
- •2.2.3. Логические величины
- •2.2.4. Символьные величины
- •2.2.5. Целые числа
- •2.2.6. Вещественные числа
- •2.3. Форматы команд
- •3. Основы построения эвм
- •3.1. Немного истории
- •3.2. Особенности архитектуры современной вычислительной машины
- •3.2.1. Основные понятия
- •3.2.2. Структурная организация машины
- •3.3. Вариант структуры микроЭвм
- •3.3.1. Общая структура машины
- •3.3.2. Процессор
- •3.3.3. Оперативная память
- •3.3.4. Системная память
- •3.3.5. Система адресации
- •3.3.6. Виртуальная память
- •3.3.7. Таймер
- •3.3.8. Внешние устройства
- •3.3.9. Принципы обмена информацией с внешними устройствами
- •Некоторые вопросы программного обеспечения
- •4.1. О программном обеспечении
- •4.2. Процесс компиляции
- •4.3. Компиляция с языка Ассемблера
- •5. Особенности архитектуры эвм типа ibm-рс
- •5.1. Введение
- •5.2. Исторический обзор процессоров клона 80х86
- •5.3. Классификация процессоров Intel 80х86
- •5.4. Особенности периферийных устройств ibm-pc
- •5.5. Характеристики компьютера
- •5.6. Сегментная адресация
- •5.7. Особенности распределения адресного пространства в компьютерах ibm-pc
- •5.7.1. Стандартная оперативная память (Conventional memory)
- •5.7.2. Область верхней памяти (Upper Memory Area ‑ uma)
- •5.7.3. Область высшей памяти (High Memory Area ‑ hma)
- •5.7.4. Расширенная память (eXtended Memory Specification — xms)
- •5.7.5. Дополнительная память (Expanded Memory Specification — ems)
- •5.8. Обмен информацией с периферийными устройствами
- •5.8.1. Порты ввода/вывода
- •5.8.2. Использование адресного пространства памяти
- •5.8.3. Прямой доступ к памяти
- •5.9. Прерывания
- •5.10. Начальный запуск эвм
- •5.11. Регистры процессора
- •5.11.1. Регистры общего назначения
- •5.11.2. Указатель инструкций
- •5.11.3. Регистр флагов и управляющие регистры
- •5.11.4. Регистры сегментов и селекторов
- •5.11.5. Системные адресные регистры
- •5.11.6. Регистры отладки
- •5.11.7. Регистры тестирования и модельно-специфические регистры
- •6. Debug — средство непосредственной коррекции и отладки загрузочного кода программ
- •6.1. Введение
- •6.1.1. Команды без аргумента
- •Input I порт
- •6.1.2. Команды обращения к ячейкам
- •15D0:010c bfffff mov di,ffff
- •15D0:010f 57 push di
- •6.1.3. Команды запуска программы
- •6.1.4. Команды просмотра и модификации регистров
- •7. Методы адресации
- •7.1. Введение
- •7.2. Регистровый метод адресации
- •159B:0101 1e push ds
- •159B:0101 1e push ds
- •159B:0101 1e push ds
- •7.3. Непосредственный метод адресации
- •7.4. Прямая адресация
- •7.5. Косвенная регистровая адресация
- •159B:0100 not word ptr [bx]
- •159B:0102 e000 loopnz 0104
- •7.6. Адресация по базе
- •7.7. Косвенная регистровая адресация с индексированием
- •159B:0102 0e push cs
- •7.8. Адресация по базе с индексированием
- •7.9. Относительная адресация
- •7.10. Косвенная регистровая адресация с масштабированием
- •7.11. Адресация по базе с индексированием и масштабированием
- •8. Синтаксис ассемблера
- •8.1. Директивы определения данных
- •8.1.1. Определение переменных
- •Cимвольные строки
- •Числовые данные
- •Примеры:
- •8.2. Выражения
- •8.3. Непосредственные операнды
- •8.4. Структуры
- •8.5. Сегменты
- •8.6. Модели памяти и упрощенные директивы определения сегментов
- •8.7. Упрощенные директивы описания сегментов
- •8.8. Создание программы на ассемблере
- •8.9. Получение выполняемого файла
- •9. Система команд
- •9.1. Классификация команд по операндам
- •9.2. Классификация команд по действию
- •9.2.1. Команды пересылки данных
- •9.2.2. Арифметические команды
- •8.2.3. Команды манипуляции битами
- •9.2.4. Управление центральным процессором
- •9.2.4. Команды передачи управления
- •Iret, iretd
- •9.3. Краткий список команд с используемыми операндами
- •9.3.1. Условные обозначения:
- •9.3.2. Инструкции пересылки данных
- •9.3.3. Арифметические, логические и инструкции сдвига
- •9.3.4. Инструкции обработки строк
- •9.3.5. Инструкции передачи управления
- •9.3.6. Инструкции управления процессором
- •Литература
Какую работу нужно написать?
9.3.6. Инструкции управления процессором
Код оп. |
Операнды |
Функция |
STC |
|
установка флага переноса |
CLC |
|
сброс флага переноса |
CMC |
|
дополнение флага переноса |
STD |
|
установка флага направления |
CLD |
|
сброс флага направления |
STI |
|
установка флага разрешения прерывания |
CLI |
|
сброс флага разрешения прерывания |
HLT |
|
останов системы |
WAIT |
|
ожидание активности шины TEST |
ESC |
immed,r/m |
переключение кода для внешнего процессора с 6-битовым непосредственным и операндом |
LOCK |
|
блокировка шины при выполнении следующей команды |
NOP |
|
нет операции |
Литература
Абель П. Язык ассемблера для IBM PC и программирования/ Пер. с англ. - М.: Высш. шк., 1992. - 447 с.
Айден К., Фибельман К., Крамер М. Аппаратные средства PC – 1995/ Пер. с англ. – СПб.: BHV, 1996. - 544 с.
Гук М. Процессоры Pentium II, Pentium Pro и просто Pentium. СПб.: Питер, 1999. 288 с.
Джордейн Р. Справочник программиста персональных компьютеров IBM PC, XT и AT / Пер. с англ. - М.: Финансы и статистика, 1992. - 544 с.
Зубков С. В. Assembler для DOS, Windows и UNIX. – М.: ДМК, 1999. 640 с.
Кулаков В. Программирование на аппаратном уровне. Специальный справочник. – СПб.: Питер, 2001. 496 с.
Лямин Л.В. Макроассемблер MASM. - М.:Радио и связь, 1994. - 320 с.
Мячев А.А., Степанов В.Н. Персональные ЭВМ и микроЭВМ. Основы организации: Справочник/ Под ред. А.А.Мячева. - М.: Радио и связь, 1991. - 320 с.
Михальчук В.М. и др. Микропроцессоры 80х86, Pentium: Архитектура, функционирование, программирование, оптимизация кода. – Мн.: Битрикс, 1994. – 400 с.
Нортон П., Соухе Д. Язык ассемблера для IBM PC/ Пер. с англ.- М.: Компьютер; Финансы и статистика, 1992. - 352 с.
ProGroup Аппаратура персональных компьютеров и ее программирование. IBM PC/XT/AT и PS/2 - М.: Радио и связь, 1995. - 224 с.
Скэнлон Л. Персональные ЭВМ IBM PC и XT. Программирование на языке ассемблера/ Пер. с англ. - М.: Радио и связь, 1991. - 336 с.
Страусс Э. Микропроцессор 80286/Пер. с англ. - Рязань: Versus Ltd., 1992. - 224 с.
Финогенов К.Г. Самоучитель по системным функциям MS-DOS. - М.: Радио и связь, Энтроп, 1995. - 382 с.
1 Материнская (системная) плата – центральная плата ЭВМ, на которой расположен процессор, необходимые контроллеры и разьемы плат расширения и ОЗУ.
2 В различной литературе название расшифровывается и как «пятый», по номеру семейства, и по фамилии – Пентковский – российского инженера, который работал в фирме Intel во главе команды разработчиков процессора 80586.
3 Здесь мы не будем касаться более ранних процессоров, таких как 4004, 8008, 8080, 8085, а так же их версии от других фирм (Z80 от фирмы Zilog) – начнем с первого 16-и разрядного процессора.
4Advanced Peripheral Interrupt Controller (APIC) – усовершенствованный контроллер прерываний. К сожалению, авторам не удалось найти какой-либо информации о его возможностях.
5 Программно включать, разумеется, можно только косвенно: по внешнему событию или таймеру.
6 Чипсет: набор микросхем, физически расположенных на системной плате ЭВМ, включающий: необходимые для функционирования процессора и ОЗУ компоненты (например, тактовый генератор); ряд обязательных для IBM-PC контроллеров (например: контроллер прерываний или контроллер клавиатуры); интегрированные на системную плату периферийные устройства (например, контроллер IDE-устройств).
7 Название этого флажка различается в [2] и [3].