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


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

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






Порядок выполнения лабораторных работ





 

Для изучения основ ассемблера был выбран микропроцессор семейства Intel P6, как самый распространенный и широкодоступный микропроцессор, так как он чаще всего устанавливается в современных персональных компьютерах. Как уже упоминалось во введении, языков ассемблера много. Все их изучить нет ни времени в учебном курсе, ни необходимости. Однако, изучая ассемблер для одного из передовых, мощных, современных микропроцессоров, какими являются процессоры семейства Intel P6, автоматически охватываются все процессоры семейств x86, IA32, на уровне мнемоники MCS-51 и т.д., и формируются фундамент для быстрого изучения любого ассемблера и микропроцессора.

Средой для изучения ассемблера выбрана интегрированная среда быстрой разработки приложений Delphi (IDE RAD Delphi), основанная на языке Pascal и возможности делать в тексте программы ассемблерные вставки. Такой подход видится предпочтительным, так как язык Pascal изучается с первого курса, нет необходимости заниматься программированием интерфейса для ввода и вывода данных в программе на ассемблере, наличие встроенного отладчика на уровне CPU и т.д.

Чтобы сосредоточиться на изучении именно языка ассемблера и не терять каждый раз время на подготовку формы главного окна проекта и небольшого сервисного кода, создадим единожды заготовку такого приложения и сохраним его в репозитории (Repository) – специальном механизме, реализованном в Delphi, для сохранения заготовок программных проектов.

На первом шаге создадим новый проект в Delphi. Для этого, после запуска Delphi, последовательно выбираем меню «File→New►VCL Forms Application – Delphi for Win32» (см. рис. 1)

Рисунок 1. Создание нового проекта приложения на Delphi, основанного на библиотеке визуальных компонентов, для Win32

Форму главного окна приложения «растягиваем» по высоте на всю видимую часть экрана. На форму перетаскиваем из палитры компонентов объект Memo, три объекта Button и PrinterSetupDialog. При этом объекты Button размещаем на одной горизонтальной линии внизу вплотную к нижней границе формы, а объект Memo располагаем в левом верхнем углу формы и «растягиваем» вплотную к Button. Заголовки объектов Button меняем на «Выполнить», «Печать» и «Выход», изменяя соответствующим образом их свойство Caption в окне инспектора объектов. Объект Memo предназначен для вывода дампа памяти, который имеет традиционную форму отображения, а для этого необходимо установить, так называемый, «моноширийный» шрифт. Таким шрифтом является, например, Courier New. Для этого делаем активным объект Memo1, в инспекторе объектов выбираем свойство Font, нажимаем на кнопку с троеточием напротив свойства Font в инспекторе объектов и настраиваем шрифт «Courier New», начертание «обычный», размер «10» (см. рис. 2)

 

Рисунок 2. Вид главного окна приложения для изучения ассемблера и настройка свойства Font объекта Memo1.

На этом же рисунке 2 видно, как должна выглядеть форма главного окна приложения.

Далее, остается создать обработчики событий для объектов Button. Текст программы обработчиков событий приведен ниже:

{Обработчик событий для кнопки «Выполнить»}

procedure TForm1.Button1Click(Sender: TObject);

Const

DataSize = $200;

Var

Data: Array [1..DataSize] of Byte;

i: Integer;

S: String;

Begin

for i:= 0 to DataSize do

Data[i]:= 0;

 

Asm

PUSHAD

LEA r32,Data {r32 – любой, выбранный Вами РОН (EAX,EBX,ECX и т.д.)}

 

{Здесь пишется текст программы на языке ассемблера}

{по выполняемой лабораторной работе}

 

POPAD

end;

 

S:= '0000:';

for i:= 1 to DataSize do

if i mod 16 = 0 then

Begin

Memo1.Lines.Add(S);

S:= IntToHex(i,4)+':';

End

Else

S:= S + ' ' + IntToHex(Data[i],2); { - обозначает пробел}

end;

 

{Обработчик событий для кнопки «Печать»}

procedure TForm1.Button2Click(Sender: TObject);

Begin

Date: 2015-10-19; view: 442; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию