Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






  • Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом
  • Использование эмулятора Emu8086






    Факультет Вычислительной техники, Информатики и Микроэлектроники.

    Кафедра Микроэлектроники и Биомедицинской Инжинерии

     

     

    Отчет

    По дисциплине: Архитектура компьютеров.

    Лабараторная №2

     

    Тема: Ознакомление с emu8086 и языком assembler.

     

     

    Выполнил: ст.гр.MN-132

    Хорозов А. И.

     

     

    Проверил: Крецу. В.Ю

     

     

    Кишинев 2014

     

    Цель работы: Изучить эмулятор emu8086 и понять программу, написанную на языке assembler.

    Теоретические сведения:

    Программный эмулятор (виртуальный ПК) Emu8086

    Emu8086 сочетает в себе мощный редактор исходного кода, ассемблер, дизассемблер, программный эмулятор (виртуальный ПК) с отладчиком и поэтапное обучение.

    Визуальный интерфейс очень прост в работе. Вы можете наблюдать регистры, флаги и память во время выполнения вашей программы.

    Арифметико-логическое устройство (АЛУ) показывает внутреннюю работу центрального процессора (CPU).

    Эмулятор выполняет программы на виртуальном ПК, который полностью исключает возможность доступа из вашей программы к реальным аппаратным средствам, таким как жесткие диски и память.

    Машинный код 8086 полностью совместим со всеми последовавшими за ним поколениями микропроцессоров Intel, включая Pentium II и Pentium 4.

     

    Использование эмулятора Emu8086

    Напечатайте ваш код внутри текстовой области, и после щелчка кнопки [Compile]. Вас спросят о месте, где сохранить компилируемый файл.

    После успешной компиляции Вы можете щелкать кнопку [Emulate], чтобы загрузить компилируемый файл в эмуляторе.

     

    2) произвести исследование области памяти

     

    В памяти перечисляют первую строку - смещение, вторая строка - значение hexadecimal, третья строка - десятичное значение, и последняя строка - значение символа ASCII.

    Кнопка [Single Step] выполняет команды, один за другим останавливающие после каждой команды.

    [Run] кнопка выполняет команды один за другим с задержкой, установленной задержкой шага между командами.

    Дважды щелкните на текстовых полях регистра, открывается окно " Extended Viewer " со значением того регистра, преобразованного ко всем возможным формам. Вы можете изменять значение регистра непосредственно в этом окне.

    Дважды щелкните на элементе списка памяти, открывается " Extended Viewer" со значением WORD, загруженным со списка памяти в выбранном местоположении. Менее существенный байт - в младшем адресе: LOW BYTE загружен от выбранной позиции и HIGH BYTE от следующего адреса памяти. Вы можете изменять значение слова памяти непосредственно в окне " Extended Viewer",

    Вы можете изменять значения регистров во времени выполнения, печатая по существующим значениям.

    Кнопка [Flags] позволяет Вам рассматривать и изменять флажки на времени выполнения.


    Компиляция кода Ассемблера

    Директивы, определяющие тип исполнимого файла:

    #MAKE_COM#

    #MAKE_BIN#

    #MAKE_BOOT#

    #MAKE_EXE#

    Вы можете вставить эти директивы в исходный код для определения нужного вам типа исполнимого файла. В том случае, если компилятор не найдет ни одной из этих директив, он спросит у вас тип файла перед его созданием.

     

    Описание типов исполнимых файлов:

     

    #MAKE_COM# - самый старый и самый простой формат исполнимого файла. Такие файлы загружаются с префиксом 100h (256 байтов). Выберите СОМ Template из меню New, если вы планируете компилировать COM-файл. Директива компилятора ORG 100h должна быть добавлена перед кодом. Выполнение всегда начинается с первого байта файла. Поддерживается командной строкой DOS и Windows.

    #MAKE_EXE# - более " продвинутый" формат исполнимого файла. Не ограничены размер и количество сегментов. Сегмент стека должен быть определен в программе. Вы можете выбрать EXE Template из меню New для создания простой ЕХЕ-программы с определенными сегментмами Данных, Стека и Кода. Точка входа (где начинается выполнение) определяется программистом. Поддерживается командной строкой DOS и Windows.

    #MAKE_BIN# - простой исполнимый файл. Вы можете определить значения всех регистров, сегмент и смещение для области памяти, куда этот файл будет загружен. Если загрузить файл " MY. BIN" в эмулятор, он будет виден для файла - " MY. BINF" и загрузится файл " MY. BIN" в местоположение, определенное в файле " MY. BINF". Регистры также установятся с учетом информации из этого файла (откройте этот файл в редакторе для изменения или изучения). В том случае, если эмулятор не найдет файл " MY. BINF", будет использоваться текущие значения регистров и файл " MY. BIN" загрузится в текущий CS: IP.

    Выполнение начинается со значения в CS: IP.

    Этот тип файла уникален для Emu8086.

    Файл ". BINF создается автоматически компилятором, если он находит директиву #MAKE_BIN#.

    ПРЕДУПРЕЖДЕНИЕ! если файл ". binf" существует, то он будет перезаписан!

    #MAKE_BOOT# - эта директива копирует первую дорожку дискеты (загрузочный сектор).

    Вы можете записать загрузочный сектор виртуального дисковода (FLOPPY_0) через меню эмулятора:

    [Virtual Drive] - > [Write 512 bytes at 7C00 to Boot Sector] Сначала вы должны откомпилировать ". boot" -файл, а затем загрузить его в эмулятор (см. " micro-os_loader. asm" и " micro-os_kernel. asm" в разделе " Samples").

    Затем выберите в меню [Virtual Drive] - > [Boot from Floppy], чтобы загрузить эмулятор с виртуального дисковода.

     

    При сохранении компилируемого файла, компилятор также сохраняет 2 других файла, которые используются эмулятором для отображения фактического исходного кода при его исполнении и выборе соответствующей строки.

    asm - этот файл содержит оригинальный исходный код, который был использован для создания исполнимого файла.

    debug - этот файл содержит информацию, которая позволяет эмулятору выбирать строки оригинального исходного кода во время выполнения машинного кода.

    symbol - Таблица символов. Она содержит информацию, которая позволяет отображать окно " Variables" (Переменные). Это текстовый файл, так что вы можете посмотреть его из текстового редактора.

    binf - этот файл содержит информацию, которая используется эмулятором для загрузки BIN-файла в указанное местоположение, и установки значений регистров предшествующих выполнению (создается только в том случае, если исполнимый файл - это BIN-файл).

     

    Редактор исходного кода

    Горячие клавиши редактора:






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.