 |
::
Меню :: |
 |
|
|
 |
::
Друзі :: |
 |
|
|
 |
::
Лічильники :: |
 |
|
|
|
Система команд процесорів Intel
Нижче приводиться алфавітний
перелік команд процесорів Intel з коротким описом дії кожної команди
і прикладами її використання.
У
розділах статей, що починаються з позначення 386+, описуються відмінності
дії даної команди в сучасних 32-розрядних процесорах (80386,
i486, Pentium). Як правило, ці відмінності полягають в можливості використання
не тільки 8- і 16-розрядних, але і 32-розрядних операндів, а також розширених
режимів адресації пам'яті. Звичайні 16-розрядні програми реального режиму цілком
можуть використовувати розширені регістри процесора (ЕАХ, ЕВХ і інш.), 32-бітові
елементи пам'яті і варіанти команд для їх обробки. Для того, щоб асемблер
правильно транслював команди з 32-розрядними операндами, в програму необхідно
включити директиву асемблера .386 (можна також використовувати директиви .486
або .586), а сегменту команд (і у багатьох випадках сегменту даних) додати описувач
use 16:
.386
codes segment use 16
assume Cs:codes
codes ends
data segment use16
data ends
Окрім цього, необхідно дозволити компонувальнику обробляти 32-розрядні операнди,
що для компонувальника TLINK здійснюється вказівкою ключа /3.
Окремі
статті, що починаються з позначень 386+, 486+ і Pentium+,
присвячені
командам, відсутнім в МП 86. Багато хто з цих команд (наприклад,
команди перевірки бита И або умовної установки байта
set) носить прикладний характер
і може використовуватися в звичайних програмах реального режиму.
Нові команди, реалізовані вперше в МП 80386, зберігають своє значення і в
сучасніших процесорах. Для того, щоб асемблер розпізнає команди МП
80386, в програмі має бути присутньою директива .386.
Нові
команди, реалізовані вперше в МП 80486, зберігають своє значення і в процесорах
Pentium. Для того, щоб асемблер розпізнає команди МП 80486, в
програмі має бути присутньою директива .486.
Для
того, щоб асемблер розпізнавав команди, реалізовані вперше в процесорі Pentium,
в програмі має бути присутньою директива .586.
Ряд команд вимагає для свого виконання спеціальних умов, зазвичай
відсутніх в додатках MS-DOS. Так, наприклад, команда bound (перевірки індексу
масиву на вихід за межі) при виявленні виходу за межі генерує
переривання з вектором 5. Це переривання в захищеному режимі якраз і є виключенням
порушення меж масиву, але в додатках MS-DOS використовується для виводу на
друк вмісту екрану. Тому використання таких команд в реальному режимі
утруднене.
Окремі
статті,
що починаються з позначення 386р+, присвячені привілейованим командам
сучасних процесорів, що працюють в розширеному режимі, і відсутнім
в МП 86. Для використання цих команд в програму необхідно включити директиву
асемблера .386р (можна також використовувати директиви .486р або .586р). Якщо
при цьому програма реалізується, як 16-розрядний додаток
MS-DOS, сегмент
команд повинен мати описувач usc16 (за наявності директиви .386 транслятор за
умовчанням створює 32-розрядне застосування). Слідує, проте, мати на увазі, що
привілейовані команди захищеного режиму призначені для використання
не в прикладних програмах, а в операційних системах захищеного режиму. У
прикладних програмах привілейовані команди доводиться використовувати лише
у вельми спеціальних випадках, коли, наприклад, прикладна програма запускається
в реальному режимі під управлінням MS-DOS, але потім переводить процесор в захищений
режим і далі використовує переваги цього режиму. Типовий приклад програми
такого роду - додаток DOS, якому потрібно використовувати всю оперативну
пам'ять комп'ютера. У справжній книзі, присвяченій, в основному, реальному режиму,
дається лише перерахування привілейованих команд захищеного режиму.
|
|
-
|
 |
::
Наша кнопка :: |
 |
|
 |
Отримати код:
|
Підтримайте наш сайт і розмістіть нашу
кнопку на своєму ресурсі. |
|
|
 |
::
Популярне :: |
 |
|
|
 |
:: Посилання :: |
 |
|
|
|