Определение типа центрального процессора
В некоторых случаях эффективность работы программы можно заметно повысить, если использовать команды новых моделей процессоров Pentium, такие как, например, команды MMX. На сервере Intel с адресом http://www.intel.com вы найдете исчерпывающую информацию о том, как распознать различные модели процессоров, созданных этой фирмой. В нашей книге мы рассмотрим упрощенную методику, которая, тем не менее, может быть использована в большинстве случаев. Программа CPUINFO определяет модель и характеристики процессора, пользуясь только что описанной нами методикой. Полученная информация выводится на консоль в следующем виде: CPU model: 5 Vendor ID: GenuineIntel CPU Signature 00000619 CPU Feature EDX 0000F9FF CPU type: 0 CPU family: 6 CPU model: 1 CPU stepping: 9 FPU detected В листинге 1.1 вы найдете исходный текст модуля, составленного на языке ассемблера. В этом модуле определены все функции, необходимые для распознавания процессора и получения его характеристик. Листинг 1.1. Файл cpuinfo\askcpu.asm Model small CPU_ID MACRO Db 0fh Db 0a2h ENDM Stack 100h Data Public _vendor_id_msg Public _cpu_model Public _cpu_signature Public _features_ecx Public _features_edx Public _features_ebx Public _get_cpu_model _vendor_id_msg db "............", 0dh, 0ah, "$" _cpu_model db 0 _cpu_signature dd 0 _features_ecx dd 0 _features_edx dd 0 _features_ebx dd 0 Code ; ============================================ ; _get_cpu_model ; ============================================ .8086 _get_cpu_model proc Call cpu_8086 Cmp ax, 0 Jz try_80286 Mov _cpu_model, 0 Jmp end_of_detect try_80286: Call cpu_80286 Cmp ax, 0 Jz try_80386 Mov _cpu_model, 2 Jmp end_of_detect try_80386: Call cpu_80386 Cmp ax, 0 Jz try_80486 Mov _cpu_model, 3 Jmp end_of_detect try_80486: Call cpu_80486 Cmp ax, 0 Jz Pent_CPU Mov _cpu_model, 4 Jmp end_of_detect Pent_CPU: Mov _cpu_model, 5 .386 Pusha Mov eax, 00h CPU_ID Mov dword ptr _vendor_id_msg, ebx mov dword ptr _vendor_id_msg[+4], edx mov dword ptr _vendor_id_msg[+8], ecx Cmp eax, 1 Jl end_of_detect Mov eax, 1 CPU_ID Mov _cpu_signature, eax Mov _features_ebx, ebx Mov _features_edx, edx Mov _features_ecx, ecx Popa end_of_detect: .8086 Ret _get_cpu_model endp ; ============================================ ; cpu_8086 ; ============================================ Cpu_8086 proc Pushf Pop ax Mov cx, ax And ax, 0fffh Push ax Popf Pushf Pop ax And ax, 0f000h Cmp ax, 0f000h Je is_8086 Mov ax, 0 Ret is_8086: Mov ax, 1 Ret Cpu_8086 endp ; ============================================ ; cpu_80286 ; ============================================ .286 Cpu_80286 proc Mov ax, 0f000h Push ax Popf Pushf Pop ax And ax, 0f000h Jz is_80286 Mov ax, 0 Ret is_80286: Mov ax, 1 Ret Cpu_80286 endp ; ============================================ ; cpu_80386 ; ============================================ .386 Cpu_80386 proc Pushfd Pop eax Mov ecx, eax Xor eax, 40000h Push eax Popfd Pushfd Pop eax Xor eax, ecx Jz is_80386 Mov ax, 0 Ret is_80386: Push ecx Popfd Mov ax, 1 Ret Cpu_80386 endp ; ============================================ ; cpu_80486 ; ============================================ Cpu_80486 proc Pushfd Pop eax Mov ecx, eax Xor eax, 200000h Push eax Popfd Pushfd Pop eax Xor eax, ecx Je is_80486 Mov ax, 0 Ret is_80486: Mov ax, 1 Ret Cpu_80486 endp End Задание 1. Определите тип центрального процессора. 2. Получить и отобразить на консоли дату изготовления версии BIOS, а также содержимое таблицы конфигурации. 3.Получить информации о конфигурации компьютера при помощи BIOS 5 Контрольные вопросы 1. Определение конфигурации с помощью BIOS 2. Программа HDWCFG Программа BIOSINFO Лабораторная работа №6 Логические команды и команды сдвига микропроцессора Цель работы Организация арифметико-логических устройств (АЛУ), устройств управлений (УУ), системы прерываний.Арифметические операции с использованием сопроцессора Базовые знания, необходимые для выполнения данной работы • устройство микропроцессора (арифметико-логическое устройство); • основные логические операции и таблицу основных логических операций; • понятие сдвига и виды команд сдвига. Теоретические основы Основные логические операции • логическое отрицание (NOT); результат - ИСТИНА, если аргумент - ЛОЖЬ; • конъюнкция/логическое умножение (AND); результат - ИСТИНА, если оба аргумента - ИСТИНА; • дизъюнкция/логическое сложение (OR); результат - ИСТИНА, если хотя бы один аргумент - ИСТИНА; • исключающее ИЛИ (XOR); результат - ИСТИНА, если только один аргумент - ИСТИНА.
Таблица логических операций В МП типа i486/Pentium логические команды могут быть 8-ми, 16-ти и 32-х разрядными, т.е. оперировать, соответственно, байтами, словами и двойными словами. Логические команды Команда NOT Форматы команды NOT r/m8 NOT r/m16 NOT r/m32 Команда выполняет инверсию битов указанного в команде операнда. Команда NOT не влияет на флаги. Пример: MOV AL, 00001111b NOT AL; AL = 11110000b 3.2.2 Команда AND Форматы команды AND AL, imm8 AND AX, imm16 AND EAX, imm32 AND r/m8, imm8 AND r/m16, imm16 AND r/m32, imm32 AND r/m16, imm8 AND r/m32, imm8 AND r/m8, r8 AND r/m16, r16 AND r/m32, r32 AND r8, r/m8 AND r16, r/m16 AND r32, r/m32 Команда может быть использована для сброса битов. Пример: Mov AL, 11111111b and AL, 00001111b; AL = 00001111b 3.2.3 Команда OR Форматы команды те же, что и у AND. Команда может быть использована для установки битов. Пример: Mov AL, 00001111b or AL, 11110000b; AL = 11111111b 3.2.4 Команда XOR Форматы команды те же, что и у AND. Команда может быть использована для обнуления регистров, а также для инвертирования битов. Пример: xor AX, AX; AX = 0000000000000000b Mov AL, 00001111b xor AL, 11111111b; AL = 11110000b 3.2.5 Команда TEST Форматы команды те же, что и у AND. Команда выполняет операцию AND, но не изменяет операнд-приемник. Воздействует на флаги SF, ZF и PF.
Популярное: Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы... Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (444)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |