slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Архитектура ЭВМ PowerPoint Presentation
Download Presentation
Архитектура ЭВМ

Loading in 2 Seconds...

play fullscreen
1 / 26

Архитектура ЭВМ - PowerPoint PPT Presentation


  • 215 Views
  • Uploaded on

Архитектура ЭВМ. Практика 2 . Основы ассемблера. Введение. Информация по Ассемблеру. Питер Абель. Язык Ассемблера для IBM PC и программирования. М. «Высшая школа», 1992. Юров В.И. Assembler . Сн.П . «Питер», 2000. Зубков С.В. Assembler для DOS, Windows и UNIX. М. «Питер», 2004.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Архитектура ЭВМ' - ryu


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

Архитектура ЭВМ

Практика 2.

Основы ассемблера.

slide3
Информация по Ассемблеру
  • Питер Абель. Язык Ассемблера для IBM PC и программирования. М. «Высшая школа», 1992.
  • Юров В.И. Assembler. Сн.П. «Питер», 2000.
  • Зубков С.В. Assembler для DOS, Windows и UNIX. М. «Питер», 2004.
  • Компьютерные учебники, справочники и методические разработки (например, http://oplk.narod.ru/Html/Index_Asm.htm)
  • Лекции.
slide4
Ассемблер
  • На аппаратном уровне компьютер «понимает» только язык машинных команд (двоичный код).
  • Язык ассемблера — это символическое представление машинного языка.
slide6
Регистры процессора
  • Регистр – это элемент памяти микропроцессора для временного хранения данных.
  • Каждый регистр процессора имеет своё обозначение и функциональное назначение.
  • Существует 16 пользовательских регистров.
slide7
Регистры процессора

Регистры состояния и управления:

Регистры общего назначения (РОН):

Регистры

сегментов:

slide8
Пользовательские регистры
  • AX (AH/AL) (Accumulator register) — аккумулятор. Применяется для хранения промежуточных данных. Например, команды умножения, деления и сдвига предполагают использование регистра AX.
  • BX (BH/BL ) (Base register) — базовый регистр. Применяется для хранения базового адреса некоторого объекта в памяти. Может использоваться в качестве "индекса" для расширенной адресации.
  • CX (CH/CL) (Count register) — регистр-счетчик. Применяется в командах, производящих некоторые повторяющиеся действия. Его использование зачастую неявно и скрыто в алгоритме работы соответствующей команды. К примеру, команда организации цикла loop кроме передачи управления команде, находящейся по некоторому адресу, анализирует и уменьшает на единицу значение регистра CX;
  • DX (DH/DL) (Data register) — регистр данных. Так же, как и регистр AX, он хранит промежуточные данные. В некоторых командах его использование обязательно; для некоторых команд это происходит неявно.
slide9
Регистры сегментов
  • Отвечают за хранение базового адреса сегментов данных, кода, стека и дополнительных данных.
    • CS (codesegment) —содержит адрес сегмента с машинными командами, к которому имеет доступ микропроцессор (то есть эти команды загружаются в конвейер микропроцессора).
    • DS (datasegment) —хранит адрес сегмента данных текущей программы.
    • SS (stack segment) - содержит адрес сегмента стека. Работа со стеком организуется по принципу: последний записанный в эту область элемент выбирается первым.
    • ES, GS, FS - дополнительный сегмент данных
slide11
Регистр указателя команды
  • Регистр IP (Instraction Pointer) содержит смещение следующей подлежащей выполнению команды относительно содержимого регистра кода CSв текущем сегменте команд.
slide13
Организация доступа к памяти
  • Используется «Сегментированная модель» доступа к памяти.
    • Адрес начала сегмента хранится в соответствующем регистре.
    • Внутри сегмента программа обращается к адресам относительно начала сегмента линейно, т.е. начиная с 0 и заканчивая адресом, равным размеру сегмента. Этот относительный адрес, или смещение, который микропроцессор использует для доступа к данным внутри сегмента, называется эффективным.
slide14
Организация доступа к памяти (2)
  • Диапазон изменения физического адреса в реальном режиме от 0 до 1 Мбайт.
  • Максимальный размер сегмента 64 Кбайт. Это объясняется 16-разрядной архитектурой регистров. Максимальное значение, которое может содержать 16-ти разрядный регистр равно:2(16-1)= 65535 = 64 Кбайт
slide15
Организация доступа к памяти (3)
  • В сегментном регистре содержаться только старшие 16 бит физического адреса начала сегмента.
  • Недостающие младшие 4 бита 20-битного адреса получаются сдвигом в сегментном регистре влево на 4 разряда.
slide16

FFFFF

Физический адрес

Эффективный адрес

...

Сегменты

Смещение

+

Адрес

Сегментный

регистр

<< 4

00000

Память

Организация доступа к памяти (4)
slide17
Пример формирования физического адреса
  • Пусть содержимое сегментного регистра равно:

1А62h

  • После сдвига влево на 4 разряда получим:

1А620h

  • Смещение пусть равно:

01B5h

  • К физическому адресу начала сегмента прибавляется смещение:

1А620h

+ 01B5h

---------

1A7D5

slide19
Разработка программ на ассемблере

Текстовый редактор

Компоновщик

(ALINK.EXE)

Транслятор

(TASM.EXE)

Отладчик

(AFDPRO.EXE)

slide20
Запуск транслятора, компоновщика, отладчика
  • Трансляция - процесс формирования объектного модуля из текстового файла *.asm. Трансляция выполняется следующей командой(например):

C:\TASM\tasm.exemyfile.asm

    • Компоновка - процесс формирования загрузочного модуля из нескольких объектных модулей. Компоновка выполняется следующей командой (например):

C:\TASM\alink.exemyfile.obj

    • Отладка - процесс выполнения разработанной программы с целью проверки её работы. Отладка выполняется следующей командой (например):

C:\TASM\afdpro.exemyfile.exe

afd pro
Отладчик AFD PRO
  • Выход из отладчика – выполнить команду quit, написав ее в строке CMD
slide24
Практическое задание
  • Написать исходный текст программы «Перевод в систему счисления». Скомпилировать и запустить программу в отладчике. Проверить правильность работы программы при переводе в системы счисления с основанием 2, 8, 10.
  • Модифицировать текст программы так, чтобы проверить, правильно ли производится перевод в систему счисления c основанием 16. Объяснить полученный результат.
slide25
Работа
  • Ввести текст программы.
  • Скомпилировать программу посредством TASM.EXE и ALINK.EXE, запустить программу в отладчике AFD PRO и пошагово выполнить программу.Сделать скриншот работы программы в отладчике перед началом вывода результата на экран.
  • Сформировать тестовые примеры для перевода чисел из системы счисления 16 в системы счисления 2, 8, 10. Вручную выполнить перевод. Сравнить результаты с работой приложения.
  • Сформировать тестовые примеры для перевода чисел в систему счисления с основанием 16. Вручную выполнить перевод. Сравнить результаты с работой приложения. Объяснить результат.
slide26
Отчет

должен содеpжать:

  • Текст приложения.
  • Алгоритм работы приложения (т.е. смысл действий, описанных программой).
  • Скриншот выполнения приложения в отладчике AFD PRO.
  • Тестовые примеры перевода чисел из одной системы счисления в другую.
  • Описание модификации текста приложения, обеспечивающие реализацию тестов.
  • Результаты работы тестового приложения на примерах.