- •1.Архитектуры вычислительных систем.
- •2.Архитектура многопроцессорных систем.
- •3.Классификация вычислительных систем.
- •4.Классификация процессоров.
- •5.Регистровая модель процессора x86.
- •6.Режимы работы процессора 80386.
- •1.Реальный режим
- •2. Защищенный режим
- •7.Процессор х86: непосредственная и регистровая адресация.
- •8.Процессор х86: прямая адресация и прямая со сдвигом.
- •9.Процессор х86: косвенная адресация и косвенная со сдвигом.
- •10.Процессор х86: индексная адресация и индексная с масштабированием.
- •11.Размещение в памяти многомерных статических массивов и доступ к их элементам.
- •15.Процессор х86: инструкции копирования данных.
- •16.Процессор х86: инструкции ввода-вывода.
- •17.Представление целых чисел: прямой код, дополнительный код, bsd.
- •18.Процессор х86: инструкции сложения, сложения с переносом.
- •19.Процессор х86: сложение чисел в формате bcd.
- •20.Процессор х86: инструкции вычитания, вычитания с заемом.
- •21.Процессор х86: инструкции умножения.
- •22.Процессор х86: инструкция деления.
- •23.Процессор х86: операции расширения знакового бита.
- •24.Процессор х86: поразрядные логические инструкции, использование масок.
- •25.Процессор х86: инструкции сдвига. Умножение и деление на константы.
- •26.Процессор х86: инструкции цикла. Отличие от циклах в языках высокого уровня.
- •27.Процессор х86: Ожидание готовности пу с тайм-аутом на основе цикла.
- •28.Процессор х86: безусловный переход и виды меток.
- •29.Процессор х86: вызов процедуры и прерывания (рамка стека функции в с).
- •30.Процессор х86: инструкции условного перехода.
- •31.Процессор х86: строковый примитив копирования данных.
- •32.Процессор х86: строковые примитивы сравнения данных, сканирования данных и заполнения данных.
- •33.Сегменты реального и защищенного режима. Глобальная и локальная таблицы дескрипторов.
- •34.Механизм преобразования линейного адреса в физический в процессоре x86.
- •46.Математический сопроцессор: инструкции вычисления функций.
- •47. Математический сопроцессор: инструкции сравнения и условный переход по результатам сравнения
- •48.Математический сопроцессор: регистры управления и состояния.
- •49.Математический сопроцессор: исключения и их маскирование.
- •50. Дисковые накопители. Логическая и физическая геометрия жесткого диска, линейная адресация.
- •51. Разделы жесткого диска. Осуществление загрузки.
- •53. Стек tcp/ip и его соответсвие 7 уровневой модели osi iso.
- •54.Пример передачи и приема пакета в стеке tcp/ip.
- •55. Ip и mac адреса. Служба arp. Классы ip адресов.
- •56.Маршрутизация и таблицы маршрутизатора.
- •57.Доменные имена и служба dns.
- •58.Статические и динамические ip адреса. Служба dhcp.
47. Математический сопроцессор: инструкции сравнения и условный переход по результатам сравнения
Команда: |
FCOM источник |
Назначение: |
Сравнить вещественные числа |
Команда: |
FCOMP источник |
Назначение: |
Сравнить и вытолкнуть из стека |
Команда: |
FCOMPP источник |
Назначение: |
Сравнить и вытолкнуть из стека два числа |
Процессор: |
8087 |
Команды выполняют сравнение содержимого регистра ST(0) с источником (32- или 64-битная переменная или регистр ST(n), если операнд не указан — ST(1)) и устанавливают флаги С0, С2 и С3 в соответствии с таблицей 14.
Таблица 14. Флаги сравнения FPU
Условие |
C3 |
C2 |
C0 |
ST(0) > источник |
0 |
0 |
0 |
ST(0) < источник |
0 |
0 |
1 |
ST(0) = источник |
1 |
0 |
0 |
Не сравнимы |
1 |
1 |
1 |
Если один из операндов — не-число или неподдерживаемое число, происходит исключение «недопустимая операция», а если оно замаскировано (флаг IM = 1), все три флага устанавливаются в 1. После команд сравнения с помощью команд FSTSW и SAHF можно перевести флаги С3, С2 и С0 в соответственно ZF, PF и CF, после чего все условные команды (Jcc, CMOVcc, FCMOVcc, SETcc) могут использовать результат сравнения, как после команды СМР.
Команда FCOMP после выполнения сравнения выталкивает из стека содержимое ST(0) (помечает его как пустой и увеличивает ТОР на 1), а команда FCOMPP выталкивает из стека и ST(0), и ST(1).
Команда: |
FUCOM источник |
Назначение: |
Сравнить вещественные числа без учета порядков |
Команда: |
FUCOMP источник |
Назначение: |
Сравнить без учета порядков и вытолкнуть из стека |
Команда: |
FUCOMPP источник |
Назначение: |
Сравнить без учета порядков и вытолкнуть из стека два числа |
Процессор: |
80387 |
Эти команды аналогичны FCOM/FCOMP/FCOMPP во всем, кроме того, что в роли источника могут выступать только регистры ST(n), и если один из операндов — QNAN («тихое» не-число), флаги С3, С2, С0 устанавливаются в единицы, но исключение «недопустимая операция» не вызывается. Если один из операндов — SNAN или неподдерживаемое число, эти команды ведут себя так же, как и обычное сравнение.
Команда: |
FICOM источник |
Назначение: |
Сравнить целые числа |
Команда: |
FICOMP источник |
Назначение: |
Сравнить целые и вытолкнуть из стека |
Процессор: |
8087 |
Эти команды сравнивают содержимое регистра ST(0) и источника (16- или 32-битная переменная), причем считается, что источник содержит целое число. В остальном действие FICOM/FICOMP полностью эквивалентно FCOM/FCOMP.
Команда: |
FCOMI источник |
Назначение: |
Сравнить и установить EFLAGS |
Команда: |
FCOMIP источник |
Назначение: |
Сравнить, установить EFLAGS и вытолкнуть |
Команда: |
FUCOMI источник |
Назначение: |
Сравнить без учета порядков и установить EFLAGS |
Команда: |
FUCOMIP источник |
Назначение: |
Сравнить без учета порядков, установить EFLAGS и вытолкнуть из стека |
Процессор: |
P6 |
Выполняет сравнение регистра ST(0) и источника (регистр ST(n)) и устанавливает флаги регистра EFLAGS соответственно таблице 15.
Таблица 15. Флаги после соманд FCOMI
Условие |
ZF |
PF |
CF |
ST(0) > источник |
0 |
0 |
0 |
ST(0) < источник |
0 |
0 |
1 |
ST(0) = источник |
1 |
0 |
0 |
Не сравнимы |
1 |
1 |
1 |
Эти команды эквивалентны командам FCOM/FCOMP/FUCOM/FUCOMP, вслед за которыми исполняются FSMSW АХ и SAHF, но они не изменяют содержимого регистра АХ и выполняются быстрее.
Команда: |
FTST |
Назначение: |
Проверить, не содержит ли SP(0) ноль |
Процессор: |
8087 |
Сравнивает содержимое ST(0) с нулем и выставляет флаги С3, С2 и С0 аналогично другим командам сравнения.
Команда: |
FXAM |
Назначение: |
Проанализировать содержимое ST(0) |
Процессор: |
8087 |
Устанавливает флаги С3, С2 и С0 в зависимости от типа числа, находящегося в ST(0), в соответствии с правилами, приведенными в таблице 16.
Флаг С1 устанавливается равным знаку числа в ST(0) независимо от типа числа (на самом деле он устанавливается, даже если регистр помечен как пустой).
Таблица 16. Результаты действия команды FXAM
Тип числа |
C3 |
C2 |
C0 |
Неподдерживаемое |
0 |
0 |
0 |
Не-число |
0 |
0 |
1 |
Нормальное конечное число |
0 |
1 |
0 |
Бесконечность |
0 |
1 |
1 |
Ноль |
1 |
0 |
0 |
Регистр пуст |
1 |
0 |
1 |
Денормализованное число |
1 |
1 |
0 |