Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Пакет Microsoft Macro Assembler





Пакет Microsoft Macro Assembler (MASM) удобное средство для создания программ на языке ассемблера для реального и защищённого режимов процессоров семейства x86.

Основные инструментальные средства, входящие в состав пакета

• pwb - интегрированная среда, включающая в себя редактор текстов программ и позволяющая компилировать модули и запускать программы не выходя из неё;

• cv - интегрированная среда предназначенная для отладки и дизассемблирования программ;

• masm - компилятор с языка Ассемблера;

• link - компоновщик объектных модулей в исполняемую программу;

• ml - компилятор и компоновщик в одном лице.

Замечание. Компилятор masm рекомендуется запускать с ключом /Zi, а компоновщик - с ключом /Co; при этом в объектные модули будет записана отладочная информация. Аналогичные опции рекомендуется установить и в среде pwb.

См. также приложение Создание первого проекта в Microsoft Macro Assembler.

Пакет Turbo Assembler

Пакет Turbo Assembler (TASM) фирмы Borland не имеет единой интегрированной среды, но по популярности не уступает пакету MASM.

Основные инструментальные средства, входящие в состав пакета

• tasm - компилятор с языка Ассемблера;

• tlink - компоновщик объектных модулей в исполняемую программу;

• td - интегрированная среда предназначенная для отладки и дизассемблирования программ.

См. также приложение Использование пакета Turbo Assembler.

Задание

1. Ознакомиться с пакетом OpenWatcom и с пакетом Turbo Assembler (TASM), воспользовавшись следущей программой:

Assume CS:CodeSg, DS:DataSg, SS:StackSg

CodeSg segment 'CODE'

Begin: mov AX, DataSg

mov DS, AX;

Mov AH, 09h

Mov DX, offset message

int 21h;

Mov AX, 4C00h

int 21h;

CodeSg ends;------------------------------------

DataSg segment 'DATA';

message db 'Hello World!', '$';

DataSg ends;------------------------------------

StackSg segment stack 'STACK'

Db 256 dup(0)

StackSg ends;------------------------------------

end begin __

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

3. Произвести отладку программы.

 

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

Структура программы на языке ассемблера. Регистры.

Режимы адресации.

Цель работы

Основные характеристики, области применения ЭВМ различных классов. Изучение устройства компьютера: 2-чная и 16-ричная арифметика.

Регистры процессора.

Базовые знания, необходимые для выполнения данной работы

• Двоичная система счисления.

• Шестнадцатиричный код.

• Понятие регистра, его виды и предназначение.

• Типичная структура и схема микропроцессора.

Теоретические основы

Регистры

Процессоры, программно совместимые с Intel 8086-80286, имеют 14 регистров, используемых для управления выполняющейся программой, для адресации памяти и для обеспечения арифметических вычислений. Каждый регистр имеет длину 16 бит (одно слово) и адресуется по имени. Биты регистра принято нумеровать слева направо:

 

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

 

Процессоры семейства x86-32 (32-х разрядные программно совместимые с процессором Intel i386) расширяют большинство основных регистров до 32-х разрядов, оставаясь при этом программно совместимыми снизу-вверх с прежними 16-ти разрядными процессорами. Поэтому будемобозначать все семейство процессоров начиная с 8086 и заканчивая Pentium 4 и AMD Athlon как семейство x86.

Регистры процессоров семейства x86 можно поделить по назначению на следующие категории:

• сегментные регистры;

• регистры общего назначения;

• регистры-указатели;

• индексные регистры;

• регистр командного указателя;

• регистр флагов.

Сегментные регистры

Каждый сегментный регистр имеет 16-ть разрядов и обеспечивает адресацию непрерывного участка памяти объемом 64 Кбайт, который называется сегментом. Сегменты выравниваются на границу параграфа (16 байт) и таким образом адрес сегмента предполагает наличие справа четырех нулевых битов (xxxx xxxx 0000). Это позволяет иметь максимально адресуемое пространство памяти 1 Мб (2 в степени 20). Сегменты могут пересекаться и использоваться для хранения кода, данных и под стек. Процессор Intel 8086 имел сегментные регистры CS, DS, SS и ES. Начиная с процессора Intel 80286 стали доступны также два дополнительных: FS и GS. Ниже описано назначение каждого сегментного регистра.

