Приклади програм, розроблених за технологією емуляції API
операційної системи. Проект з відкритим кодом Wine (Wine Is Not an Emulator), що дозволяє запускати програми, орієнтовані на DOS, Win16 і Win32 під управлінням операційними системами типу Unix; Продукт Win4Lin компанії Netraverse, що дозволяє запускати операційні системи сімейства Windows під управлінням операційної системи Linux; Проект з
відкритим кодом DOSEMU, що дозволяє запускати програми, орієнтовані на MSDOS (також деякі DPMI-програми) під управлінням операційної системи Linux; Проект з відкритим кодом User Mode Linux (UML), що дозволяє запускати кілька копій операційної системи Linux на одному комп’ютері; Технологія Virtuozzo, розроблена російською компанією SWsoft, що дозволяє запускати кілька копій операційної системи Linux на одному комп’ютері.
Програмний емулятор Emu8086
Emu8086 поєднує в собі потужний редактор вихідного коду, асемблер, дизассемблер, програмний емулятор (віртуальний ПК) з налагоджувачем і поетапне навчання.
Візуальний інтерфейс дуже простий в роботі. Ви можете спостерігати регістри, прапорці і пам’ять під час виконання вашої програми.
Арифметико-логічний пристрій (АЛП) показує внутрішню роботу центрального процесора (CPU).
Емулятор виконує програми на віртуальному ПК (рис. 4.5), який повністю унеможливлює доступ з вашої програми до таких реальних апаратних засобів, як жорсткі диски і пам’ять. Оскільки ваш код асемблера виконується на віртуальній машині, то налагодження стає більш легким.
Машинний код 8086 повністю сумісний з усіма, що йшли за ним, поколіннями мікропроцесорів Intel, охоплюючи Pentium II і Pentium 4. Це робить код 8086 дуже привабливим, тому що він виконується як на старих, так і на сучасних комп’ютерних системах. Іншою перевагою є те, що набір команд 8086 порівняно невеликий, і тому вивчити його буде легше.
Emu8086 має легший синтаксис, ніж будь-які інші асемблери, але буде генерувати програму, яка може бути виконана на будь-якому комп’ютері, що підтримує машинний код 8086.
Для створення виконуваної програми мовою Асемблер необхідно мати певне програмне забезпечення: компілятор, укладач (linker) (редактор зв’язків) та налагоджувач (debugger). Існує велика кількість пакетів подібного програмного забезпечення.
Програма пишеться у будь-якому текстовому редакторі та зберігається з довільним ім’ям та розширенням ASM. Такий файл називається вихідним модулем. За допомогою компілятора вихідний модуль перетворюється в об’єктний (файл з тим же ім’ям та розширенням OBJ), паралельно може створюватися і файл лістингу, який має розширення LST. Об’єктний модуль за допомогою редактора зв’язків перетворюється на виконувану програму з розширенням COM або EXE.
Рисунок 4.5 – Програмний емулятор (віртуальний ПК) Emu8086
Достарыңызбен бөлісу: |