Регистр CS. Регистр сегмента кода CS содержит начальный адрес сегмента кода. Этот адрес плюс значение смещения в командном указателе IP определяет адрес команды, которая должна быть выбрана для выполнения. Для многих программ нет необходимости делать ссылки на регистр CS.

Регистр DS. Регистр сегмента данных DS содержит начальный адрес сегмента данных. Этот адрес плюс смещение, определенное в команде, указывают на конкретную ячейку в сегменте данных.

Регистр SS. Регистр сегмента стека SS содержит начальный адрес сегмента стека.

Регистр ES. Некоторые операции над строками используют дополнительные сегментный регистр ES для управления адресацией памяти. В данном контексте этот регистр связан с индексным регистром DI. Если необходимо использовать регистр ES, ассемблерная программа должна его инициализировать.

Регистры FS и GS. Позволяют иметь до 4-х одновременно доступных сегментов данных (включая адресуемые через DS и ES).

Регистры общего назначения

При программировании на языке ассемблера регистры общего назначения являются основными рабочими регистрами. Особенностью этих регистров является то, что возможна использование их не только как единого целого, но и по частям. Так 32-х разрядные регистры имеют в качестве младшей половинки соответствующий 16-ти разрядный регистр (однако, старшая половинка не адресуема). А 16-ти разрядные, в свою очередь имеют адресуемые младшие и старшие одно байтовые половинки.

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

EAX

AX

AH AL

Регистры EBX и BX. Регистры EBX и BX являются базовыми регистрами. Эти регистры общего назначения могут использоваться в качестве "индекса" для расширенной адресации. Другое общее их применение - вычисления.

EBX

BX

BH BL

Регистры ECX и CX. Регистры ECX и CX являются счетчиками. Они необходимы для управления числом повторений циклов и для операций сдвига влево или вправо. Эти регистры используется также для вычислений.

ECX

CX

CH CL

Регистры EDX и DX. Регистры EDX и DX являются регистрами данных. Они применяется для некоторых операций ввода-вывода и тех операций умножения и деления над большими числами, которые используют регистровые пары EDX:EAX или DX:AX.

EDX

DX

DH DL

Все регистры общего назначения могут участвовать в операциях сложения и вычитания как 8-ми, 16-ти и 32-х битовых значений.

Регистры-указатели

Регистры-указатели ESP/SP и EBP/BP обеспечивают системе прямой доступ к данным в сегменте стека. Иногда их используют для операций сложения и вычитания. Регистры SP и BP в 32-х разрядных процессорах являются младшими половинками ESP и EBP соответственно.

Регистры ESP и SP - указатели стека. Указывают на текущую вершину стека.

ESP

SP

Регистры EBP и BP - указатели базы. Используются в адресации по базе. Можно использовать для доступа к данным в стеке без использования команд push/pop.

EBP

BP

При этом регистры SP и BP используется при 16-ти разрядном режиме адресации, а ESP и EBP – при 32-х разрядном.

Индексные регистры

Индексные регистры ESI/SI и EDI/DI используются в индексной адресации. Иногда их используютдля операций сложения и вычитания.

Регистры ESI и SI - индекс источника при операциях со строками.

ESI

SI

Регистр EDI и DI - индекс приемника при операциях со строками.

EDI

DI







Что вызывает тренды на фондовых и товарных рынках Объяснение теории грузового поезда Первые 17 лет моих рыночных исследований сводились к попыткам вычис­лить, когда этот...

Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом...

Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все...

Что делает отдел по эксплуатации и сопровождению ИС? Отвечает за сохранность данных (расписания копирования, копирование и пр.)...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.